s1syphos / kirby3-dejure
Auto-linking legal norms to dejure.org for Kirby v3
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:kirby-plugin
Requires
- getkirby/composer-installer: ^1.1
- s1syphos/php-dejure: ^1.5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
README
This plugin automatically turns legal norms into links to their respectivedejure.org
.
Getting started
Use one of the following methods to install & use kirby3-dejure
:
Git submodule
If you know your way around Git, you can download this plugin as a submodule:
git submodule add https://github.com/S1SYPHOS/kirby3-dejure.git site/plugins/kirby3-dejure
Composer
composer require s1syphos/kirby3-dejure
Clone or download
Configuration
You may change certain options from your config.php
globally ('kirby3-dejure.optionName'
):
Option | Type | Default | Description |
---|---|---|---|
'enabled' |
bool | false |
Enables kirbytext:after hook |
'allowList' |
array | [] |
Allowed template names |
'blockList' |
array | [] |
Blocked template names |
'ignore' |
string | '' |
Global file number ignore |
'email' |
string | '' |
Contact mail |
'buzer' |
bool | false |
Fallback linking to 'buzer.de' |
'class' |
string | '' |
Controls class attribute |
'lineBreak' |
string | 'auto' |
Controls links across line breaks. Possible values: 'ohne' , 'mit' , 'auto' |
'linkStyle' |
string | 'weit' |
Controls link range. Possible values: 'weit' , 'schmal' |
'target' |
string | '_blank' |
Controls target attribute |
'tooltip' |
string | 'beschreibend' |
Controls title attribute. Possible values: 'ohne' , 'neutral' , 'beschreibend' , 'Gesetze' , 'halb' |
'driver ' |
string | 'file' |
For all cache drivers, see here |
'caching ' |
array | [] |
For all config options, see here |
'cacheDuration' |
int | 2 |
Cache duration (days) |
'streamTimeout' |
int | 10 |
Response stream timeout (seconds) |
'timeout' |
int | 3 |
Request timeout (seconds) |
'userAgent' |
string | null |
Controls User-Agent header |
When enabling the plugin via kirby3-dejure.enabled
, auto-linking is applied to all kirbytext()
/ kt()
calls, with two exceptions:
- If a page's
intendedTemplate()
name is allow(list)ed, this overrideskirby3-dejure.enabled
beingfalse
- If a page's
intendedTemplate()
name is block(list)ed, this overrideskirby3-dejure.enabled
beingtrue
Besides that, there are additional methods you can use:
Methods
There are several ways to do this, you can either use a standalone function, a page method or a field method:
Method: dejurify(string $text, string $ignore = ''): string
Processes linkable citations & caches text (if uncached or expired)
Method: clearDJO(): bool
Clears DJO cache
Page method: $page->dejurify(string $text, string $ignore = '')
Same as dejurify
Field method: $field->dejurify(string $text, string $ignore = '', bool $useKirbytext = true)
Same as dejurify
, but supports applying kirbytext()
out-of-the-box via its third parameter $useKirbytext
.
Roadmap
- Add tests
- Cache entries per-site (?)
Credits / License
kirby3-dejure
is based on php-dejure
library (an OOP port of vernetzungsfunction.inc.php
, which can be downloaded here. It is licensed under the MIT License, but using Kirby in production requires you to buy a license.
Special Thanks
I'd like to thank everybody that's making great software - you people are awesome. Also I'm always thankful for feedback and bug reports :)