mediawiki / semantic-cite
A Semantic MediaWiki extension to manage citation resources.
Installs: 9 387
Dependents: 1
Suggesters: 0
Security: 0
Stars: 24
Watchers: 14
Forks: 13
Open Issues: 17
Type:mediawiki-extension
Requires
- php: >=7.4
- composer/installers: ^1.0.12
- mediawiki/http-request: ~2.0|~1.1
- mediawiki/semantic-media-wiki: ~3.0|~4.0
- onoi/cache: ~1.2
- onoi/remi: ~0.2
Requires (Dev)
README
Semantic Cite (a.k.a. SCI) is a Semantic Mediawiki extension that provides a simple way of organizing citation resources with the help of semantic annotations.
It can be used to centralize the management of citation resources and foster the reuse of references stored within a wiki. Supported features include:
- Self-added and customizable reference list
- Individual property annotation and text formatting rules
- In-text reference tooltip
- Bibtex record import support
- Metadata retrieval from selected providers (PubMed, CrossRef etc.)
Several short videos demonstrate "How Semantic Cite can be used or is expected to work".
Requirements
- PHP 7.4 or later
- MediaWiki 1.35 or later
- Semantic MediaWiki 3.0 or later
Semantic Cite does not require nor uses any part of extension Cite (or <ref>
tags) as a means to declare
a citation resource.
Installation
The recommended way to install Semantic Cite is using Composer with MediaWiki's built-in support for Composer.
Note that the required extension Semantic MediaWiki must be installed first according to the installation instructions provided.
Step 1
Change to the base directory of your MediaWiki installation. If you do not have a "composer.local.json" file yet, create one and add the following content to it:
{
"require": {
"mediawiki/semantic-cite": "~3.0"
}
}
If you already have a "composer.local.json" file add the following line to the end of the "require" section in your file:
"mediawiki/semantic-cite": "~3.0"
Remember to add a comma to the end of the preceding line in this section.
Step 2
Run the following command in your shell:
php composer.phar update --no-dev
Note if you have Git installed on your system add the --prefer-source
flag to the above command.
Step 3
Add the following line to the end of your "LocalSettings.php" file:
wfLoadExtension( 'SemanticCite' );
Step 4
Run the maintenance script "update.php" to ensure that property tables are properly initialized.
Usage
A citation resource collects all structured data of a citation under one unique key that can be accessed
through out the wiki and is created and managed by the #scite
parser function.
Citation resources (those created by #scite
) can be added to a source page or any other wiki page each
being identifiable by a citation key.
{{#scite:Byrne 2008
|type=journal
|author=Byrne, A
|year=2008
|title=Web 2.0 strategies in libraries and information services
|journal=The Australian Library Journal
|volume=57
|number=4
|pages=365-376
}}
Above shows an example for a citation resource to be created by the #scite
parser. More information about
#scite
can be found here.
In-text citation
A resource can be cited using the Citation reference
(or its alias CiteRef
) property for an in-text
annotation in form of Lorem ipsum [[CiteRef::Byrne 2008]] ...
to appear as Lorem ipsum
[1]
...
.
A reference list is automatically added to the content as soon as a Citation reference
annotation is added
to a page. The magic word __NOREFERENCELIST__
can be used to suppress a reference list from showing on an
individual page while #referencelist
can be used to position the list differently.
More information about in-text citations and references can be found here together with a
description about the usage of the #referencelist
parser function.
For questions about Semantic Cite and Cite
, see the comments section.
Metadata search
Special:FindCitableMetadata
is provided as user interface to search, find, and map metadata with the
#scite
parser to conveniently integrate authority data from sources like PubMed or CrossRef.
For more information, please read the search section.
Configuration
To change default settings, or add property mapping add text formatting rules, please read the configuration document.
Contribution and support
If you want to contribute work to the project please subscribe to the developers mailing list and have a look at the contribution guideline.
- File an issue
- Submit a pull request
- Ask a question on the mailing list
Tests
This extension provides unit and integration tests that are run by a continues integration platform
but can also be executed using composer phpunit
from the extension base directory.