Skip to content

Commit a9680bd

Browse files
committed
Added the configuration file.
1 parent 8fd5599 commit a9680bd

File tree

2 files changed

+68
-11
lines changed

2 files changed

+68
-11
lines changed

config/autolink.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
return [
6+
/*
7+
|--------------------------------------------------------------------------
8+
| Ignored Elements
9+
|--------------------------------------------------------------------------
10+
|
11+
*/
12+
'ignored' => [
13+
'a',
14+
'code',
15+
'kbd',
16+
'pre',
17+
'script',
18+
],
19+
20+
/*
21+
|--------------------------------------------------------------------------
22+
| Filters
23+
|--------------------------------------------------------------------------
24+
|
25+
*/
26+
'filters' => [
27+
\OsiemSiedem\Autolink\Filters\TrimFilter::class,
28+
\OsiemSiedem\Autolink\Filters\LimitLengthFilter::class,
29+
],
30+
31+
/*
32+
|--------------------------------------------------------------------------
33+
| Parsers
34+
|--------------------------------------------------------------------------
35+
|
36+
*/
37+
'parsers' => [
38+
\OsiemSiedem\Autolink\Parsers\UrlParser::class,
39+
\OsiemSiedem\Autolink\Parsers\WwwParser::class,
40+
\OsiemSiedem\Autolink\Parsers\EmailParser::class,
41+
],
42+
];

src/AutolinkServiceProvider.php

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@
66

77
use Illuminate\Support\ServiceProvider;
88

9-
use OsiemSiedem\Autolink\Parsers\UrlParser;
10-
use OsiemSiedem\Autolink\Parsers\WwwParser;
11-
use OsiemSiedem\Autolink\Filters\TrimFilter;
12-
use OsiemSiedem\Autolink\Parsers\EmailParser;
13-
use OsiemSiedem\Autolink\Filters\LimitLengthFilter;
14-
159
class AutolinkServiceProvider extends ServiceProvider
1610
{
1711
/**
@@ -21,6 +15,22 @@ class AutolinkServiceProvider extends ServiceProvider
2115
*/
2216
protected $defer = true;
2317

18+
/**
19+
* Perform post-registration booting of services.
20+
*
21+
* @return void
22+
*/
23+
public function boot()
24+
{
25+
$this->mergeConfigFrom(
26+
__DIR__.'/../config/autolink.php', 'autolink'
27+
);
28+
29+
$this->publishes([
30+
__DIR__.'/../config/autolink.php' => config_path('autolink.php'),
31+
], 'config');
32+
}
33+
2434
/**
2535
* Register the service provider.
2636
*
@@ -29,14 +39,19 @@ class AutolinkServiceProvider extends ServiceProvider
2939
public function register()
3040
{
3141
$this->app->singleton('osiemsiedem.autolink', function ($app) {
42+
$config = $app['config']->get('autolink');
43+
3244
$autolink = new Autolink;
3345

34-
$autolink->addFilter(new TrimFilter);
35-
$autolink->addFilter(new LimitLengthFilter);
46+
$autolink->ignore($config['ignored']);
47+
48+
foreach ($config['filters'] as $filter) {
49+
$autolink->addFilter(new $filter);
50+
}
3651

37-
$autolink->addParser(new UrlParser);
38-
$autolink->addParser(new WwwParser);
39-
$autolink->addParser(new EmailParser);
52+
foreach ($config['parsers'] as $parser) {
53+
$autolink->addParser(new $parser);
54+
}
4055

4156
return $autolink;
4257
});

0 commit comments

Comments
 (0)