diff --git a/.env b/.env new file mode 100644 diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -1 +1,17 @@ *.pyc +*.lock +vendor +bin +var +logs +public/stable5 +public/trunk5 +src/Data/ +config/services.php + +###> symfony/webpack-encore-bundle ### +/node_modules/ +/public/build/ +npm-debug.log +yarn-error.log +###< symfony/webpack-encore-bundle ### diff --git a/404.php b/404.php deleted file mode 100644 --- a/404.php +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/assets/css/app.scss b/assets/css/app.scss new file mode 100644 --- /dev/null +++ b/assets/css/app.scss @@ -0,0 +1,671 @@ +@import "~bootstrap/scss/bootstrap"; +@import '~jquery-ui/themes/base/all.css'; + +body { + font-family:'Noto Sans', sans-serif +} +p { + line-height:2em +} +h1,h2,h3 { + line-height:1.5em +} +ul>li { + line-height:2em +} +.header { + position:sticky; + top:0; + display:block; + z-index:2; + background-color:rgba(255,255,255,0.95) +} +.header>* { + margin:auto; + max-width:1140px +} +.header::after { + content:""; + clear:both; + display:block; + background-size:100% 5px; + position:absolute; + height:5px; + width:100%; + left:0; + bottom:0; + background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAFCAYAAACzSkmrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACkSURBVDiN7dExDsIwDEbh9we1soXE6eCEbJyInQNwgKgxQ9WWFrIShr7ZkewvYm/V5fbwLj8NoKTec0lGzp66ZAzJS8jQ4EKG5KLY+FIeYBAOMoRHyFC4YJwpcqVixGYWnHHG1ebs700YHxBAHWM6DqoYHxBvswvGEegbnL1q/pAqxgQB1DE2EEAdY4aABeMEHH57+n+m8/UerZfYW0qtF9hb9wI2bU03vw4M8QAAAABJRU5ErkJggg=="); + z-index:-1 +} +#kHeaderNav { + padding:0; + position:relative +} +#kHeaderNav button { + outline:0 +} +#kHeaderNav .navbar-toggler { + position:relative +} +#kHeaderNav .navbar-toggler:before { + position:absolute; + top:0; + left:50%; + width:42px; + margin-left:-21px; + content:"="; + color:#4d4d4d; + font-family:"glyph"; + font-size:22px; + font-weight:normal; + text-indent:0px; + text-align:center; + line-height:50px; + display:inline-block; + text-decoration:none !important +} +#kHeaderNav a.nav-link,#kHeaderNav a.dropdown-item { + color:#334545; + height:50px; + line-height:50px; + padding:0 20px +} +#kHeaderNav a:hover { + color:#3daefd +} +#kHeaderNav a.nav-link.active { + color:#FFF +} +#kHeaderNav a.nav-link.active:hover { + color:#FFF +} +#kHeaderNav .dropdown-menu { + padding:0 +} +#kHeaderNav a.active:hover,#kHeaderNav .dropdown-menu.show a.nav-link { + color:#334545 +} +#kHeaderNav a:active,#kHeaderNav .active,#kHeaderNav a.dropdown-item:active,#kHeaderNav .navbar-brand-active,#kHeaderNav .dropdown-toggle.show a.nav-link { + background:#54a3d8; + color:#FFF +} +#kHeaderNav .dropdown-toggle.show { + position:relative +} +#kHeaderNav .dropdown-toggle::after { + content:"" !important; + display:none +} +#kHeaderNav .dropdown-toggle .nav-link::after { + display:inline-block; + width:0; + height:0; + margin-left:.5em; + vertical-align:.255em; + content:""; + border-top:.3em solid; + border-right:.3em solid transparent; + border-bottom:0; + border-left:.3em solid transparent +} +#kHeaderNav .dropdown-menu { + border-radius:0px; + border:1px solid #54a3d8; + border-top:none; + margin:0; + padding:0; + background-color:initial +} +@media (min-width: 575px) { + #kHeaderNav .dropdown-menu { + background-color:#fff + } +} +#kHeaderNav .dropdown-menu a { + display:block; + text-align:center; + text-decoration:none; + background-size:100%; + background-position:center; + background-repeat:no-repeat; + transition:background-size 0.4s; + position:relative +} +#kHeaderNav .dropdown-menu a::before { + content:''; + width:100%; + height:100%; + top:0; + left:0; + position:absolute; + background-repeat:no-repeat; + background-position:center; + background-size:101%; + z-index:-1; + transition:background-size 0.3s +} +#kHeaderNav a.kontact-menu-features::before { + background-image:url(/assets/img/kontact-menu-features.png) +} +#kHeaderNav a.kontact-menu-features:hover::before { + background-size:150% +} +#kHeaderNav a.kontact-menu-features { + min-width:360px; + min-height:150px; + line-height:150px; + color:#334545; + font-size:1.5em +} +#kHeaderNav .kontact-menu-apps { + display:flex; + flex-wrap:wrap +} +#kHeaderNav .kontact-menu-apps a { + width:50%; + height:auto; + position:relative; + min-height:100px; + line-height:100px; + font-size:1.3em; + color:#334545 +} +#kHeaderNav .kontact-menu-apps a::before { + background-size:155%; + opacity:0.3 +} +#kHeaderNav .kontact-menu-apps a:hover::before { + background-size:65%; + transition:background-size 0.3s +} +#kHeaderNav a.kontact-menu-apps-kmail::before { + background-image:url(/assets/img/icon-kmail.svg) +} +#kHeaderNav a.kontact-menu-apps-korganizer::before { + background-image:url(/assets/img/icon-korganizer.svg) +} +#kHeaderNav a.kontact-menu-apps-kaddressbook::before { + background-image:url(/assets/img/icon-kaddressbook.svg) +} +#kHeaderNav a.kontact-menu-apps-akregator::before { + background-image:url(/assets/img/icon-akregator.svg) +} +#kHeaderNav a.kontact-menu-apps-knotes::before { + background-image:url(/assets/img/icon-knotes.svg) +} +#kHeaderNav a.kontact-menu-apps-akonadi::before { + background-image:url(/assets/img/icon-akonadi.png) +} +#kHeaderNav .navbar-toggler { + order:2 +} +#KontactGlobalLogo { + margin:0; + margin-top:-3px; + text-align:center; + line-height:50px; + height:50px; + padding:0 10px; + order:1 +} +#KontactGlobalLogo>img { + width:70%; + margin-top:-3px +} +#kMainNavbar { + order:4 +} +@media (min-width: 768px) { + #kMainNavbar { + order:3 + } +} +#KMadeByKDE { + order:3; + padding-right:15px +} +#KMadeByKDE span { + display:none +} +@media (min-width: 768px) { + #KMadeByKDE span { + display:inline + } +} +@media (min-width: 768px) { + #KMadeByKDE { + order:4 + } +} +main.main { + margin:auto; + margin-bottom:50px; + width:100%; + max-width:1140px; + padding:0 30px +} +@media (min-width: 1140px) { + main.main { + padding-left:0; + padding-right:0 + } +} +main .block { + padding:30px 20px +} +main.navfix { + margin-top:50px +} +#kWelcome { + font-size:18px; + border-radius:2px; + border:solid 1px #abdaf9; + background-color:#e1f2ff; + color:#375a7d; + padding:10px 20px; + margin-top:60px; + margin-bottom:60px; + text-align:center +} +#kWelcome p { + padding:0; + margin:0 +} +#kFooter { + background-color:#eff1f1; + color:#7f8c8d; + position:relative; + padding-top:12px; + font-size:12px; + width:100%; + clear:both +} +#kFooter a { + text-decoration:none; + color:#2980b9 +} +#kFooter section { + width:100%; + max-width:1140px; + margin:auto; + padding:0 20px +} +#kFooter #KSiteDonateForm { + background-color:#abf9c7; + border:solid 1px #7ceca4; + border-radius:2px; + margin-top:10px; + padding-top:10px; + padding-bottom:10px +} +#kFooter #KSiteDonateForm h3 { + font-size:14px; + font-weight:bold; + color:#377d50; + padding:0 0 10px; + margin:0 +} +#kFooter #KSiteDonateForm h3 a { + font-width:normal; + margin-left:20px; + color:#2980b9 +} +#kFooter #KSiteDonateForm h3 a::before { + content:"( "; + color:#377d50 +} +#kFooter #KSiteDonateForm h3 a::after { + content:" )"; + color:#377d50 +} +#kFooter #KSiteDonateForm #otherWaysDonate { + display:inline-block; + font-size:14px; + margin-top:10px +} +#kFooter #KGlobalContributorLinks { + padding:0 20px; + box-sizing:border-box; + max-width:100%; + background-color:rgba(0,0,0,0.05); + position:relative; + margin:auto +} +#kFooter #KGlobalContributorLinks nav { + max-width:1100px; + padding:0; + line-height:50px; + margin:auto; + font-size:14px; + width:100%; + position:relative +} +#kFooter #KGlobalLegalInfo { + padding:20px +} +#kFooter #KGlobalLegalInfo small { + font-size:12px +} +#kFooter #KGlobalLegalInfo figure { + display:inline-block; + padding:0; + margin:0 +} +#kFooter #KGlobalLegalInfo small+small::before { + content:" | "; + color:#bdc3c7; + margin:0 10px +} +#kLinks { + padding:30px 20px 30px 0 +} +#kLinks nav { + width:20%; + display:inline-block; + box-sizing:border-box; + vertical-align:top; + font-size:12px; + padding:10px 0 10px 20px +} +#kLinks nav h3 { + font-size:14px; + color:#95a5a6; + margin:0 0 10px 0; + font-weight:bold +} +#kLinks a { + display:block; + line-height:150% +} +#kLinks a::after { + color:#7f8c8d; + position:relative; + content:">"; + font-family:"glyph"; + vertical-align:baseline; + top:.1em; + padding-left:10px +} +.konqi { + float:right; + width:250px; + margin-top:-50px; + margin-left:40px +} +.icon { + margin-left:20px +} +.icon::before { + content:""; + position:absolute; + display:block; + width:32px; + height:50px; + left:5px; + background-repeat:no-repeat; + background-size:24px; + background-position:center +} +.icon-kontact::before { + background-image:url(/assets/img/icon-kontact.svg) +} +.icon-kmail::before { + background-image:url(/assets/img/icon-kmail.svg) +} +.icon-korganizer::before { + background-image:url(/assets/img/icon-korganizer.svg) +} +.icon-kaddressbook::before { + background-image:url(/assets/img/icon-kaddressbook.svg) +} +.icon-knotes::before { + background-image:url(/assets/img/icon-knotes.svg) +} +.icon-akregator::before { + background-image:url(/assets/img/icon-akregator.svg) +} +.preview { + cursor:pointer +} +#kImagePreview { + text-align:center +} +#kImagePreview img { + margin:auto; + cursor:pointer; + max-width:100% +} +#kImagePreviewContainer { + width:100%; + height:100%; + display:flex; + flex-direction:column; + align-items:center; + pointer-events:none +} +.kSocialLinks { + line-height:50px +} +.kSocialLinks a:not(.no-glyph) { + display:inline-block; + color:#fafafa; + background:#27AE60; + position:relative; + text-indent:-9999px; + width:24px; + line-height:30px; + padding:0px 10px; + border-radius:3px; + transition:all .2s +} +.kSocialLinks a:after { + content:"@"; + font-family:'glyph'; + font-size:24px; + text-indent:0px; + color:#fafafa; + position:absolute; + top:0px; + left:0px; + right:0px; + text-align:center +} +.kSocialLinks a.shareFacebook { + background-color:#2980b9 +} +.kSocialLinks a.shareGoogle { + background-color:#d35400 +} +.kSocialLinks a.shareTwitter { + background-color:#3daefd +} +.kSocialLinks a.shareForum { + background-color:#0068c6 +} +.kSocialLinks a.shareTelegram { + background-color:#2ca5e0 +} +.kSocialLinks a.shareFacebook:hover { + background-color:#3498db +} +.kSocialLinks a.shareGoogle:hover { + background-color:#f67400 +} +.kSocialLinks a.shareTwitter:hover { + background-color:#70c3fe +} +.kSocialLinks a.shareForum:hover { + background-color:#1078d6 +} +.kSocialLinks a.shareTelegram:hover { + background-color:#2ca5e0 +} +.kSocialLinks a.shareFacebook:after { + content:"F" +} +.kSocialLinks a.shareGoogle:after { + content:"G" +} +.kSocialLinks a.shareTwitter:after { + content:"T" +} +.kSocialLinks a.shareForum:after { + content:"K" +} +.kSocialLinks a.shareMastodon:after { + content:"M" +} + +a#KDEGlobalLogo.navbar-brand { + padding-left: 5px; + padding-right: 5px; + img { + padding-left: 5px; + paddinf-right: 5px; + } + &:hover { + color: white; + } +} + +@include media-breakpoint-up(md) { + #languages-dropdown { + width: 350px; + } +} + +@include media-breakpoint-down(lg) { + .nav-item.form-inline { + margin-bottom: 5px; + padding-left: 20px; + } +} +@font-face { + font-family:'glyph'; + src:url("glyph/glyph.eot?d1eayo"); + src:url("glyph/glyph.eot?d1eayo#iefix") format("embedded-opentype"),url("glyph/glyph.ttf?d1eayo") format("truetype"),url("glyph/glyph.woff?d1eayo") format("woff"),url("glyph/glyph.svg?d1eayo#glyph") format("svg"); + font-weight:normal; + font-style:normal +} +[class^="glyph-"],[class*=" glyph-"] { + font-family:'glyph'; + speak:none; + font-style:normal; + font-weight:normal; + font-variant:normal; + text-transform:none; + line-height:1; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale +} +.glyph-favorite:before { + content:"\e900" +} +.glyph-link:before { + content:"\6c" +} +.glyph-share-diaspora:before { + content:"\2a" +} +.glyph-share-facebook:before { + content:"\46" +} +.glyph-share-gplus:before { + content:"\47" +} +.glyph-share-reddit:before { + content:"\52" +} +.glyph-share-twitter:before { + content:"\54" +} +.glyph-share-ycombinator:before { + content:"\59" +} +.glyph-view-catalog:before { + content:"\e908" +} +.glyph-view-categories:before { + content:"\e909" +} +.glyph-view-fullscreen:before { + content:"\e90a" +} +.glyph-view-list-details:before { + content:"\e90b" +} +.glyph-view-list-icons:before { + content:"\e90c" +} +.glyph-view-list-text:before { + content:"\e90d" +} +.glyph-view-list-tree:before { + content:"\e90e" +} +.glyph-view-media-playlist:before { + content:"\e90f" +} +.glyph-window-new:before { + content:"\57" +} +.glyph-video:before { + content:"\56" +} +.glyph-cancel:before { + content:"\5c" +} +.glyph-check:before { + content:"\63" +} +.glyph-close:before { + content:"\58" +} +.glyph-logo-kde:before { + content:"\4b" +} +.glyph-logo-plasma:before { + content:"\50" +} +.glyph-logo-plasmamobile:before { + content:"\4d" +} +.glyph-clear:before { + content:"\78" +} +.glyph-go-down:before { + content:"\76" +} +.glyph-go-home:before { + content:"\48" +} +.glyph-go-next:before { + content:"\3e" +} +.glyph-go-previous:before { + content:"\3c" +} +.glyph-go-up:before { + content:"\5e" +} +.glyph-hamburger:before { + content:"\3d" +} +.glyph-info:before { + content:"\49" +} +.glyph-new-window:before { + content:"\77" +} +.glyph-search:before { + content:"\51" +} +.glyph-settings:before { + content:"\53" +} +.glyph-share:before { + content:"\73" +} +.glyph-share-telegram:before { + content:"\2197" +} diff --git a/assets/glyph/glyph.eot b/assets/glyph/glyph.eot new file mode 100644 index 0000000000000000000000000000000000000000..733439ed3249ac3f40e4393ad07c8ec440540ab2 GIT binary patch literal 5712 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 literal 0 Hc$@ + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/glyph/glyph.ttf b/assets/glyph/glyph.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6bca8bcc5fd89221bb20b652d8d06df54bb0b53e GIT binary patch literal 5556 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.'/.env'); +} + +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $_SERVER['APP_ENV'] ?: $_ENV['APP_ENV'] ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/config/bundles.php b/config/bundles.php new file mode 100644 --- /dev/null +++ b/config/bundles.php @@ -0,0 +1,18 @@ + ['all' => true], + Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true], + Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], + Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], + Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], + Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], + Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], + Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], + Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], + Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], + Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], + Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true], +]; diff --git a/config/packages/assets.yaml b/config/packages/assets.yaml new file mode 100644 --- /dev/null +++ b/config/packages/assets.yaml @@ -0,0 +1,3 @@ +framework: + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml new file mode 100644 --- /dev/null +++ b/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Put the unique name of your app here: the prefix seed + # is used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The app cache caches to the filesystem by default. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: ~ diff --git a/config/packages/dev/debug.yaml b/config/packages/dev/debug.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/debug.yaml @@ -0,0 +1,4 @@ +debug: + # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. + # See the "server:dump" command to start a new server. + dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/config/packages/dev/easy_log_handler.yaml b/config/packages/dev/easy_log_handler.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/easy_log_handler.yaml @@ -0,0 +1,16 @@ +services: + EasyCorp\EasyLog\EasyLogHandler: + public: false + arguments: ['%kernel.logs_dir%/%kernel.environment%.log'] + +#// FIXME: How to add this configuration automatically without messing up with the monolog configuration? +#monolog: +# handlers: +# buffered: +# type: buffer +# handler: easylog +# channels: ['!event'] +# level: debug +# easylog: +# type: service +# id: EasyCorp\EasyLog\EasyLogHandler diff --git a/config/packages/dev/monolog.yaml b/config/packages/dev/monolog.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/monolog.yaml @@ -0,0 +1,19 @@ +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine", "!console"] diff --git a/config/packages/dev/routing.yaml b/config/packages/dev/routing.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: true diff --git a/config/packages/dev/swiftmailer.yaml b/config/packages/dev/swiftmailer.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/swiftmailer.yaml @@ -0,0 +1,4 @@ +# See https://symfony.com/doc/current/email/dev_environment.html +swiftmailer: + # send all emails to a specific address + #delivery_addresses: ['me@example.com'] diff --git a/config/packages/dev/web_profiler.yaml b/config/packages/dev/web_profiler.yaml new file mode 100644 --- /dev/null +++ b/config/packages/dev/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: true + intercept_redirects: false + +framework: + profiler: { only_exceptions: false } diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml new file mode 100644 --- /dev/null +++ b/config/packages/doctrine_migrations.yaml @@ -0,0 +1,5 @@ +doctrine_migrations: + dir_name: '%kernel.project_dir%/src/Migrations' + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + namespace: DoctrineMigrations diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml new file mode 100644 --- /dev/null +++ b/config/packages/framework.yaml @@ -0,0 +1,19 @@ +framework: + secret: '%env(APP_SECRET)%' + #default_locale: en + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: ~ + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true + assets: + json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' diff --git a/config/packages/prod/doctrine.yaml b/config/packages/prod/doctrine.yaml new file mode 100644 --- /dev/null +++ b/config/packages/prod/doctrine.yaml @@ -0,0 +1,32 @@ +doctrine: + orm: + auto_generate_proxy_classes: false + metadata_cache_driver: + type: service + id: doctrine.system_cache_provider + query_cache_driver: + type: service + id: doctrine.system_cache_provider + result_cache_driver: + type: service + id: doctrine.result_cache_provider + +services: + doctrine.result_cache_provider: + class: Symfony\Component\Cache\DoctrineProvider + public: false + arguments: + - '@doctrine.result_cache_pool' + doctrine.system_cache_provider: + class: Symfony\Component\Cache\DoctrineProvider + public: false + arguments: + - '@doctrine.system_cache_pool' + +framework: + cache: + pools: + doctrine.result_cache_pool: + adapter: cache.app + doctrine.system_cache_pool: + adapter: cache.system diff --git a/config/packages/prod/monolog.yaml b/config/packages/prod/monolog.yaml new file mode 100644 --- /dev/null +++ b/config/packages/prod/monolog.yaml @@ -0,0 +1,25 @@ +monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_404s: + # regex: exclude all 404 errors from the logs + - ^/ + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine"] + deprecation: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" + deprecation_filter: + type: filter + handler: deprecation + max_level: info + channels: ["php"] diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml new file mode 100644 --- /dev/null +++ b/config/packages/routing.yaml @@ -0,0 +1,4 @@ +framework: + router: + strict_requirements: ~ + utf8: true diff --git a/config/packages/security.yaml b/config/packages/security.yaml new file mode 100644 --- /dev/null +++ b/config/packages/security.yaml @@ -0,0 +1,24 @@ +security: + # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers + providers: + in_memory: { memory: ~ } + firewalls: + dev: + pattern: ^/(_(profiler|wdt)|css|images|js)/ + security: false + main: + anonymous: true + + # activate different ways to authenticate + + # http_basic: true + # https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate + + # form_login: true + # https://symfony.com/doc/current/security/form_login_setup.html + + # Easy way to control access for large sections of your site + # Note: Only the *first* access control that matches will be used + access_control: + # - { path: ^/admin, roles: ROLE_ADMIN } + # - { path: ^/profile, roles: ROLE_USER } diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml new file mode 100644 --- /dev/null +++ b/config/packages/sensio_framework_extra.yaml @@ -0,0 +1,3 @@ +sensio_framework_extra: + router: + annotations: false diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml new file mode 100644 --- /dev/null +++ b/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/config/packages/test/monolog.yaml b/config/packages/test/monolog.yaml new file mode 100644 --- /dev/null +++ b/config/packages/test/monolog.yaml @@ -0,0 +1,7 @@ +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] diff --git a/config/packages/test/routing.yaml b/config/packages/test/routing.yaml new file mode 100644 --- /dev/null +++ b/config/packages/test/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: true diff --git a/config/packages/test/swiftmailer.yaml b/config/packages/test/swiftmailer.yaml new file mode 100644 --- /dev/null +++ b/config/packages/test/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + disable_delivery: true diff --git a/config/packages/test/web_profiler.yaml b/config/packages/test/web_profiler.yaml new file mode 100644 --- /dev/null +++ b/config/packages/test/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: false + intercept_redirects: false + +framework: + profiler: { collect: false } diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml new file mode 100644 --- /dev/null +++ b/config/packages/translation.yaml @@ -0,0 +1,6 @@ +framework: + default_locale: en + translator: + default_path: '%kernel.project_dir%/translations' + fallbacks: + - '%locale%' diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml new file mode 100644 --- /dev/null +++ b/config/packages/twig.yaml @@ -0,0 +1,4 @@ +twig: + default_path: '%kernel.project_dir%/templates' + debug: '%kernel.debug%' + strict_variables: '%kernel.debug%' diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml new file mode 100644 --- /dev/null +++ b/config/packages/validator.yaml @@ -0,0 +1,3 @@ +framework: + validation: + email_validation_mode: html5 diff --git a/config/packages/webpack_encore.yaml b/config/packages/webpack_encore.yaml new file mode 100644 --- /dev/null +++ b/config/packages/webpack_encore.yaml @@ -0,0 +1,4 @@ +webpack_encore: + # The path where Encore is building the assets. + # This should match Encore.setOutputPath() in webpack.config.js. + output_path: '%kernel.project_dir%/public/build' diff --git a/config/routes.yaml b/config/routes.yaml new file mode 100644 --- /dev/null +++ b/config/routes.yaml @@ -0,0 +1,3 @@ +#index: +# path: / +# controller: App\Controller\DefaultController::index diff --git a/config/routes/annotations.yaml b/config/routes/annotations.yaml new file mode 100644 --- /dev/null +++ b/config/routes/annotations.yaml @@ -0,0 +1,3 @@ +controllers: + resource: ../../src/Controller/ + type: annotation diff --git a/config/routes/dev/twig.yaml b/config/routes/dev/twig.yaml new file mode 100644 --- /dev/null +++ b/config/routes/dev/twig.yaml @@ -0,0 +1,3 @@ +_errors: + resource: '@TwigBundle/Resources/config/routing/errors.xml' + prefix: /_error diff --git a/config/routes/dev/web_profiler.yaml b/config/routes/dev/web_profiler.yaml new file mode 100644 --- /dev/null +++ b/config/routes/dev/web_profiler.yaml @@ -0,0 +1,7 @@ +web_profiler_wdt: + resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' + prefix: /_wdt + +web_profiler_profiler: + resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' + prefix: /_profiler diff --git a/config/services.yaml b/config/services.yaml new file mode 100644 --- /dev/null +++ b/config/services.yaml @@ -0,0 +1,32 @@ +# This file is the entry point to configure your own services. +# Files in the packages/ subdirectory configure your dependencies. + +# Put parameters here that don't need to change on each machine where the app is deployed +# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration + +imports: + - { resource: 'services.php' } + +parameters: + locale: 'en' + +services: + # default configuration for services in *this* file + _defaults: + autowire: true # Automatically injects dependencies in your services. + autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. + + # makes classes in src/ available to be used as services + # this creates a service per class whose id is the fully-qualified class name + App\: + resource: '../src/*' + exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + + # controllers are imported separately to make sure services can be injected + # as action arguments even if you don't extend any base controller class + App\Controller\: + resource: '../src/Controller' + tags: ['controller.service_arguments'] + + # add more service definitions when explicit configuration is needed + # please note that last definitions always *replace* previous ones diff --git a/create_generated_used.php b/create_generated_used.php --- a/create_generated_used.php +++ b/create_generated_used.php @@ -37,19 +37,36 @@ # full length, without the prefix (with code), without the suffix (.json) $var_name_len = strlen($json_file) - (strlen(JSONFILE_PREFIX) + 3) - 5; $var_name = substr($json_file, strlen(JSONFILE_PREFIX)+3, $var_name_len); - echo "\$$var_name = $array_string;\n"; + echo "const $var_name = $array_string;\n"; + + if ($var_name == 'languagelist') { + // create special variable for routing parameter _locale in config/services.php + $string = ''; + foreach ($json_array as $lang) { + $string .= $lang . '|'; + } + $string = rtrim($string,"|"); + + // save content + $parameterFile = fopen("./config/services.php", "w"); + fwrite($parameterFile, "setParameter('app.locales', '$string');\n"); + fclose($parameterFile); + } } function convert_files($json_dir) { $all_files = scandir($json_dir); echo "\n"; + echo "}\n"; } $json_files_dir = "."; diff --git a/dblatex-cvs-install/bin/dblatex b/dblatex-cvs-install/bin/dblatex deleted file mode 100755 --- a/dblatex-cvs-install/bin/dblatex +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# This script is automatically created by -# ./configure --prefix=/home/phil/sources/dblatex-cvs-install --catalog=/home/phil/cvs-kde/share/apps/ksgmltools2/customization/catalog -# -#SGML_CATALOG_FILES is exported by generator - -DBLATEX_BASE_DIR=${DBLATEX_BASE_DIR:-/home/docs/docs} - -TEXINPUTS=:${DBLATEX_BASE_DIR}/dblatex-cvs-install/share/dblatex/latex//:$TEXINPUTS -export TEXINPUTS - -${DBLATEX_BASE_DIR}/dblatex-cvs-install/share/dblatex/scripts/dblatex $* diff --git a/docgen_conf.ini b/docgen_conf.ini --- a/docgen_conf.ini +++ b/docgen_conf.ini @@ -1,16 +1,16 @@ [common] -work_dir=/home/docs/docs/work -website_dir=/home/docs/website +work_dir=/home/carl/docs/work +website_dir=/home/carl/project/docs-kde-org/public # If the following options are not specified, languages and packages # are read from the files with the same name -#languages= -#packages= -branches=stable4,trunk4,stable5,trunk5 -static_files=404.php,docs.css,favicon.ico,images,include,index.php,intro.inc.html,robots.txt,styles +languages=en,fr,ca,uk +packages=frameworks,kde-workspace +branches=stable5,trunk5 +static_files=docs.css,favicon.ico,images excluded_lang_pdf=es,ja [env.kdelibs4] -compile_dir=/home/docs/docs/kdelibs +compile_dir=/home/carl/project/docs-kde-org/kdelibs docbookxml_path=/usr/share/xml/docbook/schema/dtd/4.2/ docbookxsl_path=/usr/share/xml/docbook/stylesheet/docbook-xsl diff --git a/doclogconfig.ini b/doclogconfig.ini --- a/doclogconfig.ini +++ b/doclogconfig.ini @@ -21,7 +21,7 @@ class=FileHandler level=DEBUG formatter=formatter -args=('/home/docs/logs/%(logfilename)s.log',) +args=('/home/carl/project/docs-kde-org/logs/%(logfilename)s.log',) [formatter_formatter] format=%(asctime)s:%(levelname)s:%(name)s:%(message)s diff --git a/include/doc_footer.inc b/include/doc_footer.inc deleted file mode 100644 --- a/include/doc_footer.inc +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - 0) { ?> - - - - - - show(); ?> - - - - - - - \n
\n"; - $hotspotstart = '\n"; - if (!isset($site_search) || ($site_search == true)) { - print $searchstart; - include_once("search.inc"); - print $end; - } - else if ($site_search == "custom") { - print $searchstart; - include_once("$site_root/includes/search.inc"); - print $end; - } - - if (isset($site_hotspot)) { - if ($site_hotspot === true) { - print $hotspotstart; - include_once("hotspot.inc"); - print $end; - } - else - if ($site_hotspot == "custom") { - print $hotspotstart; - include_once("$site_root/includes/hotspot.inc"); - print $end; - } - } - ?> - - - - - - - - - - - - - - - | - | - - - -$name
\n"; -else - $contact = i18n_var("Maintained by kde.org Webmaster
\n"); -?> - - -
- - - - - - - - diff --git a/include/docs.inc b/include/docs.inc deleted file mode 100644 --- a/include/docs.inc +++ /dev/null @@ -1,14 +0,0 @@ -push("Docs Default","/media/styles/standard.css;/docs.css"); - -?> diff --git a/include/docs_classes.inc b/include/docs_classes.inc deleted file mode 100644 --- a/include/docs_classes.inc +++ /dev/null @@ -1,54 +0,0 @@ -name=$name; - $this->items=explode(";",$group); - } - function show($alt) - { - if ( count($this->items) ) - { - $numitems = count( $this->items ); - for ($i=0; $i < $numitems; $i++) - { - echo '\n"; - } - } - } -} - -class StylesheetList -{ - var $items= array(); - function push($name,$group) - { - array_push($this->items,new StylesheetGroup($name,$group)); - } - function show() - { - if ( count($this->items) ) - { - $numitems = count( $this->items ); - for ($i=0; $i < $numitems; $i++) - { - $this->items[$i]->show($i>0); - } - } - } -} - - - -?> diff --git a/include/functions.inc b/include/functions.inc deleted file mode 100644 --- a/include/functions.inc +++ /dev/null @@ -1,304 +0,0 @@ -" . i18n_var("Latest News") . "\n"; - - $news = new RDF(); - $rdf_pieces = $news->openRDF($file); - - if(!$items) - { - $items = 5; // default - } - $rdf_items = count($rdf_pieces); - if ($rdf_items > $items) - { - $rdf_items = $items; - } - - //only open the file if it has something in it - if ($rdf_items > 0) - { - /* Don't display the last story twice - * if there is less than the requested number of stories - * in the RDF file */ - if ($rdf_items < $items) - { - $rdf_items = $rdf_items - 1; - } - - $alternate = false; - - print "\n"; - - if ($summaryonly) - print "\n\n"; - - $prevDate = ""; - for($x=1;$x<=$rdf_items;$x++) - { - $alternate = !$alternate; - if ($alternate) - { - $color = "newsbox1"; - } - else - { - $color = "newsbox2"; - } - ereg("(.*)", $rdf_pieces[$x], $title); - ereg("(.*)", $rdf_pieces[$x], $date); - ereg("(.*)", $rdf_pieces[$x], $fullstory); - print "\n"; - - $printDate = $date[1]; - - $title[1] = utf8_encode($title[1]); - - if ($summaryonly) - { - print "\n"; - print "\n"; - $prevDate = $printDate; - } - else - { - print "\n"; - print "\n"; - } - - print "\n"; - - } - print "
" . i18n_var("Date") . "" . i18n_var("Headline") . "
".(($printDate == $prevDate) ? " " : "$printDate")."$title[1]

$printDate: $title[1]

$fullstory[1]
\n"; - } -} - -function begin_under_construction() -{ - if ($_SERVER["QUERY_STRING"] != "test") - print("\n"); -} - -function startTranslation($dictionary) -{ - global $site_root; - global $site_external; - $topleveldir = explode("/", $_SERVER['REQUEST_URI']); - - if ($site_root == "./") // if the page is not under a sub-directory - { - if (($site_external && ($_SERVER['SERVER_NAME'] != "kde.org")) || !$site_external) // if the page is something like kde.org or konqueror.org - { - $dir_file = $site_root . "/media/includes/i18n/" . $dictionary . "/" . "root.inc"; - $media_file = $site_root . "/media/includes/i18n/" . $dictionary . "/" . "media.inc"; - } - else // something like kde.org/apps/konqueror or kde.org/areas/kde-ev - { - $dir_file = "../../" . $site_root . "/media/includes/i18n/" . $dictionary . "/" . "root.inc"; - $media_file = "../../" . $site_root . "/media/includes/i18n/" . $dictionary . "/" . "media.inc"; - } - } - else - { - if (($site_external && ($_SERVER['SERVER_NAME'] != "kde.org")) || !$site_external) // if the page is something like kde.org or konqueror.org - { - $dir_file = $site_root . "/media/includes/i18n/" . $dictionary . "/" . $topleveldir[1] . ".inc"; - $media_file = $site_root . "/media/includes/i18n/" . $dictionary . "/" . "media.inc"; - } - else // someting like kde.org/apps/konqueror - { - $dir_file = "../../" . $site_root . "/media/includes/i18n/" . $dictionary . "/" . $topleveldir[1] . ".inc"; - $media_file = "../../" . $site_root . "/media/includes/i18n/" . $dictionary . "/" . "media.inc"; - } - } - - if ($dictionary != "en") - { - global $text; //needed! - if (file_exists($media_file)) - { - include($media_file); - } - if (file_exists($dir_file)) - { - include($dir_file); - } - } -} - -function i18nDebug() -{ - global $text; - print "text contains " . count($text) . " items \n"; -} - -function i18n_var($translate) -{ - global $text; - global $site_locale; - if ($site_locale == "en") - { - return $translate; - } - else - { - $translated = $text[$translate]; - if ($translated == "") - { - return $translate; - } - else - { - return $translated; - } - } -} - -function i18n($translate) -{ - global $text; - global $site_locale; - if ($site_locale == "en") - { - print $translate; - } - else - { - $translated = $text[$translate]; - if ($translated == "") - { - print $translate; - } - else - { - print $translated; - } - } -} - -function niceFileSize($path) -{ - if (file_exists($path)) - { - $size = filesize($path); - if ($size > (1024 * 1024)) - { - echo "(" . round($size/(1024*1024)) . "MB)"; - } - else - if ($size > 1024) - { - echo "(" . round($size/1024) . "KB)"; - } - else - { - echo "(" . round($size) . "B)"; - } - } - else - { - echo "(File not available on this server, use printing.kde.org or koffice.org instead)"; - } -} - -function siteLogo($path, $width, $height) -{ - return "src=\"$path\" width=\"$width\" height=\"$height\""; -} - -?> diff --git a/include/header.inc b/include/header.inc deleted file mode 100644 --- a/include/header.inc +++ /dev/null @@ -1,294 +0,0 @@ -\n"; - print "\n"; -?> - - - - - <?php print $title; ?> - - - - - - - - - - - - - - -\n"; - if (isset($rss_feed2_link)) - print "\n"; -?> - -show(); - else - { - if (!$rtl) - echo ''; - else - echo ''; - } -?> - - - - -'; - else - echo ''; -?> - - - -" > - - - - - - - - - - - - -
-
- - - -
-
- - - 0) { ?> - - - -
0) print 'rowspan="2"'; ?> > -
- $page_title\n"; - ?> diff --git a/include/header_docs.inc b/include/header_docs.inc deleted file mode 100644 --- a/include/header_docs.inc +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - KDE Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- Skip to main content :: - - \"Home\" - :: - \"\" - -
KDE Documentation
- - -
- -
- - Help :: - Contact Us - - :: Skip to Link Menu
- -   -
-
-
- - - - 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 literal 0 Hc$@i6Pw$_=#+^^5$#M|oG=kVLk^!WO2 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 U+Ku$>l>h($07*qoM6N<$g2Kow-2eap literal 0 Hc$@nRPQqTET zT@0?dnbPc-!}TuVMc4K_=YG_QpxbA0^rIP&z-qhX=BdS%we^k7%}t3!oXr-T^Q9uf zK2&y&iPqMKXTH(~EsAEszv%Wi=1Q)b?*}ZHl+Hl9~MT{@rs{gNm$I@}s_P9K0IK{5U+@H@;w#)O0z#F12CcVKz6taZoL!mfAHg zTomE6INITLW$mLgOQQI?&v(+;X{>=zYVXFzrcX&H*coSNCaSg{o6&kVz2)odw+h~v zeiWl;Y+fRfG<=@IX12DE%yI>@dXe>yiaXc?(<`g%u%POKwh{5xCU~>Lwh`2e`qSQ( zw^P|wontD`Xn$7rRCkXrtgN}_f6@s3@M(C~Ho3WwJHqUr;!iD_y<{0gGjN%$VbtFD z9iwkK!-)*OWkTbiaEbYO>PiHCY;JjZb=|+bD}~8F<5Lw;-IvoM@OsD73a@M83n%7R z?xnZ9VGlhn=G{nY;(eVniEFr(%FbvSY#ErIT3GQb>pbgQ^{A+W)-`S#&q`!`Nog2R zc~%`z-lZEs|2(-kAY3wvVS>N1zOmu(rfo>L)IYHhT+#ii{)_o5R!~JZ@m2Y52=l;>C0{rT#Iiojc@1}ne%?fyAVJV zi?<|VabD{%rJ&utuzhrHIf=oq(NmZqAFNj+O9WprlkP`l>%cR7Y;x02T~ta` z{soa(aQtcmuyT?vm9gt*(l>LNhyFj|F54>-?G~X2o>>J)0uzT+WwQGfzuzh+??m>;1hzaOnZ=rz z))dGKsQ=m&)=+F-*yr6cJG>v~2lYj+F!aM;U9gc4(o;RBj(Xnea8K#rHN)vAsIQ~v z8J$pB+oICyp*bl#@x$5B!rwnlD99Em-^zhh>}KAn!(<^Ev)h8BqQWYwe#PHr$yt{= zX?f}=sGQkpt&}(CQI7glW@YN#GkXJBZkXx)y0%cdabsrye&aSLYjM}lhw$&1^3u5) z!(+IPtUTqgqx%2UGUI4SrP6ih39iV*l>Ka^^z~F7x0l5hPZVt4c0hI0rjA|Zk8>Sg z9=!kB0Kz!pCgYed+#TmKxfq|{Q#3eF@=$0oI8PpU`|i;%fk(Z_!V%mokb8I6;9YHt zFUz7Bv{XiMeZm_>(Mi={emIk>H-CkqrVUR_3O{LeALeNUk@LFq$>Zb zV{)OM-6g+$seRMQhBNfCozW(%V!fEB>$+N9cW%wmXOJPbUYxofh~u89mb5<)V!`=T zpy=CC>@gHP0_Tbc9RP>IG?k$+Wf;sFrjAh6L|oK74}~J2(9}c(@4p02WP1|f@&6Z0 zHw2JDfx))GjZC0;VqEcnu@i=fH^mT1I7c}(6?GL2WlcG-f~qp~k}?b~X8}`_bD&UM z5D6>On|At6tB_rZUxH`Ag22)3iq;P9PFMs2O~$!9;hiZ6ggJ=10k9lNHRNy1 z_cIX)2Rw=BKmlNy@I!!W5Xc<)U&fYXPjT2rcm?uOAoA-Eh$+blPkHQu2flX&ad9SI zDZOF#w>qZQAO*lKsj9=_8k*{wCFwOZ5IOV%Vnup_2cRfaT&B)6n7Z*p%ErRIaB^16CnhQ2MI@Zc7y!qogp|pR1<@P!!cMG77xd&;V>5o8gM)mdkKn%!8Pnv YK!pm}Ul`f@?Dm5h>zkpAP!9tB4JygGdH?_b literal 0 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 literal 0 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

0xSSj;#jCVb{>zWD27m(b@IwW7d0~PA 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 literal 0 Hc$@EkTAFgch}%fkO0BmLvVMO1o)cs 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 literal 0 Hc$@Z7JXTRw&;rWT`vd$C_@wNnX8;P2 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 SL*$Pa%s|&f=b4ss)PDeal+pbF literal 0 Hc$@eRVWvO~@!?w2 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 literal 0 Hc$@4J9A^w5+lML`51pmanj7syYS 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 literal 0 Hc$@?v3uQjT$j} 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 + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/public/docs.css b/public/docs.css new file mode 100644 --- /dev/null +++ b/public/docs.css @@ -0,0 +1,436 @@ + + + +#content { +background-color: white; +/* padding: 0.5em 0.7em 1.5em 0.7em; */ +padding:0; +margin:0; +text-align: justify; +} + +#content td, #content th { +font-family: sans-serif; +padding: 0; +margin: 0; +text-align: left; +} + +#nav_header_logo { +float: left; +padding: 10px; +padding-bottom: 5px; +} + +#nav_header_logo_right { +float: right; +padding: 10px; +padding-bottom: 5px; +} + +/** + * page footer + */ + + + + +/* +++++++++++++++++++++++++++++++++++++++++++++ */ +/* + docs.kde.org styles +*/ +/* +++++++++++++++++++++++++++++++++++++++++++++ */ + +.subdocs { + font-style: italic; + color: #505050; + font-size: 7pt; +} + +.notfinished { + color: #A0A0A0; +} + + +ul.branchmenu { +/* height: 20pt; */ + width: 100%; + background-color: #418ADE; /*#009754;*/ + color:#FFFFFF; + font-size: 12pt; + font-family: sans-serif; /* 'Trebuchet MS'; */ + font-weight: bold; + text-decoration: none; + padding: 3px 5px 3px 5px; + margin:0; +} + +ul.branchmenu li { + display: inline; + margin: 0 10px 0 10px; +} + +.branchmenu li.current { + background-color: #DFE7F3; /*#80C39B; */ + color: #FFFFFF; +} + +.branchmenu a { + color: #FFFFFF; + margin: 0 5px 0 5px; +} + +.branchmenu li.current a { + color: #FFFFFF; +} + + +.languagemenu { + width: 100%; + background-color: #DFE7F3; /*#80C39B;*/ + font-size: 10pt; + font-family: sans-serif; /*'Trebuchet MS';*/ + font-weight: bold; + padding: 2px 5px 2px 5px; + margin:0; +} + +.languagemenu li { + display: inline; + margin: 0 5px 0 5px; +} + +.languagemenu li.current { + background-color: #DFE7F3; /*#80C39B; */ + color: #FFFFFF; +} + +.languagemenu a { + color: #FFFFFF; + margin: 0 5px 0 5px; +} + +.languagemenu li.current a { + background-color:#FFFFFF; + color:#418ADE; /*#009754; */ + margin: 0 5px 0 5px; +} + + + + +#appswrapper { + position:absolute; + top: 90px; + left: 180px; + right: 190px; + margin:0; + padding:0; +/* float:left; */ +/* width:66%; */ +/* min-height:700px; */ +/* margin-right:210px; */ +/* border-left-color:#418ADE; + border-left-width: 7px; + border-left-style: solid;*/ +/* margin-bottom:-8px; */ + +} + +ul.apps { +/* position: absolute; + left: 18%; + top: 150px;*/ + float:left; +/* width: 97%; */ + border: #418ADE /*#009754;*/ 1px solid; +/* border-left-color:#418ADE; /*#009754; */ +/* border-left-width: 0px; */ + font-size: 10pt; + font-family: sans-serif; /* 'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + margin:0px; + margin-bottom:10px; + padding:5px; + list-style-type:none; +/* min-height: 500px; */ + width: 98%; +} + +ul.apps li.appbox { + background-color: #FFFFFF; + border: #418ADE 1px solid; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + /*display: inline;*/ + margin:0px; + padding:0px; + float:left; + width: 49%; +} + +ul.apps li.appbranch { + background-color: #FFFFFF; + margin:0px; + padding:0px; +} + +ul.apps li a { + padding-left:2px; + color:#1b2D83; +} + +div.intro { + float:left; + border: #418ADE 1px solid; + font-size: 10pt; + font-family: sans-serif; /* 'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + margin:0px; + margin-bottom:10px; + padding:10px; + list-style-type:none; +} + +div.error { + float:left; + border: #E72300 1px solid; + font-size: 10pt; + font-family: sans-serif; /* 'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + margin:0px; + margin-bottom:10px; + padding:10px; + list-style-type:none; +} + + + +#appswrapper h3 { + color: #505050; + font-size: 10pt; + margin:0; + padding:0; + margin-bottom: 2px; + padding-left: 7px; + font-weight:normal; + clear:both; +} + + +#menu { + position:absolute; + top: 90px; + right: 10px; +/* float:left; */ +/* width: 16%; */ + width:160px; + text-align:left; + font-size: 8pt; + font-family: sans-serif; /* 'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + border: 1px solid #418ADE; + margin: 0px; + padding:5px; +} + +#docs_search { + padding:0; + margin:0; + margin-top:5px; + list-style-type: none; + font-size: 8pt; + font-weight:normal; +/* background-color: #418ADE; */ + border: 1px dotted #418ADE; + color: #000000; +} + +#docs_search li { + padding: 5px; +} + +#docs_search select { + width: 80%; +} + +#docs_search .text_input { + width: 95%; +} + +#docs_search .search_button { + text-align: right; + font-size: 9pt; +} + +#important { + padding:0px; + margin:0px; + list-style-type: none; + font-size: 12pt; + font-weight:bold; +/* background-color: #418ADE; */ + border: 1px dotted #418ADE; + color: #FFFFFF; +} + +#important h3 { + font-size: 12pt; +} + +#important li { + padding: 5px; +} + +#important a { + color: #418ADE; +} + +.smalllanguage { + font-style: italic; + color: #A0A0A0; + font-size: 7pt; +} + +#legal { + +background-color: #418ADE; +color: #FFFFFF; +padding: 5px; +} + +#navigation { + position:absolute; + top: 90px; + left: 10px; +/* float:left; */ +/* width: 14%; */ + width: 150px; + text-align:left; + font-size: 8pt; + font-family: sans-serif; /* 'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + border: 1px solid #418ADE; /*#009754; */ + margin: 0px; + padding:5px; + +} + +#selectionform { + font-size: 10pt; + font-family: sans-serif; /*'Trebuchet MS';*/ + font-weight: normal; + background-color: #418ADE; /*#009754; */ + color:#FFFFFF; + border: 1px solid #418ADE; /*#009754; */ + margin: 0; + margin-bottom: 5px; + padding:0; + padding-bottom: 3px; + list-style-type:none; + min-width: 150px; +} + +#selectionform li { + padding: 1px 5px 1px 5px; +} + +#selectionform #applybutton { + margin-top: 3px; + text-align: right; + font-size: 9pt; +} + +#applicationform { + font-size: 10pt; + font-family: sans-serif; /*'Trebuchet MS';*/ + font-weight: normal; + background-color: #418ADE; /*#009754; */ + color:#FFFFFF; + border: 1px solid #418ADE; /*#009754; */ + margin: 0; + margin-bottom: 5px; + padding:0; + padding-bottom: 3px; + list-style-type:none; + min-width: 150px; +} + +#applicationform .ui-autocomplete .ui-menu-item { + font-size: 10pt; +} + +#applicationform li { + padding: 1px 5px 1px 5px; +} + +#applicationform input { + width: 69%; +} + +#applicationform #openbutton { + text-align: right; + font-size: 7pt; + width: 29%; +} +ul.packagemenu { +/* background-color: #418ADE; */ +/* text-decoration: none; */ +/* float: left; */ +/* width: 15%; */ + font-size: 10pt; + font-family: sans-serif; /*'Trebuchet MS';*/ + font-weight: normal; + color:#000000; + border: 1px dotted #418ADE; /*#009754; */ + margin: 0; + padding:0; + list-style-type:none; + min-width: 150px; +} + +ul.packagemenu a { + color:#000000; + display:block; +} + + +ul.packagemenu li { + padding: 1px 5px 1px 5px; +} + +ul.packagemenu li:hover { + background-color: #DFE7F3; /*#80C39B; */ +} + +.packagemenu li.current { + background-color: #418ADE; /*#009754; */ + color: #FFFFFF; +/* margin-right: -12px; */ +} + +.packagemenu li.current a { + background-color: #418ADE; /*#009754; */ + color: #FFFFFF; + display:block; +} + +a.pdf_link { + color: #A0A0A0; + font-size: 0.8em; +} + +a.pdf_link_sub:link { + font-style: italic; + color: #505050; + font-size: 7pt; +} + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..3da9f16ff2c7952683ae387d4f881b8f475121e1 GIT binary patch literal 1213 zc%17D@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5)E5xo z6XL4buv4{ehepFrjryJH^*an(_vEfP*SO`XL+=5#x*eIz&U#NdqTjsRvG3rcw_m>g z_!U0;gkJOR_2-}b`Sa)4o!7QK`%T;T22MYw)v)vN+b^HL{|uXbyk*<9U%!99`|=}e z**W$4oo(B$z5eul;j#NAYc78L`lD~p%@-fOb?v+nzu?r<_g`DLU3>WE^Z$Q;H(z{e z*s|NKWAC9`udDyUVU!dw#TS-Pu->~+pj#+Y1;MS>yPeTH(q}H_WRGD z-rYCvy!`b4|Nn)@?>qG${PgW-=&a*!K7UVMbXvD**W~@TH=KX+`P;&yM5ay& z{Sk8YN~);>+lGu&nVGLooO=1{rLnV)fq}`R2gYU>O--3+C*&orOh2lfnVX!Q&VTK| z!v`;pywG|1C`h-eFY1ef%L z<;2vinYOluspI?snb|8QE}1uH(yVEG8>eY1Pd3)pwVt4Qyod9ZX&PJqojo;dVrpzG z51zCbF|eGIi(h}!e=*RLswJ)wB`Jv|saDBFsX&Us$iUE2*T7KM&@jZ%+{(n#%Ggrd zz`)ADVD3z-%P1Oh^HVa@DsgLgbEGLBsKE`Sp*TOSq&%@GmBBMNF+J5cF+DRmTft1v zT+c$+QUPd!iLQaEuAz}aprM&UMoCG5mA-y?dAVLDNOdk)wO)Qv`kl77Km!>hKqiJ{ zl;$Q`S-IpVm*%GCl~`E?0F@Rq7%u<6TOUmg*iI{}jMU8Zj1mSzOCx@UqE?_9aZEMg znJFb1ASIXAC~^RmNFpim&CE?LsVqok0J}=RATQm1Q1}V40X~WR#d>n3QUiWR{$0oMvH^YLH}VkZNdTk)j9Gp$BwdSALBeD8M{j L{an^LB{Ts5M!yLs literal 0 Hc$@h1qof0Hxln<;d>$%`x#ABd`=7j(@puY28T9-CWE zt{$-Ynd_R)4=?Hc+pVU-NyWm-`sMu2Z?jufYIVclbj{02#?x-;j56^>e^uW^Dpz88 ztp*v-F76x~omEmFcMMJ`);3gSU9ypxCHBin&pU#FiAC4+#)r+L2cxUbXA1d}>4}9E zue;5yQn_+%qiJXc5zi*&ith7AR@YUmioUES>Creg?s{Ee$J^yK)uvW+|-^4f-UR{2d<>(lnP8IDI0u zftbn{jml~N>hS-)-Qfn0FPS;_KzJa!$}PRIe|%A=)lM$1{!}Ku_^_?GV{B$=wfpV- zJ^sj@hGA?{?SsY<#p*^y&-l3qEy#FIL}~BJx~jH+$||Y$Vs`8CUwC5Kf?aYQ?Qw@r zr+p-R{agKzPN#FI4rb|xjeN?LSTzEUQQ^Rd;pQ6(d$)IXvh@cCc&hB(iB3K^(Qmgl zzAV5ALFRi z5*NWm`J0Hy7zwrR;o8W8y0aE&!X3XTBnYfuW~$npOg%CX;vzA%y$R$D`#uYultEix z)LczVjWBV%8I`tk=dN6LUR0ZmY(zM> zd&`Q3Ihj@$s<+NAiHe?+AxLUz{Nw^R3GK%{n{Oa5oan1Bu_(*N4kYD#&#Sz0t3f(} zn8`Jj?9FShFV4WQxh8vo?8)!7EZ4S!=T;ae0)7t6KR*`y^_K4$YUJhATz|=DgYmf^ z?zFZM-FQCrlc86av_HC-!Th8|d;fFR>(|7{pk&MBOPaRXao*n8Zmd|Mhc zj@xJOv~A4jUQbjDj-<>qOR&tMIi_4K@N@6ROKHopg86*|v@eZwtf-Z~St9ox-X@(# zb{l?L?IwIIGT}*&WTyL#5)Z`{JX*6%%4P^EOB@o8aR=0mb{`J2X%_U9D*N<;g%^7q z?SIUload@Nd#7>Iqsl*>;5VK$GWhN<`G^xqUXp!ZvG~>N&((vA425#{eyVId$0KG$ z!8*OaG;Z#*>xO5FN)IHc4OAxl2UQEwnAp#cM^Aja$1N`pRrz>VBa4?-dcZV?9(J3h zBNwdk7n?(7Q?G*`DyR4|<$`v7-qf4&$+Y)YAsp8Aw zfih>hoM-xzm=J*y0>KVo(HJ}ejX_{AJ{UWKHJ)IFKY~UR(CDmt1o3|fg6RIVfQbJu zkT=EAVZlkgAe0`!3@3#^z&(gWg*-@98s!HwTcjNlhrpY`6|50x8w3Vx=7q5}3uH1G z1QaSfJRC{W(?RcOBt3*WoHPd)1g83mK7nCDWCDRmr-TJT!At_d6GlS;CSS)v{egLR zCV>zL(Wrq;fWc#TfRIF(+5NxFIhsE+P>+a~-|xG=Yp$8+n&-LCnKLubxzBwfRaNBhaVc>@AP~MhLRt+NjsKqD2f%eD#S;b$ zn3j^tk|0oJEZ&U?7I1&hRZR{KDj#{W4cyR~A=H#XARi_WC@2I3x(23#wm=|vZV+e( z@FbK10+BmqG`$i579N-?%1MLn{vID&3le}C94CaXD=;GdIc588#Xun9eR*j~4X@e# zOm91bY4@JMi(!?Kcb)Xzng+F8bsnjDcHQz%=bWjYs;oRyc_QFoR^Tv3$C3uJM{^=@ zYpnF3h;Ixr>D?;h(8yIGRy*vv)!g{nSIr!eycaU_f>I-5CmTO+k1S+!&ErpKETz>a zu@g|)_4A%>zN4a>^R6*nVP67tUGNkiAd9dM@2Km+I;Qgs#*xl%gBW`_Fp?<#PUs~2 zfUd%ZZZYVSe4uz{Gmv+Lr7hQi2=B84cDQjh*p3XVSyPgbn^f~#uD5`k!dR{}7!rYk zG_ivr7-)O4JuR$o&GyxrW%s;5v|VD8U80bEVneBy;S0ZR52E6p zG4ga9g{{;GZV~FI6x#BIlwegz?wvl#!Wkw4Cy$fLNUR~L_Ie!i7I;d;FAFj{sa%%%CS|%LL^w7=RE>0qo7m~ z?tP7$kcu!Oit;vS=zPnanh$K<}_N+C5a8^#LWlF54|8<}Wv9UMA z7-PI^qeQ;HnA9Pwr6l#(^mm52rMAg+h2aaVh@BgFChKj@CaqgQygSv1g|zgDi9u zPb3oJlhCHOmlAlS4%iQvxIW^2vE&{4a?_N+rv5FX?8Dw4MUFx^eKHmuV`A>vEz=tx zTDQ4Cp`^9Nz`5a>cGk|0@buK6Cl+612t{ggV%|_i?fTyq%Dn>8o7*q|1S zT8N#>4lOyIl@$~+v}hI@<0}Ha_%0mFd#p7VUg1;VGqxmrE~nO3_a^)xJ_gV0HBmTA zaj)C(cL<lnpl66F)nNTGJ&YRvqNfb_lKJH zfM?A4@lGC(fd`&vIp=0uwC0oTthMdV){UNo7%hcoWHN_w`?d4+MFR~BFNO8*&eJ(Z z9;LX}ZAjg|Fu7N0j{asWVmTSt=-^)){-woH^gv%*-n%k-xRw#NueI<5H*Mi5FTELS zcI`}WP8mL|j7+LJFu(e2ygRP@gLvEhW7!}O%K7~P_3mn26H&292@UYEd50%8k$;v4xvu!mpcMo`Vb@O` z2MDysP_GH|aB6Pdh!4UvuvJL@G9-io)4w+CiY(q(;j_z`Y|hXb=GJFmH9siKM{ zPL+|wQ4KM+dfpQ|`yhfzz1qTER{77aW7FmOl?k-*bY_SQORT0lqt{MPHZ(BwtF?N0 zwS^kx&E*+P|PMg(Ij1u#rP=xQ~uV4+?xV;Z85p-Uy{uySX z0n+rMO7vbQ1JFg`S-HKmKg{GhB<;PPrE8+L&&fy=^qexT0zOKUw-sBLmbr}%)DvRd z#9`j~J8U&6H$vWh!q3c@NIG*hZ#Z1~dYSV_z-JZ=-j1oYJX2(!nUA$aK9 zk(M}vh9nQ8=1lVPzsoDi@C>iZKnw0lorGEH^euj-tMWhcR0bUA3}JdJNf4sW;~;m= zxyj;RJTo0usR(mJE*uNjI#l0T#$2ptVoG7MU;rGXtG%9`_bDRj*ffm|U33g%@z8Oe zJ;mZb;eK|Xo(`hy(j@M*y6=CF%ZLK$+nS7BKS|l7iJ?*wDyL6nMT_H->+512^DGb3 zu`;v5-|6XYi71e*At{EX+(vzpbX)0B+)&a@S!_y7po;iyB50{>6@IANvlD0}#P1L> zzg(Dve-KZbR+Sm?4Z^e|lXQ>d^Q}o1m59R=j)6;DNQWS3_;4Tk7ed@(!o9AeX;789 z%RE+URjuuVmgmrws&y_66EET#Jve*JWc z&{`^<0K2fBvOLDOHGDjmR$@$_m9H1E=SLf)t4TUc8b{&2RE-=jv(Z$tK}?L!n$625 z8@pmU;OiU0ETMTRI-8qP0jlB#K5+n{N2`h$o!){4%<+u4GO0i0V^sbyZ&;CB#c9gk zgTu`#^_IaYt-q5CgxU1+crP+Qg#c4Y7doTbJ=-1n+=WR3l=i?zL5c+(V1qQCCzDxn zpHZT&BF9Lr2I}=0H{pwNG;cPV`COpdMy7K651l6lrjks8-|BScO+(p->No0_o$_jF zS=Y(*=4}UsobG7@3Y;V)^ssT!{@9m~D4uf+12r0-pC;?aqEckPYAF3nSlsw!_m#=( zHW<3sI&Wdu)UY<({k_AKrnl8$Ba5@1^DO&xE$KTVU^}o>=_90TP`OvBlDv#pqjmQH zx3OEjjBIaXNo4ALzWcAxO6ou`6b6 zH&G5}e)m1OvG7FbNRCKgo+=9u9aO2B;Yhs$?6#C0A~V(~A}1Y=n>HXoYc>SfA4h+@ z)+iVe|F%;yAYcRc?yzL=W_xtRwZ@m1%56gb>yIB=2Zp>RqpX4w~RkB3J;F;6Nh_5ZF*?c(nC{klwi@CTJ>u1?W~>K-HN z59TM`)7KnfOP0mw@{GHEKhwom&#X>anJWuTH5JNtad1NCHhr#T%mXNi&C4&4IPgR~ z8Md&xdBvywqp2#xXNXs|D zen5-;vO1=p$le7MDUi$!+$2L~8wy)f$qKC!?my3Y7jbB2~@7lWg;Usr%jL#6c{gX+Y@ z9b?15((#39L%2V;y_%--(J95-`;3jVB97THVKaRjZA>qwyvCsNw$-uW9^a43q(luUaE~){ zTK@)PxN0)%bC$XwNH$Q{31vH_l9lKYnVVaYA{=_ItA^=krHFt3mPH))Emla*BLi~X zeytwvQ#Bn?Lo-nLlriVTH6+ov8dt2gIe4+PjIw?5enISkL4Rs6>myHcKiTT3wkc9#$EsGWOyTz-^A2C86&_qLRE+)o?J+iEZ>Qq1`m}-)#$kab)pgLE@ z#0wMKAZq(rj6F^>$JhKSoXI3~t{ouwLRNPo`TVUcFfqEIiprtweiPPHAccQMBmLa; zsgnd3;#cYJl9qakx@7cre{ZYlMc;GnqI;uY?% z3LUMM&A2Zk7g9(cCjadvN+8oW{(wa}3`~6eACq=_2=#O*^~S&Jr3_YDk;tit5O4G) zB{(Q8=;QJ9L4T5PmEpOy`b*D13*jVkCs?XVhry0sn(%}keoactIH=Uc0=l#Ye>O_6(fKC|G!R95id zPdXZl5h_K;S1a@z)Y<1H^Rvz0IQC+4Wl*i0N(2=Z;`U*cr7N`sCAHO+_VvU(;3AlR zEoECxP~U08V&B?lAqj2=NZqB-47J*N>*<{5rx&r_?Qv`DnA6x{RZeEVSYL$xQ{vac zPqOB;iCOUb{^@m2({_=~boW8oHnBi`rvmWK)cCK@>k_Lgd)~~M$S7EQiTLc~<&Li| zO_br+#D=8AtP7MeRbaBdovO%EWTE*; z6^RsctMX)CCr78LF)Oz*6f06E!t8x=wbD5*qx!9_MAWJ(@-lp1XdNY}zqumOy#KC-@r?3{6{ysW<)NCs)Dr0n z+S7(;P4J%9{T;&0wQ$d}+_KS^(+x+`izs3`MnG!hci4|Mb}PxUtY*WwGHCN{MTY*Q z7ynQ@$b;F(TcleWO;mU@mG5VX?NVDabC75YPSP%2@ky0B&3Sui`!`YfI^;~|n!D$v z3#a)39CzaJDOmu6g#L1}`_+`T_vK;TEEWg84A|5L{nRkQ?@ou7`8UQhjc7p0{+QTX zUFuP&D?3$tZ726Cirjz={?UeVwH>qI`u@#M2TQLH(~(>}pr-n7S!w1b`hME7In9!t zivxvgVRuv7F#u0dTI`NhN?DM8 z0!mifsHJNz=W3riPFq|8ED23r+51WYwB%=#S-L#LGGL6jXX3)Hp%q__UxW)WMU+(A zzB%)1qbrh^edDZh_VShfj=80o?l1p{AV86x?05PML@p=<)QQuF&}G}S@I!|q7eJip zp%09{x$9D)AsJg|C$$)0THGaUfc_B$6(B!zeQJ*qxWOcBW^?nm+;5;}HyTfO4c)$r zj~_YWuFMS+4QGea(~+n*!bCEo7l%AKzOH|xGxD#@Tx|^i`a@&;JYmrXhL?Y52C*Ok zlHi6UOy!P|2V6imvy!|S{+OV*+MmuP7&69B!<3;~Nj^hXLyv_zazd3KAx4_?2vG=z z?i0%}m;h`T=&a_ev;S7y+h2Ku1~m9&rMbn%%Ueowseu8t_vFwKBI{Fag?r&Qe+HAiuR6eQf+<9aulNKPU#VdEx?JZlY>T<@iI4w~ zI?WmW6^T%}uvK$$h9RDrl;iTb_V@yMn-$r2yhjctX81jL^XHp6dZh9YmF|?k+Ml=l zF`%sf0+-Bl0Es#H$-gymjGyrJ=Qj6%2HmO zv81o?8r9$mtqZY)f%3O0Dr31f+S**xeL93=!jIQioR;m*;l{cU(DlQ+?kjpg?1^nY z05mqnt5yE5ijhbukc84?gmUkuTX*@!Lk?PYHjMI(&;=14n)E~ED1A(J9tXnDT@5l{ ziB`$(DgHBYOVCcH=h?tst^xvq7~N!a+{{hfkV0lINMHc*a`OmsaPx5R@M!P|2tfsf z_ypOwxrMm7GgE~o{+EHhqq(((_y2FO*M)Kf3}pWrxH?+6d78K&LGtz{mPln2OKUS* zx)+=RoG=bSI=};zgPWg&hnMaZ&kH&$H#a9CE-p_`PfqKI&j1xNGM6FU&vB6cVyRT3cGVfp`RY2|zBP0EYbk zVzjNz-K_pXCQ9kS0Oaw%Aj;PENH=dMB

0xSSj;#jCVb{>zWD27m(b@IwW7d0~PA zf|Vayng9sFzaZ+?K1dKZ9G>_|Y!6t{`qz@CnmowD+71c4K9{|No1LR2mxYOkwV9)X zE7$*gXD%}&x1fm`FRzIyk13MZ^o5xTp9PE;$!*HdjpX5lnR5aboIreNM?a>&A530G KMYp#Px&+E*4P=SScPjoh;0pOS;ErVN+XH|TD1H6^mBgmpxW5#!QacY^X9$z=9`)CNzy#J%E~1AT_hc! zFG&j}Nm7wfh$2dy4?XKypxE3oo?nhqX3#8U``bH(rh>6b#lGpnY7DklqW@t9Ow}tD zysBl&J0)_>S~YC??OgMPZVO^TKOzA)y6QJ`Zuga4u+*+EjzM)t4fTjjdf_(e;OoAD zWOx#ZZ~#7A6U8nup2yUX=UC7y;SW5jKsJ*^;@bpc*_-#m-n55(5lcp<;A%Sw!@0$O za4=|=FwfuzCtMFsqpNNMMmy^;__&h%jd*+S7{=_k;k8{S|0pcf>l}udmGjmCc&%6Q zx$gn(`737m)BI92|CWPF5lGpI0*%@lA;T fcWo!|>e_C?Tl>%NQS3xmUaLYcBK8}1=|9g;JYdlH literal 0 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 literal 0 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 +$response->send(); +$kernel->terminate($request, $response); diff --git a/public/kde-icon.zip b/public/kde-icon.zip new file mode 100644 index 0000000000000000000000000000000000000000..22cb89a640c2ce33df2040061f0630d932ce0159 GIT binary patch literal 145884 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ðg6+SCW?fPoWmhpLGPe3m(7`BXCVJ0U97) z^Qhyt8+=36leOc-VN9rAA1yNLG)H1awEhxAk{790pK10LXEyL__!^=bJKF7ZGOWBqPI@h%fS1Q$hb4QO}Ie2U>=^OV$W?|LsYIbX%L=inj=knSIxL zE2xV3sY#VL=h&MAteqBRN3EDb4Paw_Yq$AE>9-{oYFOi}5Nlb1g`OJdDT}de z)`w))TEul*Z%rm`R_ohhdNHR-xwy3m)T$IHb#kde#IGwOxtUm4;H#Cx-GAj8npuvUxrRSvTDB|Ut%;xJ1(cBBW}tQN9w+eVMKMVf{J zdv50+LI_3-+2S6GAhGjTRZ(XQ=S=dbw%9(}P!Uf#eI|yn$N!$EeqB8&L8%4wZg=|~ zx~vl9cHmNwA90s$xn1*-pMAqlcZlLmV3dYq^EfGYJ^DX@blxuj*67y2x5t~KSiuX` z6)EOdo|uN{Qd2;+@yZQH_7!?H%XXl04jT^~A-tJA#jnofnb%wX&_4QCpCC|VA2b>t z^P0k&C78rQN%-={8~8s{vQpN-hS(+L9~OUxY^F~4q){Q6O`V z<)pqKU}P-Ze5l2n+NxkYpxmlIDZ>8g{DgJkC4I=K)YAR}i-q^%Uin@k$hkZ)z6I)? z?b#RM_svJYA)Q~e+Zk5^3xi#lK3%f7hTfovmWi>Nb6cF@@ai)nxP`xYE3hC<{|WcP zwnc^d)wKEb$iU-@cN;I1#Z$rD`5nw8?C-uGJJ7PD2%J3y-74vX5SX8i$z&VIUi9m% zb{k2g%+4X04}h5Xc|qS}D5YDqfX(&NmcifJj7`t}6#Ix2*3r+JO*Bqfou-#XBm9&C z*UVZ|*v^oOMAHUnbFv%7sP2&wWD~CW* z?YwbAI(OrsajNDs+Rv1)Hv_*#LVY{Na+>w}eY@2``f99$y$F-0x)^`NNQljiEC;^3)dd1--AfcwTZx5ff0k+6MOqmI|~vUH_tz-kvd=aZe$PC(8#{5SUWbS14a*2+*odAv@19NVY-*7AhH1WtH8<|7Oewf+&=3yMPsgq zz|*JbQym z$m0swk)ggZ`K?F$>cxosnW}DXZ?H!#&9&}t$XuUdH~Kw4Xe4si6BWC5(MC*mZR^Sm z?X$4B;m)1_zHCu)O{(5CNR{~;TojrRpD#MR@bD(&F4!$iWOk>pQpKuoewwY9z% zWG1`Gz3wr((BBh(lE7(b&}j8GxA9Eccs|jw$lB>V-M0zjsWg?fO9v}A(jEeEoTKb{ z6E59oRc^b)79?SJ+U)EPz3Is7{j=H0nmHvKok;^9fem0Hbz>JK3yY!w+fo{4A-=23 zWWD%oU@0(Ui%rRXP>nO}Be}6uP#3<#=a>-^OkMl%KgqlzN;d|dX;qmRq)GLogry_e zr$ulolyWxd=@RwddC}z2HEHxY{n*|$aytl`Yiy-pUGcIS3|;C8jpvr=NLW2K-Z-b& z*YXOe?=6U?H-a^kBl)Sn&qr2bPNs*vDURN3C%GGNbnJXClM-~@hQlay1yX|%=kf6Y9d>O*py2*r^L zd=9r@FJM5=!7%=n3a7$X*t~dDw&yDmqGdD3Eq)tc?*3T^ld~U#X*;GXp%Rv4a$bFXQ5bH z0Fgu4i#^OlWso&si@~dF3{tlr0K=EIS$U`5PzqvVq=vb5TfMi~)%QGL7L!@vvYFFY z0ipqv)oD7tqA9PZPr{c#-9Q*tMq6J$ODGk!#!#VBcZ?yeh-GGX@Ii11N=PXInFgup2k~2PNrS{59B zbJ5CDMrG1ALBTq$IWMOf?^joa40!(0YOi;Gpx4&9yZVnC zPE6TEYR;BuSXx|ux&k?m;Cy5SI10=KWCfpx25+?NM(3Gb5h0S`R7aAP&n$1O`n7w9 z;FU}dg=AsTwRxTCy9ClKAd2khu^j5g8$SDxqc+O?l6Ne2KVjuZ^;kybIX|A~gq4o_ zHCJfOPPD*oB`XrzZwKQ7ft7+g0pZC|FXv_-L1%z1DE0x?>)yKPWnX7J-^t!P>t$HH zF!eLY)q_#xY_T9}Pe%_XCyL#u%fNta7AEbgkh|7R0x?(c4TguiRJ7T&mhhZ?Vs237 z!pMmi-k!Dhx;jdipsL+|1(Am6+bpoWpYzZm-faIh>*wUjNH=DuW>&JfP1Yzx!RV(G zQGVlBtsql07N69i1Q>Ytmah9pp+}Q~th2lyV0?z<W~ zi;f%i(`oIWd|WIoSG)!=FNXNgSYnU!;ilvZKpbI-j-vPUT{OZ$Px)OjzMTs-=*X$E zgd^1X!fU;X2v~X&3Cv?5SXTsNheP6t%L&a(LTlx>RCZ<1ihf6H#LmXH4nsye)y;T4 z#I^gt5V1jmqO^!?4xC98)?$9NjqJ&%Jj5+5wU2bJ#+|jv*k0d5b>xFpip2zKv)rQn;xDB)unpV;V%tXqwtUZFo zZSfRMl13MofZo$Y!C~Q6L=`8V8#A=Bn*DaGf|+O^(Oq4+-Hq^-X8V*H={9>G)?)US z)qrl=y3IM}u0ux6x8Wg{;A68Q4HSQ$$xf78l;D@lG<2x^M+KQp6fJkvGOrUi0Ty%0 z+}owE^vC7Crby(8m0jNj3$Xpn@+q>)jGwEs2nsyANKdYoqzch=a|{%b5~$01vhAA0 z?E38$Dywy+wR8qwtLn5Y9@20P*^h)G-dhv;oCgJwm2Mcai%^q@@^4iabl!Gmqzc5D zw6R{R7d%Z&J&~WOQz+ES47xKvvG1zcZch^E#XNu0{T*wOfS>l3XlL@TsoYii!^cME zMknY-k;*sw;faJ;cAuWQ3AE{vxCux-DD)9Y_uWaXMcqtC(0k>_I1dKTjtgds_6!aL zGSfg@qbAeY->$IzEflq<@^{yE-f?KIYd07%3R|taAW>_+rilOZRvZpLE>4!4i)A+` z1T3?J)n9dzw77#s$P*85oeRse6eAflhlAug^V-rM^*7_k?u>6bzJaa} z8CsmQ0QB`2>=BSuz9vwE7wf)@?eSeIufA5zdbxDJPid@g;tK6eRw>-`Hbi>Q!&T&E z%T*tGDG~B5=5{ZGOnblmqdktLz`1z1minwtF~_w$8(B_3taYY7q~oXk_fBSNSIY}b z4jHT6UvYB}!jow??IJX1Ucs$`$3&5EKhQ9Tl?bIyadMh@bch*3e^WZ&6(M&Jnop0v zj~S{8X%2d!OBht1UYUCBId5&fyB+jCdt!iC4^fAv**qZ^V!bx*xp!cOo*%871D$qLRd7woB=FiEtu5`L zEDemxI1b3unG4OLsiBGOi6rY8Riv7$uRvN#+Mn8RG12iy0Y2Y{<%w$}H;uFFuDebk zfzJEZ@mgTtsGhSnoI*c>)b3JGb72xny#hb|!!KYcp5&o^p_uN*HX{M@$gzSSz`2X3 zkFUfpRtwZ3TE$M}%P5uBggFKVZ@5n=1&6om=Y!v%@8Pn6*F`q>-B9Za*vmBaZB;^d zodCMXgK_S=7_?nw2&CCNOS|aV)$;KT8ACdR*z+|Nwosf~dzDvl@IxK#Ix!cLs zZR(E$ZH z>RZ@{83dYVEUV;u9~D^cpZDZ!->|GgpKm>@T|-3Se-JXG{T}^QI;u>+EvX);4CvW5 zOMZ_(4F&`_36GH%Pgx>;1c~ICiU~)ZuT!VMs~WN%sY#B6Fzq7^X@9;aWiY1$nY9Sq zjyRkKm&31_(RH7!F?KI5i<>FFTxDHmrxDdqMQN&Svxve+Qs9RS23mLoO59e46K)%9 zVk75^hK3my-zrm=^(PI<9(N^5g}N4fMs5rw^?c_CfTxU;J!wDm%r&|DQ7p4VmOEJQ zE=10WQX2fiw*1U{DE}EPW5n7T^_JXc)DCx z-Je5t9@G7fZO+;euB!SZH@6Jc`TmK3Vb=qWhhAn&+r486yxRy*D<5f6_t~tC1Gq%D z@$;rKYt7mfD!z6CvNeVST<7!WX+oP4gUog}sUbckzS}nfDzXQ9lE`Ag(fEbHfccvRzJ=elx08JgIG}yVz;_Hha@;-UR zvym`C9=1dQ?Vk%BV{o5QBy-J{2K>aGF`5Hd#Wcz0e)%u0m4GhHSF!VAq!iUy2$8^{%mX<)jxsr zfs)!wKC0aH>^Kq{weu!ERa*9-3xPtM=U76S@g?m9%gu~eDP+0EbZx$_7vw+{?J2jM z)#^4n3R~Y=ny|Q}4;XnV+GUXu%!AR?Upr5JX^LoBLXx z>OGr663Yi!(D^GZ!P_A%*KrpceEZ;zvn*d6pz`=X(YoJrwJLD4oSvHj3`l5f58b}W zm^W?vmoL|L^Dyjs$wD4Tr-1P!IGCW?Fk`{68uw@;9+o436)dQ0t7Tm%`c~2%{46*v zNHl`8{W4<@WzyO(9i>m>qZ!6;oR-0^v>2BwfPTKvyu_M9nH+ju+Pl!v-l6Hmf*(vL z-e^|ko8D|?eW)dIVi%4L_hc{1f*Bw!Qc05LIlYyP29w{I7J%?duA&2Srcz4kDo_Lh zhkkQXCl+j0nG%6A8qe~jWhbB);rgs?)l@^yD5jq#uJX%QVz{f&DHDn@U!}FHTL_98 zz#aSDAnHAcILLnh9*mjByAdjZp??0}?VRNV^Tqj>kaG4Q007o|axuI%G`%(?Hr+Q3 zIQ_%p>p}YB>HFZ-_0$Csfl`oB&QK5&kr6%5HTYio7}^P~4_<%&+(PvS#>An69{IqC z2Y08|HkV)loLXG#mzrJux7e8kK!-twKS-?DJJ2I=eZ= zTQM$w;yE(EFp&GxgFuHwLPbf0|3gfLGQcPPgDC`us|SXlAUEz!;2DmG{==H!M+2)5 z>smKxr8~boJqfgjZ*F@H*uvkA5B!^&4Ky??Oz%_zG6Y9xXl?VQur`B3XaJS!Mn-FE zKmyy^g3@OPp}*>qBbfX!qhDvDDd7aIy8i?E-$iI2?hy7HE&xCW-v3#IvM{>;NB_Sf z)J;BVV9mBaA73OBkU|jzq!+cC z3nQZ*$egZ*6b69V8^60{cxcsuy9L<^&3Tggcnmy zK%?Jg-ve-Jq(@DvC9l;!#^yrQA|)J#5ggJtvCa?24%kcxi((f1bDM4=e9`Mg8o%Oq%V`%aFDt{;4 zTpx~(jR@0?`sD!!0cf-p9ID|69QQGhq2<8vIEs%mJR%SEdX0*FHKulUiI>(vnXm|c z@M-PMs$b27K;O@bIVh#9-2d}b_lTYhXkVt6cI)jO>!+b#1XFxx`g<9sVo^bwqx5-W zgmIhL%xgaIj?6--40jbx6;huE8~6dbCt{P>R=m^CM1b25I~tAEO(OJ4iKqck1>Ms5 zk_!?T*NuCfCr!?R&a8uwePapJ1s6PwM}e8}NexlPwR5X15ho}mJlf>sD37T)kqOL;a{^;YOMp*;xxuuHQpulbrC`)aKKc!ut1o3)wA~2M8Y!smN>+(?hbBTH$vs>9TL9s15pvl$5)GcJxpy>oIIRo*$mk zay5q##T0rNbIw@*ied&=@89^fHM&v4ql2u~-d2l!|2;u&HR>j#L_1xI1O(OD_{uUe zf&rDUowDw5R3$UqA;1`BaGyuuMN_w>)55#yl0lwgjeoEn=W@8uR433xwQ_; z$vf*AoORIBJCoWgWyR<|S7S){SQAnlouq|H)W~5O=aF9c4{)UE;YMIhw}uMwKWn(f zWrKmqOd69pEo+jptcJtIp#z=!U#~K8Kf!O(3R!~c{_J`q%Ij+3+N7d4C@2HaXPx{{2tY|3n8+0E;$4;erw2RAABo&46_iV0nl zYNvPtW{3lR;_rJg`OLLxtX^aWG0u+iQ*p#w?4|`;ZnP9qAz7&)*V^p7c_JV-!;Ox{ z>-|Z}FrOW}Q5ZHtAygpd2k)=TR4er&QJ5V@+@-p*9JJ-=QMN4~#6H-}iuMkL*j%+7 zO(s-)MCbs9$=4mbk&X;{ft2pQ1;P=IU6boEm}*j^2#W65ug+o625rOWxUc=2+~XK{}uFYb+Krrv4>& z1Bqw#-En|fZ{)qOajgl|{j!v^#Wf!5TEgc-yxrN$(($$Kqq zEYd;hax)K3+Wrv;iL-KRH>FLLMb*9pr$1Q))}1dJ?fwD3+0CA}UHdUn^0lDG59kPD zOsyibyk+g`M~=w&J)8u*|YwBgw@u#3g_9+9Vu`Vt;7oTJP}1_2cZtO z`{?_C{UTpLJ6v4>1cTZ9v#-8!{YH!Jn_ZsARyQ+e2h%P3q1BdQZSyp!tK($xH}8cs zcH`Tl;(5~I6jAVhb=PW+F^C*KvWBWdNMY>`EM&G%oVNEt-+s7nR}-Ys>>CeiK+Mqq zW$F6gq-kY!Qkqm{C#qa7sh(7l^cKZ=n`i|>7H{>d@hLz5DuCbNYErf4ucyen#W6g@U0t z!;M_TmY}b`X3Mm5vSUPw&2-r+kG)^uJcb>3BG<{Di7ylumZ&v|5zt-~bX!X(cA`p{U22C|J zfa9*Uy#rAPFgrc>qrXPCE_J$#A06$1<0&!i!=}p+(cH&%fMjMO= zNlUMgAx)0^XFz?k%#AUwb@uVvtc%ZfHhOqOG%eS-rCK6?;n>S#g#>j*`{_D-m*1+8 zS0e2IkHkQ;DVhEGzt{-x%Kcq+HTq=j|6cGS#WKZq zALyh#Qg9@xZ3wSD<(cN`zq3c`B>T*AwhhUpfPb`AQb;@znUXc~$;yil z!%u(e1Yg~U5?Ady+1T{;NG71r;UlD)vI4?Nui`PO|gK0w%A`(Aj);7(e&Y5WFkT{g_xXt4)mg#V6Bj|52Cfu- zX>y35xRH>2?^WY2d88)bT|~HsHz66l*Y+kEW6fdqv0sf44urezbrvT_xEwKU^HNOQ zBuP|~%s_qgF1`h!5Y73Vy5Pof)1D=(fc_g8f>W*0J*nRW?W%xgzsXF`QReWz+daUl zY~RQFr0SNv9)2_!^&NH+c!HIFyqUD%H8?WbxcI4m&Na*sEx)@voGE;q(cI?zE7ICWxyzpQ*rh^OH7@kGWXWdt6W|$(3oSAGN#|) z^wqn8ccy*5c_<6_iY$zi1LR_UdtleM8GoF3-73&$-Yttylhre1!toOeiSBw#PFZ-< zs)-=*TPt0d(a^~%+cYKfJa~|ZdrY3* zZ~tE0BNzr#k}K6b=ts@lSh_W$PI+yj5L@7rourZZoP7!9nsuzZ3|Xf{E18y}mO%5i zM7dJhGW@ysDIXj6e25I0?1)-m`a2bfDhqMdAz*uPMO7sa zBTy05pG|nZQH{I~n^5#~rbk~z+jd);dfJbTt{PIzq-`o|V2QKahPyYFI$Pqse8z+$ z0lhJVjP#q3)#k)gWiv4zlrOG0DI1%EA4u?!4hj`{;l_ZM>+iuGY{YUq$e58QysHEU z=Z-SMFOfPV#rV$om(_-;VM!X&)-F8cwMLI_ z%eX*PC&NK8wVg(4Vdo)5YtCMhImQN}_yPA%3U?|{>WI9{99^%D>T9LeSd}41-rf}V zN3vu>cm79WT2lzeG*Z03!~-Cq(`b&Iu~Osi7_ZefU^DXD8gr3IFx6j3vkFofOglzq zX87$-5p%^rmPApY;AKhFvsqyamHa`pa3MVUw?>gE_g1rF!UCZ)2#G?j#_LyZ5<(W? zi)BXA`}COw5*&EzY?|kKaq;ayP}Hw*@#Ytrcn#5d8w4~>bMn++qs-~*Xfb8s=o} zf{dZh6XmHhv|1HSJ{>u0qW~(VT=m8kG_0RNM;8Q~N@>dGP)7#hkW60m`>*Qlk;|PFNIyDkBa$AQ?@?pe2-37T1%|_Q z92FpN@DHnJ+~Z!{@tBRBqAMHs+ITh!IXX(l@Qph`YVyRaZol}ur)9h14Ck2r)Hq8+ zaeFqX!%E6MODkkWw$JqpE{U+nc`}ufSCP(`kLdw`gINSFjkiM1FQEHMwLDEUq^kH{ zzCq6m@71zZL5F zi`maj##xiNme1B?dRxcH3hC}rYA@b5ah+$FDIzh*rDZ*x3fE&w$k7Z>MGTBvB7PEZ zg91c@=J>nxF5i-vmS%cB-SsmtwB*oGbcAcmmU}FMs^DCgr1i{FRZyLnjmbPa+Hwxs zF6JN2J0ArE9ZtA`U!NVUxZ}LL3qCV(C|)UxQ)H{MKu;g}R$ubgdSG9Q{+(Op=*#P0 z6bk}%usD8lHkv(Nge5B&w__}E>2^1CXxQ=jG^Ue;W2GqlFM zxNP5tGpjnR4UXW+BAVbT>|tOYVa~DAtFB{iR*O)hBX{CRi}G(;M^@DLrJ}7N<|&{kn`*9^&5d@hs3{ky+*oyHN|GcOB) zKlPjU&y=TB#+s$$EI5_-J{6Ye90Oo*qmGViX7eQB?RDMn^Ep#h-&ipcu|vSIJ*r%D zQ|V`D_aM!v-*s@Me9zCzp$f{0ub;^tDp3IoS0L8>H7{_ch{q0Rx|IeJ9GkWSg*K0jTAf}(_iOhDd5=vqkRvMu7(7&D0v2Efrc@a!s$0u5&5e$CwGNtmsWsJC zh4}V_my4=zn3BiXR#}NyN$7#1^${24h1&=3iPIVW&O1R^;A^Y7WYqLD&b%n9rI_;_(Z;|qw5u)( zfwA}y@&OYo`u6(>HsX(QRaK%KXW6{ar1)~gEIGs0vXiOUlkDM=n-*s;q4?x60-PX^ zZ=wYKM^iNj7v0+Hzl-+)gg=svU;qv4zm`Wr$3`KO@aDGgFQ85kbmd0(~ zCgdiw(H+puy*c!k?*tZ$Q-pI(PT;599mmJFH}1UXCw_k9@ml;026McbG4P>D3X1l}rKUdLYDLZ*@O05rm zWyXEIgUwqXBrHkZ99~rx3j^{`pi;ZE-NK6lmqqPnZZD(WS0ru-Th<*vf-Eq;cxJ4Nn*14keQDn5 zEq~@#`8mUvZF4v)Q_{xM!HxZOa8k;YuBrX|e zuIOQ_lqV#89z-JqQ!itKY+-{F-e-K8cv?h<{Jj*jPAFRPJO4irICUQE&|8Dw`P4beXRs7P3 zMPtC4wtY7&%$v!hhs%-8m443ct6eat1|u@{G!x&lbPdv1{%z~xqM ziLVPCk2dhjSm9QL3enAq2K5(zAF!`YE5bEzl7-Fk7{p6iWw)yco=DJ`*#{1lp3OKa zgw4^h3z{gnb}}nETcl)^QO)UF|2!;bE~9jJnS!>_Oc?5%Y@Tya-l&2y8Od8*^jchn zVsZZA^hM$rCYvbprTn9)>0h$z%8LFW9?n7kEmP<0T1S;z|`MDc&$%J+?TH z6>^*`fT}}iv{v;><;(kSS^tO6Y!S4gY6RDrBey27sL+Q@1Pl^2b9T+mhw1kqA2O{zfQdlb_e>TkR zcLvM7eTFajt8=tvu^Z&WJAgw%T}giu8wiXFb61%-SEv-S4#1%)PROTK;4kD&ca>q0 zS}3PF)VBA%dLjy(k(irJJi$i-qo&2(cXVKi*kvXIc!39m ztAy>LGiEI08|?|8B{{@wxw-k{baLY5_q+QHdNn{%98x0r-MK95VO4((Pr6Ac%;uUj zWNGkid!?XNdXQKnZtYm~3gdrUrV7t`lUj1NoX~3(8*34pi3;h&W8P2A&}3YSc<@ra zX)3aNi_9Q}dfSTzsooI~BdF_=Jisj)lRLAgXw?|_Q}?BvFX6?C7YXl(=^)^7WNkL< z(Jl4fa>lv&9oT$67EF>($ivifx0Pl^vkgw&S%IywYew(7aA$LV8GP z8HM9Edqdv0t_!oXe-_2bHQL)Gt<|To#lgo397>1dQXOaLIEFoHv$BZB1FPxE~ncu9e^-pAvnF zL?fU;I8KAa*habFbBDFR(OrpH0e*0}PCz%bM`4R@1VQq&xh5p4_py818N6yXR*(y> z8P6`8*#R{U@myIAbm&8Ru0j+2boUMdR$-T~Zoi-bY2($xt%a~(4-MOk;tB|jLTaz{ z8rYifKb#CaEc<>4A~TPzGTa8KR++nJN6NXzJzGC64SET`Q&4C+g&^NyW4=Op!$Q?F z#C0nu0XwdDVn77L6Z!6h)6j3NB+$5rvO}WiJu?PD= zkW#uSD=al8dDrV~{=mfyhhE<@iGi1O8kAmg!tHyEd3X_WtN;9ADkFqfz5iX6KNL20JP`u`+>rdARXIDo`+xL5Re6r5 ziL#bJvu(b7HNQg{^4h*_2x??k7g(T_eVKSbDr(xkY{0&5J`G43a@!${=5~So(wA@d z*R9vxoQ?)r)9iGc+3SYc-0og3v8>b)4KFPVEdW5jnyP0}kY(1d&bpk!-lCBls60$) zPq#s#eAwD40nry&llMJ`<>FfN^aogz=J&FD;R(@-*4Bv;SACy001e~37ezm zZ--S@faVyto7OTULT5ezL+)3#L6?xW;7UEY{Jxq((i!QE_kYdhl&V|kC``sa?z zLW1D}%SOp@{s8=gB<>Fh7%OZnN;o}+mG!FSb#;{s-C1Q@4(OaKIZk8WqX>&}D!V1G zhu!O4e4cp_9f=3xrF@F>(Y*IgAx z1c4oNxIHm?)vnPz$;DrsetV)4^4MmioOHgyh`BlELD1R4LWU$nMoYWJnWIox6vm3( zL|%q2=H%G}G%3N|Bx}=FKGoN!(3f%aTOMpOJae5ZC`Qa7y(B#`hiQ;ZOSP^QQvC0z z>cgNh!rJ60rHxtlfU!l~w?J1Cn^)iK?~753AqKmZ>;J{xKLicWyz%1aZQHhO+qP}n zwr$(Cp4+x<+cy5cIkTBFRkNSPySTFGMLJcfPQG3JNoPTZ6~1p_34*93N&a{Z&{(L_ zbfD}>im*N)lVLa1(m_dz4idll#B3#xdXfYjo~}*|oEIif)Se4dUChHqChVVPWF1 zr#CcOVVWY>shQnyw*`azUr=!qwky>m0GNKwzIOw3%^GFGE4aA&dj7ADlTf~AAqx)n zK1Fpx0lC%S6C*h+Y@CR!LwK+Pqu#45id+r?lFa6FPUyQ%P_dz7pt>ToU#xDXjPQ>~udEz3bQko!68-kf%5Og~S^3jEbW4ND?#FXZmWhAs z>^3z_mEE2#OF1-B`?Pm3uf!u~aI`N)XYhk}`w{{?UxZ9sbr6;FX|=@53#|Vr>%s&}>r5e{2DA`Qa0QH_CJ;IU_Gb+z=?nzcT_#TsA>x;NcJ2xO zBp!TvZ|+YVaiQxT+#e#f3m~p*baMew`$Uv_2g5&D)7j~tZQMZbI>3zS4A1fcfuHEh zs{?mqiTc7_g0<^|Bx3Bx>HcM(h+$qEp~9SEXWUj(J=Fxeb_nZC<_N+Xb^+cQngiQJ zI4s;Z@JwRSdUW!zjN^s|(Sz>!l%B4U+n8*QhPSw(?aQNkv*U?v=xe2 zT^Iy11?9}S8$5P(`R%t(+Y{l>Y&~58`QO7UpXAKjw0u;A^EPEbI13{1SDRj=lNhx1 z7r6~9H5=$>sRba{glGvgk>vo7`!4imcLH3r#(mC=i0gLA`ExHX{u#HXUxB z>VxbFeHXIti&hkag+n~@M(P1(L>$H%qIu@!f>N_Qk??enxZb`@yMmt_bPg5OVkTst zhG;QAQBzxgE$NUNaXC3tu(UB&h43&{`r3C$ke`D*fEOuQTW?S))T3(0vji4V|Bi9I z#K{k($e0C6b1DWla97*?a6+roH1lghvCk3O-G;Xo_2B5g(1>gEc@BqZzQ(5hswPgk zkJj9ubgie}r7>LuEA2`FZg35F=@$zBb^W%>fXnEO=&kJU*oo3>` zmMB&fzlRXM<3R@rzQVQ95cv;$ibkoypFM@sKTdMwjL3ZYbI7$vp~A%HB1&Wr~`?;nIu#o!B%|6!$FoIAVxle@e&jA7_2Y1B6+ z%GjE$0=ylosP(aY@(q3RhRWUu7I8flPqJ3z&MV8X`M4uwJ$80hh-ukum#)WiPRMO+ zL1O_66`Nb|#95kd!dtT~NSb%lGtt^|mi8g~rTU%X@A z6jR9u=sC*jV(Nm6tN;+y@o~mO2ZL-(7h595v4g+NXS*~EQqP%Va6wp(!zo(**($mo zXW2kp!g6ot5|@h#mNH7Y5SL5o3L05mbCkkly_!_TK-3@U^MPRY?KGIZxYMsT!1Ar* zw<29Il00*DerIB%^opgc*D{1H7L%~AeygWWIkXX6osZIb7y(k(9yt`_Wl(#?kt#Dm zHMJYx2CLeP`Vh`LNP1Q^o0`(^b%a(4eEW0_fVq*|nQ4u961wKFm*kM~oVFkFW*4t_ z2mw$AUVvAwv{qZ3+&J&gsHj3@;=zMTX=WuG&rpMU!D%%Q-Ld(AtCW7!!J^8Fl2nzLaucIoZ=A~xcv z7Lq&D7#YJd-6wr1i;+WIGM*+Vd~N7`Z0Ye1ls;rDIGBzT_Fe5xS|Lu#Y4XW9Ok19p z_4b@R6(jffUpn{s+Oj{<0@n*Rf4B@k;@VTE)hU~X8@g|HiPN7@ta*5*vEt ze572;t01zRtFt#VYH{{NS521is?Lv?aC$>Jx@;2$r4(x6*#CC6FTZKXCvb(Aa|I-e zaFj})@e%DN(@@4|p7qSnE|^e>Km3d%#_gF#^Xvu{M|PF9zqzGTZvHki3c))kD3QDq zXMN5TQ6{R{mfwF}CnCgUj{)x@;X$r9pA(?k59g)!)U%IjC^f{q(`q30o9n$@`ye*b zZRp4Nn4Hrx-CCU40W$2_>wyPRIQvN|EW3J=gCQ|Ue`8fpJDI+gg^$zxESt(+`n<+p?dNTzcEYN4-#VWmmPj``Cl< zZ+sUqxMb(KTzJnGX5caH|2_~AXAtr@tw>E-+2+?cqv7y}kjo!=b2EK|4zf0RirjDR zv$ooD?4fU%PR~!~UZH3(-hWHiy)FZQJxke1tCiN>FUc%QFvtOKY+d5ZiODn9v?Ew) zT0OZS7L|shCdeX-E+O-b6CYL40|MFtQHVoH+X=r`E0Ih7$9Ieu{#$W|(TrO#ldPGa z;=0;A2K7?ypW&P|&jJmb*XEws+^X*o=XD!ot${))J)YQpMNQ>f8d$6C(xu)m7%Yn9 z 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 literal 0 Hc$@tpPw+J6p}0q18R5d9x@C3#)H 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 KrD_Gs@c#oSgxSFW literal 0 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 literal 0 Hc$@ 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 literal 0 Hc$@${LOGFILE} - -${SCRIPTDIR}/kdedocs_indexer.py -v -l /home/docs/docs/languages \ - -d "${SCRIPTDIR}/omegaconf/data/default/" \ - -w /home/docs/website \ - &>${LOGFILE} diff --git a/search/kdedocs_indexer.py b/search/kdedocs_indexer.py deleted file mode 100755 --- a/search/kdedocs_indexer.py +++ /dev/null @@ -1,351 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Copyright 2015-2016 Luigi Toscano -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License or (at your option) version 3 or any later version -# accepted by the membership of KDE e.V. (or its successor approved -# by the membership of KDE e.V.), which shall act as a proxy -# defined in Section 14 of version 3 of the license. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -import argparse -import hashlib -import logging -import os -import re -import sys -import time -from collections import namedtuple - -from bs4 import BeautifulSoup -import unicodedata -import xapian - -SAMPLESIZE = 512 - -IDX_VAL_LASTMOD = 0 -IDX_VAL_MD5 = 1 -IDX_VAL_SIZE = 2 - -STEMMER_MAP = { - 'da': 'danish', - 'de': 'german', - # de alternative: german2 - 'en': 'english', - 'en_GB': 'english', - # en* alternatives: lovins porter - 'es': 'spanish', - 'fi': 'finnish', - 'fr': 'french', - 'hu': 'hungarian', - 'it': 'italian', - 'nb': 'norwegian', - 'nn': 'norwegian', - 'nl': 'dutch', - # nl alternative: kraaij_pohlmann - 'pt': 'portuguese', - 'pt_BR': 'portuguese', - 'ro': 'romanian', - 'ru': 'russian', - 'sv': 'swedish', - 'tr': 'turkish', -} - -ALL_BRANCHES = ['stable4', 'trunk4', 'stable5', 'trunk5'] - -LOGGER = logging.getLogger(__name__) - -DocDetails = namedtuple('DocDetails', ['content', 'md5', 'path', 'title', - 'mtime', 'size', 'description', - 'keywords', 'application']) - - -def get_normalized_branch(branch): - if branch.startswith('stable'): - return 'stable' - elif branch.startswith('trunk'): - return 'trunk' - else: - return '' - - -def get_stemmer_name(lang): - """ Returns the name of the stemmer for the specified language code. """ - return STEMMER_MAP.get(lang, 'none') - - -def opendb(dbfile): - database = xapian.WritableDatabase(dbfile, xapian.DB_CREATE_OR_OPEN) - indexer = xapian.TermGenerator() - return (database, indexer) - - -def get_doc_details(full_path, file_path_rel): - try: - html_file = open(full_path, 'r') - html_parsed = BeautifulSoup(html_file, "lxml") - except Exception as e: - LOGGER.error("Exception parsing %s: %s" % (full_path, str(e)), - exc_info=True) - return None - - hashf = hashlib.md5() - hashf.update(str(html_parsed)) - docmd5 = hashf.digest() - - dumptxt = ' '.join(html_parsed.findAll(text=True)) - doctxt = unicodedata.normalize('NFKC', dumptxt) - doctitle = html_parsed.title.string - docmtime = int(os.path.getmtime(full_path)) - docsize = os.path.getsize(full_path) - appname = os.path.basename(os.path.dirname(full_path)) - - # description - descriptions = html_parsed.findAll(attrs={"name": "description"}) - if descriptions: - docdescription = descriptions[-1]['content'] - else: - docdescription = doctxt - # keywords: - keywords = html_parsed.findAll(attrs={"name": "keywords"}) - dockeywords = [] - if keywords: - dockeywords = re.split('[,\s]+', keywords[-1]['content']) - - doc_details = DocDetails(doctxt, docmd5, file_path_rel, doctitle, docmtime, - docsize, docdescription, dockeywords, appname) - return doc_details - - -def do_index_file(file_path, file_path_rel, xdb, xidx, language, branch, - normalized_branch): - """ Check a single file and determine whether and how it should be - indexed. - """ - doc_urlterm = 'U%s' % (file_path_rel) - # check if a document with the same U tag already exists - # in the database, and the respective timestamp (mtime) - currdoc_mtime = int(os.path.getmtime(file_path)) - postlist = xdb.postlist(doc_urlterm) - try: - existing_doc_iter = next(postlist) - existing_doc_id = existing_doc_iter.docid - existing_doc = xdb.get_document(existing_doc_id) - existing_doc_lastmod = float(existing_doc.get_value(IDX_VAL_LASTMOD)) - except StopIteration: - existing_doc_id = None - existing_doc_lastmod = None - LOGGER.debug('Looking for existing occurrencies of %s (timestamp %s): ' - 'found %s (timestamp: %s)' % (file_path_rel, currdoc_mtime, - existing_doc_id, - existing_doc_lastmod)) - - if existing_doc_id and (existing_doc_lastmod >= currdoc_mtime): - LOGGER.info('Doc %s already in the db and up-to-date' % (doc_urlterm)) - return - - doc_details = get_doc_details(file_path, file_path_rel) - if not doc_details: - LOGGER.error('Error accessing %s, skipping...' % (file_path)) - - doc = xapian.Document() - - xidx.set_document(doc) - - sample = doc_details.description[0:SAMPLESIZE - 1] - - record_data = [ - 'url=%s' % (doc_details.path), - 'sample=%s' % (sample), - 'type=text/html', - 'modtime=%d' % (doc_details.mtime), - 'size=%d' % (doc_details.size) - ] - if doc_details.title: - record_data.append('caption=%s' % ( - doc_details.title[0:SAMPLESIZE - 1])) - - doc.set_data('\n'.join(record_data)) - - # Index the text of the document and also various additional information - # (title, keywords, file name) - if doc_details.title: - xidx.index_text(doc_details.title, 5) - xidx.increase_termpos(100) - - if doc_details.content: - xidx.index_text(doc_details.content) - - xidx.increase_termpos(100) - # print "keywords: %s" % (' '.join(doc_details.keywords)) - xidx.index_text(' '.join(doc_details.keywords)) - - # the file name with no extension (which is always .html) - xidx.increase_termpos(100) - xidx.index_text(os.path.basename(doc_details.path)[:len('.html')]) - - # add boolean, add values - doc.add_boolean_term('Ttext/html') - - file_timestamp = time.gmtime(doc_details.mtime) - doc.add_boolean_term('D%s' % (time.strftime('%Y%m%d', file_timestamp))) - doc.add_boolean_term('M%s' % (time.strftime('%Y%m', file_timestamp))) - doc.add_boolean_term('Y%s' % (time.strftime('%Y', file_timestamp))) - - # URL/path - doc.add_boolean_term('P/') - doc.add_boolean_term(doc_urlterm) - - # extra details, specifically required for docs.kde.org search - doc.add_boolean_term('L%s' % (language)) - doc.add_boolean_term('XBRANCH%s' % (branch)) - doc.add_boolean_term('XBRANCHGENERIC%s' % (normalized_branch)) - - # used to sort by date - doc.add_value(IDX_VAL_LASTMOD, str(doc_details.mtime)) - - # used to collapse duplicate documents - doc.add_value(IDX_VAL_MD5, str(doc_details.md5)) - - # used to sort by size and for date ranges - doc.add_value(IDX_VAL_SIZE, str(doc_details.size)) - - # Finally, add the document to the database or replace it if already - # existed and it was updated. - if existing_doc_id: - # this means the document exists and its timestamp shows that it - # was updated. - LOGGER.info("Existing doc %s was updated" % (doc_urlterm)) - xdb.replace_document(existing_doc_id, doc) - else: - LOGGER.info("New doc %s was added" % (doc_urlterm)) - # not existing at all, regardless of the timestamp - add it anyway - xdb.add_document(doc) - - -def cleanup_unseen(xdb, seen_files): - # check all indexed documents and remove the ones not in seen_files - LOGGER.info('Looking for removed documents...') - removed_count = 0 - for doc_iter in xdb.postlist(''): - if not doc_iter.docid: - # This should not happen, but... - continue - doc_ref = xdb.get_document(doc_iter.docid) - # if no U term in the document have been seen, remove it - doc_urls = [term.term for term in doc_ref.termlist() - if term.term.startswith('U') and term.term in seen_files] - if len(doc_urls) == 0: - removed_count += 1 - LOGGER.debug('Removing %s (%s)' % (doc_iter.docid, [term.term - for term in doc_ref.termlist() - if term.term.startswith('U')])) - xdb.delete_document(doc_iter.docid) - LOGGER.info('Removed %d documents' % (removed_count)) - - -def do_index(dbfile, startdir, languages_list): - try: - (xdb, xidx) = opendb(dbfile) - - # array of files encountered while searching for html files; all the - # files not in this list after the end of the scan will be removed - # from the index - seen_files = set() - - # all branches, all languages, all html files - for branch in ALL_BRANCHES: - LOGGER.debug('Indexing branch %s' % (branch)) - # list all directories; each directory is a language - branch_dir = os.path.join(startdir, branch) - norm_branch = get_normalized_branch(branch) - all_lang_dirs = [ldir for ldir in os.listdir(branch_dir) - if os.path.isdir(os.path.join(branch_dir, - ldir)) and - (not languages_list or (languages_list and - ldir in languages_list))] - for lang in all_lang_dirs: - LOGGER.debug('Indexing language %s' % (lang)) - xidx.set_stemmer(xapian.Stem(get_stemmer_name(lang))) - lang_dir = os.path.join(branch_dir, lang) - # from here, get all html files and index them with the said - # branch/language if required - for walked_dir, subdirs, files in os.walk(lang_dir): - for found_file in files: - if not found_file.endswith('.html'): - continue - # mark the file as seen, and call the function which - # whether and how the file should be updated - file_path = os.path.join(walked_dir, found_file) - file_path_rel = os.path.join('/', os.path.relpath( - file_path, startdir)) - LOGGER.debug('Inspecting file %s' % (file_path_rel)) - seen_files.add('U%s' % (file_path_rel)) - try: - do_index_file(file_path, file_path_rel, xdb, xidx, - lang, branch, norm_branch) - except Exception as e: - LOGGER.error("Skipping file %s, exception: %s" % - (file_path_rel, str(e)), - exc_info=True) - cleanup_unseen(xdb, seen_files) - xdb.commit() - except Exception as e: - LOGGER.error("Exception: %s" % str(e), exc_info=True) - sys.exit(1) - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument('-v', '--verbose', action='store_true', default=False, - dest='verbose', help='verbose output') - parser.add_argument('-l', '--languages-file', default='languages', - dest='languages_file', required=True, - help='files containing the list of languages') - parser.add_argument('-d', '--database', default='db', dest='db', - required=True, metavar='DATABASE_DIR', - help='directory containing the Xapian database') - parser.add_argument('-w', '--website', default='website', dest='website', - required=True, metavar='WEBSITE_DIR', - help='website directory containing the documentation') - - args = parser.parse_args() - - # configure the logging system - logging_level = logging.INFO - if args.verbose: - logging_level = logging.DEBUG - logging.basicConfig(level=logging_level, - format='%(asctime)s:%(levelname)s:%(name)s:' - '%(message)s') - - try: - with open(args.languages_file) as lfile: - languages_list = [lang.strip() for lang in lfile] - if 'en' not in languages_list: - languages_list.insert(0, 'en') - except: - raise ValueError('languages file "%s" not found or invalid' % - (args.languages_file)) - languages_list = None - - if not os.path.isdir(args.db): - raise ValueError('%s is not a directory' % (args.db)) - if not os.path.isdir(args.website): - raise ValueError('%s is not a directory' % (args.website)) - do_index(args.db, args.website, languages_list) - - -if __name__ == '__main__': - main() diff --git a/search/omegaconf/README b/search/omegaconf/README deleted file mode 100644 --- a/search/omegaconf/README +++ /dev/null @@ -1,12 +0,0 @@ -This directory contains the configuration files required by omega. - -- omega.conf is used by Apache to configure Omega. It should be specified - in the apache (virtualhost) configuration as: - SetEnv OMEGA_CONFIG_FILE /srv/www/docs.kde.org/omega/omega.conf -- templates/ contains the Omega template used for search results, and few - required files. They all derived from the default templates directory as - shipped by Omega. -- cdb/ contains the source for the cdb files required by the templates. - They must be generated using the cdb utility (tinycdb package), the included - Makefile simplifies the generation. -- data/default will contain the generated indexes. diff --git a/search/omegaconf/cdb/Makefile b/search/omegaconf/cdb/Makefile deleted file mode 100644 --- a/search/omegaconf/cdb/Makefile +++ /dev/null @@ -1,7 +0,0 @@ - -CDB=branches.cdb languages.cdb - -all: ${CDB} - -%.cdb: %.csv - cdb -c -m $@ $< diff --git a/search/omegaconf/cdb/branches.csv b/search/omegaconf/cdb/branches.csv deleted file mode 100644 --- a/search/omegaconf/cdb/branches.csv +++ /dev/null @@ -1,6 +0,0 @@ -stable Released -trunk Development -stable4 Released (kdelibs4) -trunk4 Development (kdelibs4) -stable5 Released (Frameworks 5) -trunk5 Development (Frameworks 5) diff --git a/search/omegaconf/cdb/languages.csv b/search/omegaconf/cdb/languages.csv deleted file mode 100644 --- a/search/omegaconf/cdb/languages.csv +++ /dev/null @@ -1,28 +0,0 @@ -ca Catalan -cs Czech -da Danish -de German -en English -en_GB English UK -el Greek -es Spanish -et Estonian -fr French -gl Galician -hu Hungarian -it Italian -ja Japanese -lt Lituanian -nb Norwegian Bokmål -nl Dutch -nn Norwegian Nynorsk -pl Polish -pt Portuguese -pt_BR Brazilian Portuguese -ro Romanian -ru Russian -sr Serbian -sr@latin Serbian latin -sv Swedish -tr Turkish -uk Ukrainian diff --git a/search/omegaconf/omega.conf b/search/omegaconf/omega.conf deleted file mode 100644 --- a/search/omegaconf/omega.conf +++ /dev/null @@ -1,11 +0,0 @@ -# Directory containing Xapian databases: -database_dir /srv/www/docs.kde.org/omega/data - -# Directory containing OmegaScript templates: -template_dir /srv/www/docs.kde.org/omega/templates - -# Directory to write Omega logs to: -log_dir /srv/www/docs.kde.org/omegalogs - -# Directory containing any cdb files for the $lookup OmegaScript command: -cdb_dir /srv/www/docs.kde.org/omega/cdb diff --git a/search/omegaconf/templates/inc/anyalldropbox b/search/omegaconf/templates/inc/anyalldropbox deleted file mode 100644 --- a/search/omegaconf/templates/inc/anyalldropbox +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/search/omegaconf/templates/inc/anyallradio b/search/omegaconf/templates/inc/anyallradio deleted file mode 100644 --- a/search/omegaconf/templates/inc/anyallradio +++ /dev/null @@ -1,2 +0,0 @@ - Matching any words - Matching all words diff --git a/search/omegaconf/templates/inc/toptermsjs b/search/omegaconf/templates/inc/toptermsjs deleted file mode 100644 --- a/search/omegaconf/templates/inc/toptermsjs +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/search/omegaconf/templates/query b/search/omegaconf/templates/query deleted file mode 100644 --- a/search/omegaconf/templates/query +++ /dev/null @@ -1,196 +0,0 @@ -$httpheader{Content-Type,text/html; charset=utf-8} -${ $setmap{boolprefix,la,L} -$setmap{boolprefix,branch,XBRANCHGENERIC} } -${ $setmap{prefix,branch,XBRANCHGENERIC} } - -$set{stemmer,none} -$set{flag_spelling,$ne{$cgi{SPELL},0}} -$set{flag_wildcard,1} -$set{thousand,$.}$set{decimal,.}$setmap{BN,,Any Country,uk,England,fr,France} -${ -$def{PREV, -$if{$ne{$topdoc,0},, -} -} - -$def{NEXT, -$if{$ne{$last,$msize},, -} -} - -$def{P,} -$def{PAGE,$if{$gt{$1,9},$if{$gt{$1,99},$P{$1,$div{$1,100}}}$P{$1,$mod{$div{$1,10},10}}}$P{$1,$mod{$1,10}}} - -$def{S,$1} -$def{SPAGE,$if{$gt{$1,9},$if{$gt{$1,99},$S{$1,$div{$1,100}}}$S{$1,$mod{$div{$1,10},10}}}$S{$1,$mod{$1,10}}} -} - -$def{PREV,$if{$ne{$topdoc,0},}} - -$def{PAGE,} - -$def{SPAGE,} - -$def{NEXT,$if{$ne{$last,$msize},}} - - -docs.kde.org - $if{$query,searching: $html{$query},search} -$if{$opt{topterms},$include{inc/toptermsjs}} - - - - - - -
-
- - - -
-$if{true,$include{inc/anyalldropbox},$include{inc/anyallradio}} -- Results per page: $set{hitvalues,$split{10 20 50}} - -
-
-Language: - -Branch: - -
-$if{$opt{topterms}, -
- $map{$topterms,$html{$prettyterm{$_}} } -
-
-} -
-$if{$suggestion,Did you mean: $html{$suggestion}
} -$or{$html{$error}, -$if{$eq{$msize,0}, -$if{$query,No documents match your query, -
Searching $nice{$dbsize} documents -}, -$if{$not{$msizeexact}, - $nice{$add{$topdoc,1}}-$nice{$last} of about $nice{$msize} matches, - $if{$and{$eq{$last,$msize},$eq{$topdoc,0}}, - All $nice{$msize} matches, - $nice{$add{$topdoc,1}}$if{$ne{$add{$topdoc,1},$last},-$nice{$last}} of exactly $nice{$msize} matches} -} -
-
-$list{$map{$queryterms,$list{$html{$uniq{$unstem{$_}}},,/,}: $nice{$freq{$_}}},Term frequencies: ,$. ,} -
Search took $time seconds -
-
- -"; -?> diff --git a/include/initialize.inc.php b/include/initialize.inc.php deleted file mode 100644 --- a/include/initialize.inc.php +++ /dev/null @@ -1,97 +0,0 @@ - diff --git a/include/produce_lists.inc.php b/include/produce_lists.inc.php deleted file mode 100644 --- a/include/produce_lists.inc.php +++ /dev/null @@ -1,61 +0,0 @@ - 0, - 'kdelibs' => 0, - 'calligra' => 5, - 'kdereview' => 10, - ); - if ( array_key_exists($p, $weights) ) { - $w = $weights[$p]; - } elseif ( strncmp($p, 'extragear-', strlen('extragear-')) == 0 ) { - $w = 7; - } else { - $w = 2; - } - return $w; -} - -/* - Compare packages, so that a certain order is enforced - (libraries first, then Applications, Extragear and Review) -*/ -function cmp_packages( $p1, $p2 ) -{ - $w1 = package_weight( $p1 ); - $w2 = package_weight( $p2 ); - $dw = $w1 - $w2; - if ( $dw == 0 ) { - /* same weight, so normal comparison */ - return strcmp( $p1, $p2 ); - } else { - return $dw; - } -} - -/* $packagelist: Complete list of all available packages */ -$packagelist = array_keys( $modules_programs ); -usort( $packagelist, 'cmp_packages' ); -/* Check if the requested package is a valid one */ -if ( $selected_package != "" and - (! in_array($selected_package, $packagelist) ) ) { - $selected_package_nonexist = $selected_package; - $show_intro = true; -} - -?> \ No newline at end of file diff --git a/include/staticappdata.inc.php b/include/staticappdata.inc.php deleted file mode 100644 --- a/include/staticappdata.inc.php +++ /dev/null @@ -1,466 +0,0 @@ - diff --git a/index.php b/index.php deleted file mode 100644 --- a/index.php +++ /dev/null @@ -1,546 +0,0 @@ - 0, 'stable5' => 1, 'trunk4' => 2, 'stable4' => 3); - if (in_array($b1, $base_array) && in_array($b2, $base_array)) { - return $base_array[$b1] - $base_array[$b2]; - } -} - -/* - Return the proper package/namespace for the specified application and - branch, using the knowledge generated by the documentation - generator. -*/ -function get_namespace($application, $branch) -{ - global $programs_multiplemodules; - if ( array_key_exists($application, $programs_multiplemodules) ) { - // multiple packages/namespaces: check in the special list of programs_docs - // with multiple modules if there is specific module for the current branch. - foreach ( $programs_multiplemodules[$application] as $s_branch => $s_module ) { - if ( $s_branch == $branch ) { - return $s_module; - } - } - } else { - global $modules_programs; - // single module for all branches, find it - foreach ( $modules_programs as $module => $module_apps ) { - if ( in_array($application, $module_apps) ) { - return $module; - } - } - } -} - -function build_url( $application='', $package='', $lang='', $branch='', $html_path='' ) -{ - $params = array(); - if ( strlen($branch) > 0 ) - $params[] = "branch=".$branch; - if ( strlen($lang) > 0 ) - $params[] = "language=".$lang; - if ( strlen($package) > 0 ) - $params[] = "package=".$package; - if ( strlen($application) > 0 ) - $params[] = "application=".$application; - if ( strlen($html_path) > 0 ) - $params[] = "path=".$html_path; - return "/index.php?" . implode('&', $params); -} - -function build_path( $branch='', $lang='', $application='', $html_path='' ) -{ - $package = get_namespace($application, $branch); - return $branch . - "/" . $lang . - "/" . $package . - "/" . $application . - "/" . $html_path; -} - -function language_for_application_exist( $app, $lang ) -{ - global $programs_docs; - return (array_key_exists($lang, $programs_docs[$app])); -} - -function branch_exist( $app, $lang, $branch ) -{ - global $programs_docs; - // no translations for the specified application in the current language - if ( !language_for_application_exist($app, $lang) ) { - return ""; - } - // Handle old URL - compatibility with the old schema - $compatibility_branches = array( - "development" => array("trunk5", "trunk4"), - "stable" => array("stable5", "stable4"), - ); - // Search in compatibility branches first - if ( array_key_exists($branch, $compatibility_branches) ) { - foreach ( $compatibility_branches[$branch] as $comp_branch ) { - # echo "Looking for $comp_branch into ".var_dump($programs_docs[$app][$lang]); - if ( in_array($comp_branch, $programs_docs[$app][$lang]) ) { - return $comp_branch; - } - } - } - // Normal branch - if ( in_array($branch, $programs_docs[$app][$lang]) ) { - return $branch; - } - return ""; -} - -if ( $selected_application != "" ) { - $apps = array($selected_application); - - // If branch is specified and correct, jump to the documentation - if ( $selected_branch != "" ) { - if (!language_for_application_exist( $selected_application, $selected_language )) { - $selected_language_nonexist = $selected_language; - $selected_language = "en"; - } - $looked_branch = branch_exist( $selected_application, $selected_language, $selected_branch ); - if ( $looked_branch != "" ) { - header( "Location: /".build_path( $looked_branch, $selected_language, $selected_application, $html_path ) ); - } else { - $selected_branch_nonexist = $selected_branch; - $selected_branch = ""; - } - } -} elseif ( $selected_package != "" ) { - $apps = $modules_programs[$selected_package]; -} else { - $show_intro = true; -} - -/* This is the actual start of the page as the media framework knows it */ - - -/* include('include/docs.inc'); */ - - $applications_list_json = json_encode(array_keys($programs_docs)); - include('include/functions.inc'); - include('include/header_docs.inc'); - -/* We are really printing HTML, WOW */ - -/* Build the menu */ - -echo ""; - -echo " -
-"; -echo " - -"; - - - - -echo " -
-
    -
  • -Language: - -
  • -
  • -Documentation branch: - -
  • -
  • -Match: - -
  • -
  • -Words: - -
  • -
  • - -
  • -
- - -
-"; - - -// end of search block - -echo " -

This server contains the complete user documentation for KDE (except the playground module).

-

You can select the release and language of the documentation you are searching for. Not all languages have all documentation translated.

-

The API documentation is available at api.kde.org.

- -

"; - - -if (isset($name) && isset($url)) { - $contact = i18n_var("Maintained by ") . " $name
\n"; -} else { - $contact = i18n_var("Maintained by kde.org Webmaster
\n"); -} - -print $contact; - -echo "

"; - i18n("KDE and K Desktop Environment are trademarks of"); -echo " "; - i18n("KDE e.V."); -echo " | "; - i18n("Legal"); -echo " -

- -
-"; - -echo ""; - -echo ""; // id=navigation - -/* - Check for packages/dirctories with subdirectories - Used to produce the i.e. kcontrol break out boxes. -*/ - -include 'include/staticappdata.inc.php'; - -/* Introduced because of the kocontrol/* */ -echo "
"; - -if ($selected_application_nonexist != "") { -echo " -
-

The application $selected_application_from_user -could not be found. Please check if you entered the name correctly, or use the -navigation on the left to access the complete KDE User Documentation.

-
-"; -} - -if ($selected_branch_nonexist != "") { -echo " -
-

The branch $selected_branch_nonexist -is not available for the specified application/language.

-
-"; -} - -if ($selected_language_nonexist != "") { -echo " -
-

The requested language $selected_language_nonexist -could not be found. US English was used instead.

-
-"; -} - -if ($selected_package_nonexist != "") { -echo " -
-

The package $selected_package_nonexist -could not be found.

-
-"; -} - -if (isset($url_nonexist)) { -echo " -
-

The file $url_nonexist could not be found. -Please check if you entered the URL correctly, or use the navigation on the left -to access the complete KDE User Documentation.

-

If you reached this page from another part of the KDE Documentation website or from an other KDE website, -please notify the KDE Documentation -Team and report the page where you found the wrong link, so we can fix the problem.

-
-"; -} - - -if ( $show_intro ) { - - include ("intro.inc.html"); - -} else { - #kdepimlibs has no applications - if ( (in_array($selected_package, $package_no_application_array) ) == false ) { - echo "

Module: $selected_package

"; - echo "
    "; - } - foreach ( $apps as $application ) { - - /* If the check for a subdir is positive, the subdir is added to the - subdir_array which is handled below */ - foreach ( $check_array as $check_string ) { - $check = strpos( $application, $check_string ); - if ( $check === false ) { - $applicationname = $application; - $checktest = false; - } else { - $checktest = true; - $subdir_array[]=$application; - break; - } - } - - /* Identity is important here */ - if ( $checktest === true ) { - continue; - } - - /* Ignore the oddities defined above */ - foreach ( $ignore_array as $ignore_string ) { - $test_string = $selected_package . "/" . $application; - if ( $test_string == $ignore_string ) { - $breaktest = true; - break; - } else { - $breaktest = false; - } - } - - if ( $breaktest === true ) { - continue; - } - - if ( $application == "kcontrol" or $application == "kcontrol5") { - /* If there ever is a kcontrol docbook outside kdebase - file_exists must be used. - */ - continue; - } - /* - catch docs which are there but have no index.docbook - or are otherwise broken - */ - $total_branches = $programs_docs[$applicationname][$selected_language]; - if(isset($appdisplayname_array[$applicationname])) { - $appdisplayname = $appdisplayname_array[$applicationname]; - } else { - $appdisplayname = $applicationname; - } - if ( $total_branches > 0 ) { - $app_branches = $programs_docs[$applicationname][$selected_language]; - usort( $app_branches, 'cmp_branches' ); - echo "
  • $appdisplayname
      "; - foreach ( $app_branches as $available_branch ) { - $candidate_html = build_path( $available_branch, $selected_language, $application, 'index.html' ); - if ( file_exists( $candidate_html ) ) { - echo "
    • "; - - echo "".$branch_description[$available_branch].""; - - $candidate_pdf = build_path( $available_branch, $selected_language, $application, $application.".pdf" ); - if ( file_exists( $candidate_pdf ) ) { - echo " (PDF)\n"; - } - echo "
    • "; - } - } - echo "
  • \n"; - } else { - echo "
  • ".$appdisplayname."". - "
    No documentation available for this language
  • "; - } - } - #kdepimlibs has no applications - if ( (in_array($selected_package, $package_no_application_array) ) == false ) { - echo "
"; - } - /* Needed for breaking up the subboxes (see kdebase)*/ - $previous_dir=""; - - /* Iterate over the subdir_array produced - above and break it into according boxes - */ - foreach ( $subdir_array as $application ) { - $current_dir = substr( $application, 0, strpos( $application, '/' ) ); - - if ( $current_dir != $previous_dir ) { - if ( $previous_dir != "" ) { - echo ""; - } - echo "

". $appdisplayname_array[$current_dir] ."

"; - echo "
    "; - } - - $applicationname = str_replace( '/', '', strstr( $application, '/' ) ); - - $app_branches = $programs_docs[$application][$selected_language]; - usort( $app_branches, 'cmp_branches' ); - echo "
  • $appdisplayname_array[$applicationname]
      "; - foreach ( $app_branches as $available_branch ) { - $candidate_html = build_path( $available_branch, $selected_language, $application, 'index.html' ); - if ( file_exists( $candidate_html ) ) { - echo "
    • "; - - echo "". - "". $branch_description[$available_branch] ."".""; - $candidate_pdf = build_path( $available_branch, $selected_language, - $application, $applicationname.".pdf" ); - if ( file_exists( $candidate_pdf ) ) { - echo " (PDF)\n"; - } - echo "
    • "; - } - } - echo "
  • \n"; - - $previous_dir = $current_dir; - } - echo "
"; -} - -/* END appswrapper */ -echo "
"; -echo "" -?> - - diff --git a/intro.inc.html b/intro.inc.html deleted file mode 100644 --- a/intro.inc.html +++ /dev/null @@ -1,53 +0,0 @@ - -
- -

Welcome

- -

- Welcome to the KDE documentation site. This page holds the - complete KDE User Documentation in over 25 languages. Thanks - to the enormous efforts by our documentation and translation - teams you can access thousands of pages of documentation. -

-

- Before you start searching the library or asking - questions on the mailing lists, there is a good chance your - answer is already in the - KDE UserBase or the - KDE Community Forums. - They have a hotspot in the right menubar, where you have - fast access to them. -

-

- If you are looking for developer documentation, the - KDE Techbase - is the place where you get what you are looking for. -

- -

Navigation

-

- There are two menubars on the site. The left one allows you to navigate - through the available KDE packages, languages and versions. The right - menubar holds quicklinks to KDE UserBase and the KDE Community Forums, - and allows you to search the complete documentation in all languages. -

-

- Select the language, the version of KDE and the package, - the application you want is in. For now only the stable and - the development versions of the documentation are available. -

- -

Other Information

-

- The documentation for KDE Extragear applications is only available - in the development section. -

-

- System Settings (KControl) documentation gets separate boxes, since it - is very big and most users only want a small part of them. -

- -

- I hope you find what you are searching for. Have fun with KDE! -

-
diff --git a/package.json b/package.json new file mode 100644 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "devDependencies": { + "@symfony/webpack-encore": "^0.22.0", + "bootstrap": "^4.2.1", + "jquery": "^3.3.1", + "jquery-ui": "^1.12.1", + "node-sass": "^4.11.0", + "popper.js": "^1.14.6", + "sass-loader": "^7.1.0", + "webpack-notifier": "^1.6.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + + + + + + + + + tests + + + + + + src + + + + + + + diff --git a/public/android-icon-144x144.png b/public/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..74477edcd1f5e69bb42fcb5d5918ab2a74efc6c6 GIT binary patch literal 8567 zc$|%SWmFtX*X|rLcnA)`C3tY33BlbVI0-fkZo!>EkTAFgch}%fkO0BmLvVMO1o)cs z=X>va*InzbneJNMwX3>%%d?+d9jdA3(Zr5QuV5PEt(6ec>?O z!}+~-`nJe*+X8X1{Gax@kFEXst$i<|LAxU;bYqsXpTJ0gN6F95XNSID3?=VECc7`j zoOZTE8CWHrJ42Urvm|5#-h8xStcSh%%{I7@AFIK_R#$mELZy=L9%CzaDX$s1?-iNz zlcmk=*k}3r&;5~oi^=7+L0r6Q7i~6yCy4&nFDBfgz%*4_Rdh(UWEP&Ic&I4-Mj)QQ z{7-axq=aaEc`yqNV?3IMxbpuBc53YW^UEe0j}8x=S`0~Do`6P`P;Fv)3S=EQlyBKu%K?xd_o= z$+haDSLBdX?2vQ{Wz`U5bEhB@dcmU{hM3MX;$xm0VsWi`Sc3DMUfa8z8ythJD5-W6 zi8xy9O7pB)hi=DlVAnN zoa_tE7dnzCx@1H_^e0+Tv>0t>7X>`o9ED6TEv?CeI>Y?#4f4#<_EjfC)rQcs)2uvj z)Y4Gg8~yn)jYwK&%{|UicZ$t2YbI3cSj9;Z+*|>id@mvKW6Ai3P$nOIF51uw_&K*@ zS_7Rw`{&ja&ah_149VycG|KndqxaUWY%FH{Ix- zNNOWD0cn&kRxx|!hGf6hGT@3whs|rzMvMJK^~npgJv34=lW0ZZA!5=H3sm zWo4$}IhR3l?q1GYsY=z=-QS9d;1nX&vr^5h8M;X@~1iAgE0D-|oe?Hvy+<&n=j6f4-E3(M2=R4^zHb z{@qTIXs2tfC>zB^D_rIdfn7G-@ z7W*x@EuhGeh-OOQ=)G1#>u%vgf$cn%jkbPBsq}evB>e2}xLB;^@HYpUP*D_WZFD++ zrQuDXrd;HP;dtU{7ZdlC%!6Y%Z7esh7NBh0pPeXxw)}3Z;JjWG!KLg{Xu%AyzbEB( z&3(DSsCo)uZcx}#5d8kF;nH~57E#pdDh`biG;wYI^F8@q`jA3=yJQwQ*B?cq(-TeP zBYpiriTyp!;x32jgb`T-=<0exobUum@>e5!U^PZu{L%5>is!opTr?t4W>#`z(38Ah1|k4-Mih|_w|h_@fs~tn_2XD{QQ*R!AKGrU-)h>rPACFs zjf}VlqLz2_2dNCW&qQ%$sl!T6cET41Wt;{IBW89wIveT2@){rA8~P%-HIhf0#@N9(3$BC_O|YLaixha>*Zj+U)vySU5^@4>+_ zJ9{u&9}>gGd3mn{9uE86_m^7g0fSa+gNu4|zqMjeb4l34gKkeBD1!@O$TZjlqDXRC z1MtmL+hGmpFr+QP^D^H^;vIyI(3PLx%l&8!^mZM$%q$@iMIcjGd$hm|Tgl)Jao;QF z$RM@zZ!_A;61XS3(|kg$*_1U_WlOo{LTsPk8?5Z?v<(tN~nc)u&nrkjeYJ~m;{eKA_Lv561HrMCpHdggp7MXeGj&Ma; z^G_dt@0;6iH=dsBQe&7r3tF?xc*EOK0=>?$%GeUWB7JTBq3rJkV$k<%f5_>_p5dAd zz$W9c?cF8YTK9gOJHd|CWjiEKoyBud<_4~S?V=vDBWa`K}cFQjqb8e?>o18 zbvqt1yK6AaGUM&s;Og&wag|GM0-^ZREf107_s=&pBbddPkv9hkCg`Rb%e|f4$OcQ( zd*vxFNUy)D+_`UV$UYo4A?K`QhwthjwqIb4sToS=_SqF>N@u;HKrJ*O-+3`c_GROJ zs0Sfkk@!gy*5y>QZLb##@<9vEN+IeU8Y6dal!y#Lny5IM@^fU5+q|g4Bb)BBm#{Zz z*
-$hitlist{ -${ $set{docurl,$transform{\/(^\/+)/(^\/+)/(^\/+)/(^.+)/(^\/+)$,/index.php?branch=\1&language=\2&application=\4&page=\5,$html{$field{url}}}} } -${ $set{docurl,$transform{\/([^\/]\+)\/([^\/]\+)\/([^\/]\+)\/(.\+)\/([^\/]\+)$,/index.php?branch=\1&language=\2&application=\4&page=\5,$html{$field{url}}}} } -$set{docurl,$transform{/([^/]+)/([^/]+)/([^/]+)/(.+)/([^/]+),/index.php?branch=\1&language=\2&application=\4&path=\5,$html{$field{url}}}} -} -
-${$percentage%} -
-
-
-
-$if{$and{$field{modtime},$ne{$field{modtime},-1}}, - -
-} -$if{$field{language},Language: $html{$field{language}}
} -$if{$field{size},Size: $html{$filesize{$field{size}}}
} -${
- -
} -
-
$html{$or{$field{caption},$field{title},$prettyurl{$field{url}},Untitled}}
-$highlight{$field{sample},$terms}$if{$field{sample},...}
-$opt{docurl}
- -matching: -$list{$map{$terms,$html{$prettyterm{$_}}},$. , and }${for lynx:}

- -
- -${suppress next, prev, and page links if there's only one page} -$if{$ne{$lastpage,1}, -$set{a,$if{$opt{pagelink_height}, HEIGHT=$opt{pagelink_height}}$if{$opt{pagelink_width}, WIDTH=$opt{pagelink_width}}} - -${1-W ... X-(this)-Y ...} -$set{w,$min{3,$add{$thispage,-1}}} -$set{x,$max{$add{$opt{w},1},$add{$thispage,-3}}} -$set{y,$min{$lastpage,$add{$thispage,8}}} -$PREV -$map{$range{1,$opt{w}},$PAGE{$_}} -$if{$ne{$add{$opt{w},1},$opt{x}},...} -$map{$range{$opt{x},$add{$thispage,-1}},$PAGE{$_}} -$SPAGE{$thispage} -$map{$range{$add{$thispage,1},$opt{y}},$PAGE{$_}} -$if{$ne{$opt{y},$lastpage},...} -$NEXT -} -}} -

-$if{$dbname,} -$if{$ne{$topdoc,0},} -$if{$ne{$hitsperpage,10},} -$if{$fmt,} -$if{$cgi{COLLAPSE},} -$if{$queryterms,} - - -$list{$relevants,} -$if{$cgi{THRESHOLD},} -${Preserve any B filters used - this needs modifying if you modify this template - to have B on radio buttons, SELECT, etc} -${ $map{$cgilist{B},} } - -
- - -$log{query.log} diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore new file mode 100644 diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php new file mode 100644 --- /dev/null +++ b/src/Controller/MainController.php @@ -0,0 +1,318 @@ +render('index.html.twig', [ + 'modules_programs' => GeneratedData::modules_programs, + 'search_form' => $this->createSearchForm()->createView(), + 'all_application_names' => $this->getAllApplicationsName($_locale, $translator), + ]); + } + + /** + * @Route("/{_locale}/search", name="search", defaults={"_locale": "en"}, requirements={"_locale": "%app.locales%"}) + * @param string $_locale + * @param Request $request + * @param TranslatorInterface $translator + * @return Response + * @throws \Psr\Cache\InvalidArgumentException + */ + public function searchAction(string $_locale, Request $request, TranslatorInterface $translator): Response + { + // create search form + $search = new Search(); + $form = $this->createForm(SearchBarType::class, $search, [ + 'action' => $this->generateUrl('search'), + ]); + + $form->handleRequest($request); + + if ($form->isSubmitted() && $form->isValid()) { + // do the search with the provided search term + $searchTerm = $search->getSearchTerm(); + $cache = new FilesystemAdapter(); + $searchResult = []; + $searchTermSimple = str_replace('/', '-', $searchTerm); + $searchResultCache = $cache->getItem('search.' . $_locale . '.' . $searchTermSimple); + + if (!$searchResultCache->isHit()) { + foreach (GeneratedData::modules_programs as $module => $moduleContent) { + foreach ($moduleContent as $submodule) { + $array = explode('/', $submodule); + $branch_available = GeneratedData::programs_docs[$submodule][$_locale]; + + if (count($array) == 1 && strpos(($displayName = $translator->trans($submodule, [], "modules")), $searchTerm) !== false) { + $searchResult[$module][$submodule] = ["branch" => $branch_available]; + } elseif (count($array) == 2 + && strpos(($displayName = $translator->trans($array[1], [], "modules")), $searchTerm) !== false) { + $searchResult[$module][$array[0]][$array[1]] = ["branch" => $branch_available]; + } + } + } + $searchResultCache->set($searchResult); + $cache->save($searchResultCache); + } else { + $searchResult = $searchResultCache->get(); + } + + + return $this->render('search.html.twig', [ + 'lang' => $_locale, + 'search_term' => $search->getSearchTerm(), + 'search_result' => $searchResult, + 'branch_descriptions' => GeneratedData::branch_description, + 'all_application_names' => $this->getAllApplicationsName($_locale, $translator), + 'search_form' => $this->createSearchForm()->createView(), + ]); + } + + // no search term provided + // create page with only search form + return $this->render('search.html.twig', [ + 'lang' => $_locale, + 'search_result' => null, + 'all_application_names' => $this->getAllApplicationsName($_locale, $translator), + 'search_form' => $this->createSearchForm()->createView(), + ]); + + } + + /** + * @Route("/{_locale}/{module}", name="module", defaults={"_locale": "en"}, requirements={"_locale": "%app.locales%"}) + * @param string $_locale + * @param string $module + * @param TranslatorInterface $translator + * @return Response + * @throws \Exception + */ + public function moduleAction(string $_locale, string $module, TranslatorInterface $translator): Response + { + if (!array_key_exists($module, GeneratedData::modules_programs)) { + throw new \Exception("Module is unknow"); + } + + $submodules = []; + + foreach (GeneratedData::modules_programs[$module] as $submodule) { + $array = explode('/', $submodule); + $branch_available = GeneratedData::programs_docs[$submodule][$_locale]; + if (count($array) == 1) { + $submodules[$submodule] = ["branch" => $branch_available]; + } elseif (count($array) == 2) { + $submodules[$array[0]][$array[1]] = ["branch" => $branch_available]; + } + } + + return $this->render('module.html.twig', [ + 'lang' => $_locale, + 'module' => $module, + 'categories' => $submodules, + 'branch_descriptions' => GeneratedData::branch_description, + 'search_form' => $this->createSearchForm()->createView(), + 'all_application_names' => $this->getAllApplicationsName($_locale, $translator), + ]); + } + + public function languageListDropdown() + { + return $this->render( + 'language_dropdown.html.twig', [ + 'languages' => GeneratedData::languagelist, + 'full_language_name' => StaticAppData::full_language_name, + ] + ); + } + + /** + * @return SearchBarType + */ + private function createSearchForm(): FormInterface + { + // create search form + $search = new Search(); + $form = $this->createForm(SearchBarType::class, $search, [ + 'action' => $this->generateUrl('search'), + ]); + return $form; + } + + private function getAllApplicationsName(string $_locale, TranslatorInterface $translator): string + { + $cache = new FilesystemAdapter(); + $applicationsNameCache = $cache->getItem('applicationsName.' . $_locale); + + if (!$applicationsNameCache->isHit()) { + $applicationsName = []; + foreach (GeneratedData::modules_programs as $module => $moduleContent) { + foreach ($moduleContent as $submodule) { + $array = explode('/', $submodule); + if (count($array) == 1) { + $applicationsName[] = $translator->trans($submodule, [], "modules"); + } elseif (count($array) == 2) { + $applicationsName[] = $translator->trans($array[1], [], "modules"); + } + } + } + $applicationsNameString = ''; + foreach ($applicationsName as $name) { + $applicationsNameString .= $name . ', '; + } + $applicationsNameCache->set($applicationsNameString); + $cache->save($applicationsNameCache); + return $applicationsNameString; + } else { + return $applicationsNameCache->get(); + } + } + + /** + * Compare branches (priority), used by usort()/uasort() + * @param string $b1 + * @param string $b2 + * @return string + */ + function cmp_branches(string $b1, string $b2): string + { + $base_array = array('trunk5' => 0, 'stable5' => 1, 'trunk4' => 2, 'stable4' => 3); + if (in_array($b1, $base_array) && in_array($b2, $base_array)) { + return $base_array[$b1] - $base_array[$b2]; + } + } + + + /** + * Return the proper package/namespace for the specified application and + * branch, using the knowledge generated by the documentation + * generator. + * @param string $application + * @param string $branch + * @return string + */ + function get_namespace(string $application, string $branch): string + { + if (array_key_exists($application, GeneratedData::programs_multiplemodules)) { + // multiple packages/namespaces: check in the special list of programs_docs + // with multiple modules if there is specific module for the current branch. + foreach (GeneratedData::programs_multiplemodules[$application] as $s_branch => $s_module) { + if ($s_branch == $branch) { + return $s_module; + } + } + } else { + global $modules_programs; + // single module for all branches, find it + foreach ($modules_programs as $module => $module_apps) { + if (in_array($application, $module_apps)) { + return $module; + } + } + } + } + + function build_url(string $application = '', string $package = '', string $lang = '', string $branch = '', string $html_path = ''): string + { + $params = array(); + if (strlen($branch) > 0) + $params[] = "branch=" . $branch; + if (strlen($lang) > 0) + $params[] = "language=" . $lang; + if (strlen($package) > 0) + $params[] = "package=" . $package; + if (strlen($application) > 0) + $params[] = "application=" . $application; + if (strlen($html_path) > 0) + $params[] = "path=" . $html_path; + return "/index.php?" . implode('&', $params); + } + + /** + * Get path to handbook + * @param string $branch + * @param string $lang + * @param string $application + * @param string $html_path + * @return string + */ + function build_path(string $branch = '', string $lang = '', string $application = '', string $html_path = ''): string + { + $package = $this->get_namespace($application, $branch); + return $branch . + "/" . $lang . + "/" . $package . + "/" . $application . + "/" . $html_path; + } + + /** + * Check if translation exist + * @param string $app + * @param string $lang + * @return bool + */ + function language_for_application_exist(string $app, string $lang): bool + { + return (array_key_exists($lang, $this->programs_docs[$app])); + } + + /** + * Check if text exist for the specified branch and language + * @param $app + * @param $lang + * @param $branch + * @return string the branch + */ + function branch_exist($app, $lang, $branch): string + { + // no translations for the specified application in the current language + if (!language_for_application_exist($app, $lang)) { + return ""; + } + // Handle old URL - compatibility with the old schema + $compatibility_branches = array( + "development" => array("trunk5", "trunk4"), + "stable" => array("stable5", "stable4"), + ); + // Search in compatibility branches first + if (array_key_exists($branch, $compatibility_branches)) { + foreach ($compatibility_branches[$branch] as $comp_branch) { + # echo "Looking for $comp_branch into ".var_dump($this->programs_docs[$app][$lang]); + if (in_array($comp_branch, $this->programs_docs[$app][$lang])) { + return $comp_branch; + } + } + } + // Normal branch + if (in_array($branch, $this->programs_docs[$app][$lang])) { + return $branch; + } + return ""; + } +} + diff --git a/src/Data/GeneratedData.php b/src/Data/GeneratedData.php new file mode 100644 --- /dev/null +++ b/src/Data/GeneratedData.php @@ -0,0 +1,1162 @@ + + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/cache' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/mailto' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kmenuedit' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kwinscreenedges' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/cursortheme' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/workspaceoptions' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/cookies' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kdesu' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kcmlaunchfeedback' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kinfocenter' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kdebugdialog5' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/windowbehaviour' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/clock' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/keys' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'knetattach' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/formats' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/windowspecific' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/solid-device-automounter' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/autostart' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'plasma-desktop' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kcmaccess' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/screenlocker' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/desktop' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/proxy' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'systemsettings' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/help/documentationnotfound' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/file' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/translations' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kcmsmserver' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kded' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kcmstyle' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kwintabbox' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/filetypes' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kfontview' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/solid-actions' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/fonts' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/desktopthemedetails' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/baloo' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/help' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/mouse' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/splashscreen' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/webdav' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/useragent' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/data' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/webshortcuts' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/telnet' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kwindecoration' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/trash' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/colors' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/componentchooser' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/icons' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'ksysguard' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/keyboard' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/emoticons' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/ftp' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kwineffects' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/plasma-pa' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/paths' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/joystick' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'klipper' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/smb' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/fontinst' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/netpref' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kioslave5/http' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/spellchecking' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/kgamma5' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/powerdevil' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/khotkeys' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol/phonon' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), + 'kcontrol5/kcm_ssl' => + array ( + 'ca' => + array ( + 0 => 'trunk5', + ), + 'en' => + array ( + 0 => 'trunk5', + ), + 'uk' => + array ( + 0 => 'trunk5', + ), + ), +); +const modules_programs = array ( + 'frameworks' => + array ( + 0 => 'kdebugdialog5', + 1 => 'kioslave5/data', + 2 => 'kioslave5/file', + 3 => 'kioslave5/ftp', + 4 => 'kioslave5/help', + 5 => 'kioslave5/help/documentationnotfound', + 6 => 'kioslave5/http', + 7 => 'kioslave5/mailto', + 8 => 'kioslave5/telnet', + 9 => 'kioslave5/webdav', + 10 => 'kcontrol5/cache', + 11 => 'kcontrol5/cookies', + 12 => 'kcontrol5/netpref', + 13 => 'kcontrol5/proxy', + 14 => 'kcontrol5/smb', + 15 => 'kcontrol5/trash', + 16 => 'kcontrol5/useragent', + 17 => 'kcontrol5/webshortcuts', + 18 => 'kcontrol5/kcm_ssl', + ), + 'kde-workspace' => + array ( + 0 => 'kcontrol/autostart', + 1 => 'kcontrol/baloo', + 2 => 'kcontrol/clock', + 3 => 'kcontrol/colors', + 4 => 'kcontrol/componentchooser', + 5 => 'kcontrol/cursortheme', + 6 => 'kcontrol/desktopthemedetails', + 7 => 'kcontrol/emoticons', + 8 => 'kcontrol/fontinst', + 9 => 'kcontrol/fonts', + 10 => 'kcontrol/formats', + 11 => 'kcontrol/icons', + 12 => 'kcontrol/joystick', + 13 => 'kcontrol/kcmaccess', + 14 => 'kcontrol/kcmlaunchfeedback', + 15 => 'kcontrol/kcmnotify', + 16 => 'kcontrol/kcmsmserver', + 17 => 'kcontrol/kcmstyle', + 18 => 'kcontrol/kded', + 19 => 'kcontrol/keyboard', + 20 => 'kcontrol/keys', + 21 => 'kcontrol/mouse', + 22 => 'kcontrol/paths', + 23 => 'kcontrol/phonon', + 24 => 'kcontrol/solid-actions', + 25 => 'kcontrol/solid-device-automounter', + 26 => 'kcontrol/spellchecking', + 27 => 'kcontrol/splashscreen', + 28 => 'kcontrol/workspaceoptions', + 29 => 'kcontrol/kgamma5', + 30 => 'kcontrol/khotkeys', + 31 => 'kcontrol/desktop', + 32 => 'kcontrol/kwindecoration', + 33 => 'kcontrol/kwinscreenedges', + 34 => 'kcontrol/kwintabbox', + 35 => 'kcontrol/windowbehaviour', + 36 => 'kcontrol/windowspecific', + 37 => 'kcontrol/kwineffects', + 38 => 'kcontrol/screenlocker', + 39 => 'kcontrol/translations', + 40 => 'kcontrol/powerdevil', + 41 => 'kcontrol/plasma-pa', + 42 => 'kfontview', + 43 => 'knetattach', + 44 => 'plasma-desktop', + 45 => 'kdesu', + 46 => 'kcontrol5/filetypes', + 47 => 'kinfocenter', + 48 => 'kmenuedit', + 49 => 'ksysguard', + 50 => 'klipper', + 51 => 'systemsettings', + ), +); +const programs_multiplemodules = array ( +); +const languagelist = array ( + 0 => 'en', + 1 => 'fr', + 2 => 'ca', + 3 => 'uk', +); +const branch_description = array ( + 'stable5' => 'Stable (Frameworks 5)', + 'trunk5' => 'Development (Frameworks 5)', +); +} diff --git a/src/Data/StaticAppData.php b/src/Data/StaticAppData.php new file mode 100644 --- /dev/null +++ b/src/Data/StaticAppData.php @@ -0,0 +1,90 @@ + "English", + "ca" => "Català", + "fr" => "Français", + "de" => "Deutsch", + "uk" => "українська", + ]; +} + +?> diff --git a/src/Entity/.gitignore b/src/Entity/.gitignore new file mode 100644 diff --git a/src/Entity/Search.php b/src/Entity/Search.php new file mode 100644 --- /dev/null +++ b/src/Entity/Search.php @@ -0,0 +1,24 @@ +searchTerm; + } + + /** + * @param string|null $search + */ + public function setSearchTerm(?string $search): void + { + $this->searchTerm = $search; + } +} \ No newline at end of file diff --git a/src/Form/SearchBarType.php b/src/Form/SearchBarType.php new file mode 100644 --- /dev/null +++ b/src/Form/SearchBarType.php @@ -0,0 +1,23 @@ +add('search_term', SearchType::class) + ->add('Search', SubmitType::class); + } +} \ No newline at end of file diff --git a/src/Kernel.php b/src/Kernel.php new file mode 100644 --- /dev/null +++ b/src/Kernel.php @@ -0,0 +1,58 @@ +getProjectDir().'/var/cache/'.$this->environment; + } + + public function getLogDir() + { + return $this->getProjectDir().'/var/log'; + } + + public function registerBundles() + { + $contents = require $this->getProjectDir().'/config/bundles.php'; + foreach ($contents as $class => $envs) { + if ($envs[$this->environment] ?? $envs['all'] ?? false) { + yield new $class(); + } + } + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader) + { + $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); + $container->setParameter('container.dumper.inline_class_loader', true); + $confDir = $this->getProjectDir().'/config'; + + $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); + } + + protected function configureRoutes(RouteCollectionBuilder $routes) + { + $confDir = $this->getProjectDir().'/config'; + + $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + } +} diff --git a/src/Migrations/.gitignore b/src/Migrations/.gitignore new file mode 100644 diff --git a/src/Repository/.gitignore b/src/Repository/.gitignore new file mode 100644 diff --git a/styles/darkbackground.css b/styles/darkbackground.css deleted file mode 100644 --- a/styles/darkbackground.css +++ /dev/null @@ -1,273 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann and Olaf Schmidt - */ - -/* common (X)HTML formats */ - -body { -font-size: 100%; -line-height: 1.2em; /* Note: it is inherited as is, not recalculated! */ -background-color: #000022; -color: white; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -padding: 0; -margin: 0; -text-align: left; -background-color: black; -} - -input, select { -font-size: 0.8em; -line-height: 1em; -} - -form { -margin: 0; -padding: 0; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #CCCCFF; -text-decoration: underline; -} - -a:visited { -color: #FFCCFF; -text-decoration: underline; -} - -a:hover { -text-decoration: underline; -} - -/* navigation header, this is the combined area with logo and section links */ - -#nav_header_top { -text-align: right; -} - -#nav_header_bottom { -clear: left; -padding: 0.3em; -background-color: black; -text-align: left; -} - -#nav_header_logo, #nav_header_logo_right { -display: none; -} - -/* title text */ -#nav_header_title { -float: left; -font-size: 2em; -line-height: 1.4em; -padding-left: 0.2em; -} - -/* location combo */ -#nav_header_location { -} - -/* location URL */ -#nav_header_bottom_left { -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* place for the links to contact, sitemap, ... s*/ -#nav_header_bottom_right { -float: right; -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* main color definitions */ - -.menuheader { -height: 0; -line-height: 0; -margin: 0; -padding: 0; -font-size: 0; -} - -#leftmenu, #rightmenu { -width: 20%; -} - -#leftmenu h2, #rightmenu h2 { -font-size: 1em; -padding-left: 1em; -vertical-align: middle; -background-color: #000022; -color: white; -margin-top: 0; -} - -#rightmenu h3 { -padding: 0.3em 0.8em; -font-size: 1em; -} - -#leftmenu ul, #rightmenu ul { -margin: 0; -padding-left: 0.5em; -padding-bottom: 1em; -} - -#leftmenu ul { -list-style-type: none; -} - -#rightmenu ul { -list-style-type: none; -} - -#leftmenu li, #rightmenu li { -font-size: 0.8em; -} - -#leftmenu li { -margin-left: 1em; -} - -#rightmenu li { -margin-left: 1.5em; -} - -#leftmenu ul ul, #rightmenu ul ul { -margin: 0; -padding-left: 0; -} - -#leftmenu li li, #rightmenu li li{ -font-size: 0.8em; -margin-left: 2em; -list-style-type: square; -} - -/** - * page footer - */ - -/* background + border at top */ -#footer { -background-color: #000022; -} - -/* footer text stuff + image */ -#footer_text { -display: none; -} - -/* classes */ - -/* static IDs, ordered top to bottom */ - -#content { -border: 1px solid white; -padding: 0em 0.7em 1.5em 0.7em; -text-align: justify; -background-color: black; -} - -#content td, #content th { -font-family: sans-serif; -padding: 0.25em; -margin: 0; -text-align: left; -} - -#content h4, #content h3, #content h2, #content h1 { -text-align: left; -line-height: 1em; /* without this lines stick in each other for headings */ -} - -#quicklinks { -font-size: 1em; -text-align: center; -margin-top: 1em; -margin-left: 0.5em; -margin-bottom: 0.5em; -margin-right: 0.5em; -} - -.menu_box { -background-color: black; -} - -#search { -text-align: center; -padding: 0.2em 0.2em 0.2em 0.2em; -} - -#search label { -display: none; -} - -#search input, #search select { -width: 95%; -margin-bottom: 2px; -} - -#hotspot { -font-size: 0.8em; -line-height: 1em; -text-align: center; -padding: 0 0 0.8em 0; -} - -#rightmenu h3 { -margin-bottom: 0; -} - -.newsbox1 { -background-color: #000022; -margin-top: 1em; -margin-bottom: 0.5em; -} - -.newsbox2 { -background-color: black; -margin-top: 1em; -margin-bottom: 0.5em -} - -/* common style for tables used in the page */ -.table_box { -background-color: #000022; -border: 0; -padding: 0; -margin: 0; -border-spacing: 0; -} - -.table_box th { -background-color: #000022; -color: white; -} - -/* hidden stuff */ -.doNotDisplay { -display: none; -} - -@media aural { .doNotDisplay { -display: inline; -}} diff --git a/styles/print-rtl.css b/styles/print-rtl.css deleted file mode 100644 --- a/styles/print-rtl.css +++ /dev/null @@ -1,63 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann - */ - -/* common (X)HTML formats */ - -body { -background-color: white; -color: black; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -line-height: 1em; -padding: 0; -margin: 0; -text-align: left; -} - -input, select, textarea { -font-family: sans-serif; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #036; -} - -a:visited { -color: #555AAA; -} - -/* main color definitions */ - -.invisible, #nav_header_logo, #nav_header_location, #nav_header_bottom, #footer, .menuheader, #leftmenu, #rightmenu, #leftmenu h2, #leftmenu ul, #search { -display: none; -width: 0; -overflow: hidden; -} - -#content { -background-color: white; -text-align: justify; -line-height: 1.5em; -background-color: white; -padding-right: 2em; -} - -/* static IDs, ordered top to bottom */ - -/* div { border: 1px solid black; } */ - -/* hidden stuff */ -.doNotDisplay { - display: none; -} \ No newline at end of file diff --git a/styles/print.css b/styles/print.css deleted file mode 100644 --- a/styles/print.css +++ /dev/null @@ -1,63 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann - */ - -/* common (X)HTML formats */ - -body { -background-color: white; -color: black; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -line-height: 1em; -padding: 0; -margin: 0; -text-align: left; -} - -input, select, textarea { -font-family: sans-serif; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #036; -} - -a:visited { -color: #555AAA; -} - -/* main color definitions */ - -.invisible, #nav_header_logo, #nav_header_location, #nav_header_bottom, #footer, .menuheader, #leftmenu, #rightmenu, #leftmenu h2, #leftmenu ul, #search, #footer { -display: none; -width: 0; -overflow: hidden; -} - -#content { -background-color: white; -text-align: justify; -line-height: 1.5em; -background-color: white; -padding-right: 2em; -} - -/* static IDs, ordered top to bottom */ - -/* div { border: 1px solid black; } */ - -/* hidden stuff */ -.doNotDisplay { - display: none; -} \ No newline at end of file diff --git a/styles/standard-rtl.css b/styles/standard-rtl.css deleted file mode 100644 --- a/styles/standard-rtl.css +++ /dev/null @@ -1,360 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann and Olaf Schmidt - */ - -/* common (X)HTML formats */ - -body { -font-size: 100%; -line-height: 1.2em; /* Note: it is inherited as is, not recalculated! */ -background-color: white; -color: black; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -padding: 0; -margin: 0; -} - -input, select { -font-size: 0.8em; -line-height: 1em; -} - -form { -margin: 0; -padding: 0; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #0000C0; -text-decoration: none; -} - -a:visited { -color: #800080; -text-decoration: none; -} - -a:hover { -text-decoration: underline; -} - -/* navigation header, this is the combined area with logo and section links */ - -#nav_header_top { -height: 52px; -background-color: #418ade; -border-bottom: 1px solid #000000; -} - -#nav_header_bottom { -padding: 6px 6px 6px 84px; -background-color: #dfe7f3; -border-bottom: 1px solid #000000; -} - -#nav_header_logo { -float: left; -padding: 10px; -} - -#nav_header_logo a img { -width: 64px; -height: 64px; -} - -#nav_header_logo_right { -float: right; -padding: 10px; -} - -/* title text */ -#nav_header_title { -position: absolute; -top: 12px; -left: 86px; -border: 0px; -font-size: 32px; -font-weight: bold; -color: white; -white-space: nowrap; - -line-height: 36px; -} - -/* location combo */ -#nav_header_location { -position: absolute; -top: 12px; -right: 8px; -border: 0px; -color: #444; -vertical-align: middle; -white-space: nowrap; - -font-size: 14px; -} - -/* location URL */ -#nav_header_bottom_left { -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* place for the links to contact, sitemap, ... s*/ -#nav_header_bottom_right { -float: left; -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* main color definitions */ - -.menuheader { -height: 0; -line-height: 0; -margin: 0; -padding: 0; -font-size: 0; -} - -#leftmenu, #rightmenu { -width: 20%; -} - -#leftmenu h2, #rightmenu h2 { -font-size: 1em; -padding-right: 1em; -vertical-align: middle; -background-color: #418ade; -border-top: 0.3em solid #418ade; -border-bottom: 0.3em solid #418ade; -color: white; -margin-top: 0; -} - -#rightmenu h3 { -padding: 0.3em 0.8em; -font-size: 1em; -margin-bottom: 0; -} - -#leftmenu ul, #rightmenu ul { -margin: 0; -padding-right: 0.5em; -padding-bottom: 1em; -} - -#leftmenu ul { -list-style-type: none; -} - -#rightmenu ul { -list-style-type: none; -} - -#leftmenu li, #rightmenu li { -font-size: 0.8em; -} - -#leftmenu li { -margin-right: 1em; -} - -#rightmenu li { -margin-right: 1.5em; -} - -#leftmenu ul ul, #rightmenu ul ul { -margin: 0; -padding-right: 0; -} - -#leftmenu li li, #rightmenu li li { -font-size: 0.8em; -margin-right: 2em; -} - -li.here a:link, li.here a:visited, li.here li.here a:link, li.here li.here a:visited { -text-decoration: underline; -} - -li.here li a:link, li.here li a:visited { -text-decoration: none; -} - -li.here a:hover, li.here li a:hover, li.here li.here a:hover { -text-decoration: underline; -} - -/** - * page footer - */ - -/* background + border at top */ -#footer { -border-top: 1px solid #000000; -background-image: url(../images/footer_bg.png); -background-repeat: repeat-x; -background-position: bottom left; -width: 100%; -height: 100px; -} - -/* left footer, contains the text */ -#footer_text { -left: 0px; -text-align: right; -padding: 0em 1.5em 0em 1.5em; -clear: both; -background-image: url(../images/footer_left.png); -background-repeat: no-repeat; -background-position: bottom left; -width: 100%; -height: 100px; -bottom:0px; -} - -/* classes */ - -#main, #content { -clear: both; -} - -#content { -background-color: white; -padding: 0.5em 0.7em 1.5em 0.7em; -text-align: justify; -} - -#content td, #content th { -font-family: sans-serif; -padding: 0.25em; -margin: 0; -text-align: left; -} - -#content h4, #content h3, #content h2, #content h1 { -color: #418ade; -line-height: 1em; /* without this lines stick in each other for headings */ -} - -#quicklinks { -background-color: #E6F0F9; -font-size: 1em; -padding: 1em; -text-align: center; -margin-top: 1em; -margin-left: 0.5em; -margin-bottom: 0.5em; -margin-right: 0.5em; -} - -#leftmenu, #rightmenu { -background-color: white; -color: #036; -} - -.menu_box { -border-top: 8px solid white; -border-right: 8px solid white; -border-left: 8px solid white; - -background-color: #dfe7f3; -} - -#search { -text-align: center; -padding: 0.2em 0.2em 0.2em 0.2em; -} - -#search label { -display: none; -} - -#search input, #search select { -width: 95%; -margin-bottom: 2px; -} - -#hotspot { -font-size: 0.8em; -line-height: 1em; -text-align: center; -padding: 0 0 0.8em 0; -} - -.newsbox1 { -background-color: #E6F0F9; -margin-top: 1em; -margin-bottom: 0.5em; -} - -.newsbox2 { -background-color: white; -margin-top: 1em; -margin-bottom: 0.5em -} - -/* common style for tables used in the page */ -.table_box { -background-color: #dfe7f3; -border: 0; -padding: 0; -margin: 0; -border-spacing: 0; -} - -.table_box th { -background-color: #418ade; -color: white; -} - -/* needed for edu.kde.org */ -.contentheader, #content h4.contentheader { -font-size: 1em; -font-weight: bold; -line-height: 1.2em; -padding: 0.1em 0 0.2em 1em; -vertical-align: middle; -background-color: #418ade; -color: white; -margin: 0; -} - -/* Very common pattern on developer.kde.org: a list of links - to other pages with a brief italicized description below the link. - Can be created with
  • link

  • */ - -ul.linklist p { - font-size: small; - font-style: italic; -} - -ul.linklist p em { - font-style: normal; - font-weight: bold; -} - -/* hidden stuff */ -.doNotDisplay { -display: none; -} - -@media aural { .doNotDisplay { -display: inline; -}} diff --git a/styles/standard.css b/styles/standard.css deleted file mode 100644 --- a/styles/standard.css +++ /dev/null @@ -1,368 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann and Olaf Schmidt - */ - -/* common (X)HTML formats */ - -body { -font-size: 100%; -line-height: 1.2em; /* Note: it is inherited as is, not recalculated! */ -background-color: white; -color: black; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -padding: 0; -margin: 0; -text-align: left; -} - -input, select { -font-size: 0.8em; -line-height: 1em; -} - -form { -margin: 0; -padding: 0; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #0000C0; -text-decoration: none; -} - -a:visited { -color: #800080; -text-decoration: none; -} - -a:hover { -text-decoration: underline; -} - -/* navigation header, this is the combined area with logo and section links */ - -#nav_header_top { -height: 52px; - -text-align: right; - -background-color: #418ade; -border-bottom: 1px solid #000000; -} - -#nav_header_bottom { -padding: 6px 6px 6px 84px; -background-color: #dfe7f3; -border-bottom: 1px solid #000000; - -text-align: left; -} - -#nav_header_logo { -float: left; -padding: 10px; -} - -#nav_header_logo a img { -width: 64px; -height: 64px; -} - -#nav_header_logo_right { -float: right; -padding: 10px; -} - -/* title text */ -#nav_header_title { -position: absolute; -top: 12px; -left: 86px; -border: 0px; -font-size: 32px; -font-weight: bold; -color: white; -white-space: nowrap; - -line-height: 36px; -} - -/* location combo */ -#nav_header_location { -position: absolute; -top: 12px; -right: 8px; -border: 0px; -color: #444; -vertical-align: middle; -white-space: nowrap; - -font-size: 14px; -} - -/* location URL */ -#nav_header_bottom_left { -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* place for the links to contact, sitemap, ... s*/ -#nav_header_bottom_right { -float: right; -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* main color definitions */ - -.menuheader { -height: 0; -line-height: 0; -margin: 0; -padding: 0; -font-size: 0; -} - -#leftmenu, #rightmenu { -width: 20%; -} - -#leftmenu h2, #rightmenu h2 { -font-size: 1em; -padding-left: 1em; -vertical-align: middle; -background-color: #418ade; -border-top: 0.3em solid #418ade; -border-bottom: 0.3em solid #418ade; -color: white; -margin-top: 0; -} - -#rightmenu h3 { -padding: 0.3em 0.8em; -font-size: 1em; -margin-bottom: 0; -} - -#leftmenu ul, #rightmenu ul { -margin: 0; -padding-left: 0.5em; -padding-bottom: 1em; -} - -#leftmenu ul { -list-style-type: none; -} - -#rightmenu ul { -list-style-type: none; -} - -#leftmenu li, #rightmenu li { -font-size: 0.8em; -} - -#leftmenu li { -margin-left: 1em; -} - -#rightmenu li { -margin-left: 1.5em; -} - -#leftmenu ul ul, #rightmenu ul ul { -margin: 0; -padding-left: 0; -} - -#leftmenu li li, #rightmenu li li { -font-size: 0.8em; -margin-left: 2em; -} - -li.here a:link, li.here a:visited, li.here li.here a:link, li.here li.here a:visited { -text-decoration: underline; -} - -li.here li a:link, li.here li a:visited { -text-decoration: none; -} - -li.here a:hover, li.here li a:hover, li.here li.here a:hover { -text-decoration: underline; -} - -/** - * page footer - */ - -/* background + border at top */ -#footer { -border-top: 1px solid #000000; -background-image: url(../images/footer_bg.png); -background-repeat: repeat-x; -background-position: bottom left; -width: 100%; -height: 100px; -} - -/* left footer, contains the text */ -#footer_text { -left: 0px; -text-align: left; -padding: 0em 1.5em 0em 1.5em; -clear: both; -background-image: url(../images/footer_right.png); -background-repeat: no-repeat; -background-position: bottom right; -width: 100%; -height: 100px; -bottom:0px; -} - -/* classes */ - -#main, #content { -clear: both; -} - -#content { -background-color: white; -padding: 0.5em 0.7em 1.5em 0.7em; -text-align: justify; -} - -#content td, #content th { -font-family: sans-serif; -padding: 0.25em; -margin: 0; -text-align: left; -} - -#content h4, #content h3, #content h2, #content h1 { -color: #418ade; -text-align: left; -line-height: 1em; /* without this lines stick in each other for headings */ -} - -#quicklinks { -background-color: #E6F0F9; -font-size: 1em; -padding: 1em; -text-align: center; -margin-top: 1em; -margin-left: 0.5em; -margin-bottom: 0.5em; -margin-right: 0.5em; -} - -#leftmenu, #rightmenu { -background-color: white; -color: #036; -} - -.menu_box { -border-top: 8px solid white; - -border-right: 8px solid white; -border-left: 8px solid white; - -background-color: #dfe7f3; -} - -#search { -text-align: center; -padding: 0.2em 0.2em 0.2em 0.2em; -} - -#search label { -display: none; -} - -#search input, #search select { -width: 95%; -margin-bottom: 2px; -} - -#hotspot { -font-size: 0.8em; -line-height: 1em; -text-align: center; -padding: 0 0 0.8em 0; -} - -.newsbox1 { -background-color: #E6F0F9; -margin-top: 1em; -margin-bottom: 0.5em; -} - -.newsbox2 { -background-color: white; -margin-top: 1em; -margin-bottom: 0.5em -} - -/* common style for tables used in the page */ -.table_box { -background-color: #dfe7f3; -border: 0; -padding: 0; -margin: 0; -border-spacing: 0; -} - -.table_box th { -background-color: #418ade; -color: white; -} - -/* needed for edu.kde.org */ -.contentheader, #content h4.contentheader { -font-size: 1em; -font-weight: bold; -line-height: 1.2em; -padding: 0.1em 0 0.2em 1em; -vertical-align: middle; -background-color: #418ade; -color: white; -margin: 0; -} - -/* Very common pattern on developer.kde.org: a list of links - to other pages with a brief italicized description below the link. - Can be created with
  • link

  • */ - -ul.linklist p { - font-size: small; - font-style: italic; -} - -ul.linklist p em { - font-style: normal; - font-weight: bold; -} - -/* hidden stuff */ -.doNotDisplay { -display: none; -} - -@media aural { .doNotDisplay { -display: inline; -}} diff --git a/styles/yellowonblue.css b/styles/yellowonblue.css deleted file mode 100644 --- a/styles/yellowonblue.css +++ /dev/null @@ -1,273 +0,0 @@ -/** - * based on code by Sebastian Faubel - * modified by Christoph Cullmann and Olaf Schmidt - */ - -/* common (X)HTML formats */ - -body { -font-size: 100%; -line-height: 1.2em; /* Note: it is inherited as is, not recalculated! */ -background-color: #000099; -color: #ffff00; -font-family: sans-serif; -padding: 0; -margin: 0; -} - -table, td, th { -font-family: sans-serif; -padding: 0; -margin: 0; -text-align: left; -background-color: #000066; -} - -input, select { -font-size: 0.8em; -line-height: 1em; -} - -form { -margin: 0; -padding: 0; -} - -optgroup { -font-style: normal; -} - -a:link { -color: #99ff00; -text-decoration: underline; -} - -a:visited { -color: #ff9900; -text-decoration: underline; -} - -a:hover { -text-decoration: underline; -} - -/* navigation header, this is the combined area with logo and section links */ - -#nav_header_top { -text-align: right; -} - -#nav_header_bottom { -clear: left; -padding: 0.3em; -background-color: #000066; -text-align: left; -} - -#nav_header_logo, #nav_header_logo_right { -display: none; -} - -/* title text */ -#nav_header_title { -float: left; -font-size: 2em; -line-height: 1.4em; -padding-left: 0.2em; -} - -/* location combo */ -#nav_header_location { -text-align: right; -} - -/* location URL */ -#nav_header_bottom_left { -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* place for the links to contact, sitemap, ... s*/ -#nav_header_bottom_right { -float: right; -vertical-align: middle; - -font-size: 0.8em; -line-height: 1.1em; -} - -/* main color definitions */ - -.menuheader { -height: 0; -line-height: 0; -margin: 0; -padding: 0; -font-size: 0; -} - -#leftmenu, #rightmenu { -width: 20%; -} - -#leftmenu h2, #rightmenu h2 { -font-size: 1em; -padding-left: 1em; -vertical-align: middle; -background-color: #000099; -color: #ffff00; -margin-top: 0; -} - -#rightmenu h3 { -padding: 0.3em 0.8em; -font-size: 1em; -} - -#leftmenu ul, #rightmenu ul { -margin: 0; -padding-left: 0.5em; -padding-bottom: 1em; -} - -#leftmenu ul { -list-style-type: none; -} - -#rightmenu ul { -list-style-type: none; -} - -#leftmenu li, #rightmenu li { -font-size: 0.8em; -} - -#leftmenu li { -margin-left: 1em; -} - -#rightmenu li { -margin-left: 1.5em; -} - -#leftmenu ul ul, #rightmenu ul ul { -margin: 0; -padding-left: 0; -} - -#leftmenu li li, #rightmenu li li{ -font-size: 0.8em; -margin-left: 2em; -list-style-type: square; -} - -/** - * page footer - */ - -/* background + border at top */ -#footer { -background-color: #000099; -} - -/* footer text stuff + image */ -#footer_text { -display: none; -} - -/* classes */ - -/* static IDs, ordered top to bottom */ - -#content { -border: 1px solid #ffff00; -padding: 0em 0.7em 1.5em 0.7em; -text-align: justify; -background-color: #000066; -} - -#content td, #content th { -font-family: sans-serif; -padding: 0.25em; -margin: 0; -text-align: left; -} - -#content h4, #content h3, #content h2, #content h1 { -text-align: left; -line-height: 1em; /* without this lines stick in each other for headings */ -} - -#quicklinks { -font-size: 1em; -text-align: center; -margin-top: 1em; -margin-left: 0.5em; -margin-bottom: 0.5em; -margin-right: 0.5em; -} - -.menu_box { -background-color: #000066; -} - -#search { -text-align: center; -padding: 0.2em 0.2em 0.2em 0.2em; -} - -#search label { -display: none; -} - -#search input, #search select { -width: 95%; -margin-bottom: 2px; -} - -#hotspot { -font-size: 0.8em; -line-height: 1em; -text-align: center; -padding: 0 0 0.8em 0; -} - -#rightmenu h3 { -margin-bottom: 0; -} - -.newsbox1 { -background-color: #000099; -margin-top: 1em; -margin-bottom: 0.5em; -} - -.newsbox2 { -background-color: #000066; -margin-top: 1em; -margin-bottom: 0.5em -} - -/* common style for tables used in the page */ -.table_box { -background-color: #000099; -border: 0; -padding: 0; -margin: 0; -border-spacing: 0; -} - -.table_box th { -background-color: #000099; -color: #ffff00; -} -/* hidden stuff */ -.doNotDisplay { -display: none; -} - -@media aural { .doNotDisplay { -display: inline; -}} diff --git a/templates/base.html.twig b/templates/base.html.twig new file mode 100644 --- /dev/null +++ b/templates/base.html.twig @@ -0,0 +1,161 @@ +{% trans_default_domain 'app' %} + + + + + + + {% block title %}Welcome!{% endblock %} + {% block stylesheets %} + {{ encore_entry_link_tags('app') }} + {% endblock %} + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    +
    + {{ form_start(search_form, {'attr': {'class': 'form-row', 'novalidate': 'novalidate'}}) }} +
    + {{ form_widget(search_form.search_term, {'attr': {'aria-label': 'Search', 'placeholder': 'Search', 'class': 'form-control mb-2', 'value': search_term is defined ? search_term : '', 'id': 'autocomplete'}} ) }} +
    +
    + {{ form_widget(search_form.Search, {'attr': {'id': 'autocomplete', 'class': 'btn btn-outline-success mb-2 col-md-12'}}) }} +
    + {{ form_end(search_form) }} +
    + {% block body %}{% endblock %} +
    +
    + +{% block javascripts %} + {{ encore_entry_script_tags('app') }} +{% endblock %} + + diff --git a/templates/index.html.twig b/templates/index.html.twig new file mode 100644 --- /dev/null +++ b/templates/index.html.twig @@ -0,0 +1,21 @@ +{% extends 'base.html.twig' %} + +{% block body %} +

    Welcome

    +

    Welcome to the KDE documentation site. This page holds the complete KDE User Documentation in over 25 + languages. Thanks to the enormous efforts by our documentation and translation teams you can access + thousands of pages of documentation.

    + +

    Before you start searching the library or asking questions on the mailing lists, there is a good chance your + answer is already in the KDE UserBase or the KDE Community Forums.

    + +

    If you are looking for developer documentation, the KDE Techbase is + the place where you get what you are looking for.

    +

    Categories

    +
      + {% for category in modules_programs|keys %} +
    • {{ category }}
    • + {% endfor %} +
    +{% endblock %} diff --git a/templates/language_dropdown.html.twig b/templates/language_dropdown.html.twig new file mode 100644 --- /dev/null +++ b/templates/language_dropdown.html.twig @@ -0,0 +1,11 @@ +
    + {% for language in languages %} + {% if loop.index0 % 3 == 0 and loop.index0 != 0 %} +
    + + diff --git a/templates/module.html.twig b/templates/module.html.twig new file mode 100644 --- /dev/null +++ b/templates/module.html.twig @@ -0,0 +1,41 @@ +{% extends 'base.html.twig' %} + +{% block body %} +

    Module: {{ module }}

    + {% for category,submodules in categories %} +

    {{ category|trans({}, 'modules') }}

    + {% if submodules.branch is defined %} + + {% else %} +
    + {% for submodule,branchs in submodules %} + {% if loop.index0 % 2 == 0 and loop.index0 != 0 %} +
    +
    + {% endif %} +
    + {{ submodule|trans({}, 'modules') }} + +
    + {% endfor %} +
    + {% endif %} + {% endfor %} +{% endblock %} diff --git a/templates/search.html.twig b/templates/search.html.twig new file mode 100644 --- /dev/null +++ b/templates/search.html.twig @@ -0,0 +1,46 @@ +{% extends 'base.html.twig' %} + +{% block body %} + {% if search_result is defined %} + {% for module, moduleContent in search_result %} + {% for category, submodules in moduleContent %} +

    {{ category|trans({}, 'modules') }}

    + {% if submodules.branch is defined %} + + {% else %} +
    + {% for submodule,branchs in submodules %} + {% if loop.index0 % 2 == 0 and loop.index0 != 0 %} +
    +
    + {% endif %} +
    + {{ submodule|trans({},'modules') }} + +
    + {% endfor %} +
    + {% endif %} + {% endfor %} + {% endfor %} + {% else %} + TODO ADD TEXT + {% endif %} +{% endblock %} diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 diff --git a/translations/.gitignore b/translations/.gitignore new file mode 100644 diff --git a/translations/app.ca.yaml b/translations/app.ca.yaml new file mode 100644 --- /dev/null +++ b/translations/app.ca.yaml @@ -0,0 +1,5 @@ +language: Català +Help: Help +Contact Us: Contact Us +Donate: Donate +Search: Search diff --git a/translations/app.en.yaml b/translations/app.en.yaml new file mode 100644 --- /dev/null +++ b/translations/app.en.yaml @@ -0,0 +1,5 @@ +language: English +Help: Help +Contact Us: Contact Us +Donate: Donate +Search: Search diff --git a/translations/app.fr.yaml b/translations/app.fr.yaml new file mode 100644 --- /dev/null +++ b/translations/app.fr.yaml @@ -0,0 +1,4 @@ +language: Français +Help: Aide +Contact Us: Contactez nous +Donate: Faire un don diff --git a/translations/app.uk.yaml b/translations/app.uk.yaml new file mode 100644 --- /dev/null +++ b/translations/app.uk.yaml @@ -0,0 +1 @@ +language: українська \ No newline at end of file diff --git a/translations/modules.ca.yaml b/translations/modules.ca.yaml new file mode 100644 --- /dev/null +++ b/translations/modules.ca.yaml @@ -0,0 +1,429 @@ +kcontrol: System Settings Modules +kcontrol5: System Settings Modules +kioslave: Kioslaves +kioslave5: Kioslaves + +#kdelibs +sonnet: Check Spelling +data: Data URLs +http: http/https +file: file +ftp: FTP +help: help +mailto: mailto +rlogin: rlogin +telnet: telnet +webdav: webdav/webdavs + +#kdepimlibs +kresources: KDE PIM Resources (deprecated) +imap: imap +ldap: ldap +mbox: mbox +nntp: nntp +pop3: pop3 +sieve: sieve +smtp: smtp + +#applications +kdepasswd: Password &, User Account # move to kcontrol, it is a kcm +kate: Kate +katepart: Kate Part +kfind: KFind +konsole: Konsole/ +konqueror: Konqueror +kwrite: KWrite +dolphin: Dolphin +keditbookmarks: Bookmark Editor + +#kde-runtime +kdebugdialog: KDebugDialog +kdebugdialog5: KDebugDialog +knetattach: KNetAttach +documentationnotfound: Documentation not found +onlinehelp: Online Help +khelpcenter: KHelpCenter +kdesu: KDE su +fundamentals: KDE Fundamentals + +#kde-runtime kcontrol +attica: Social Desktop +cache: Cache +componentchooser: Default Applications +cookies: Cookies +ebrowsing: Web Shortcuts +emoticons: Emoticons +filemanager: File Management +filetypes: File Associations +formats: Formats +history: History +icons: Icons +kcmcgi: CGI Script +kcmcss: Appearance +kcmlaunchfeedback: Launch Feedback +kcmnotify: System Notification +kcm_ssl: SSL Preferences +kded: Service Manager +khtml-adblock: AdBlocK Filters +khtml-behavior: Web Browsing +khtml-general: General Konqueror Behavior +khtml-java-js: Java and JavaScript +khtml-plugins: Browser Plugins +kwineffects: Desktop Effects +language: Country/Region & Language +nepomuk: Desktop Search +netpref: Connection Preferences +performance: Performance +phonon: Audio and Video Settings +proxy: Proxy +smb: Спільні ресурси Windows +solid-device-automounter: Removable Devices +spellchecking: Spell Checker +translations: Translations +trash: Trash +useragent: Browser Identification + +#kde-runtime kioslaves +bookmarks: bookmarks +bzip2: bzip2 / bzip +cgi: cgi +finger: finger +fish: fish +floppy: Floppy +gzip: gzip +info: Info +man: Man +nepomuksearch: nepomuksearch +network: network +nfs: nfs +sftp: sftp +tar: tar +thumbnail: thumbnail +xz: xz / lzma + +#kde-workspace +plasma-desktop: Plasma Manual +plasma-pa: Audio Volume +systemsettings: System Settings +kfontview: Font Viewer +klipper: Klipper +kdm: KDM Login Manager +kinfocenter: KDE Info Center +kmenuedit: KDE Menu Editor +ksysguard: System Monitor +PolicyKit-kde: PolicyKit-kde +#kde-workspace kcontrol +autostart: Autostart +baloo: File Search Settings +bell: System Bell +clock: Date & Time +colors: Colors +cursortheme: Cursor Theme +desktop: Virtual Desktops +desktopthemedetails: Desktop Themes +fontinst: Font Management +fonts: Fonts +joystick: Joystick +kcmaccess: Accessibility +kcmsmserver: Session Management +kcmstyle: Style +keyboard: Keyboard +keys: Shortcuts +kgamma5: Monitor Gamma +khotkeys: Custom Shortcuts +kwincompositing: Desktop Effects +kwindecoration: Window Decorations +kwinscreenedges: Screen Edges +kwintabbox: Task Switcher +mouse: Mouse +paths: Paths +powerdevil: Power Management +screenlocker: Screen Locker +screensaver: Screen Locker +solid-actions: Device Actions +solid-hardware: Information Sources +splashscreen: Splash Screen +webshortcuts: Web Shortcuts +windowbehaviour: Window Behavior +windowspecific: Window Rules +workspaceoptions: Workspace + +#kdeaccessibility/ +jovie: Jovie +kmag: KMagnifier +kmousetool: KMouseTool +kmouth: KMouth + +#kdeadmin/ +kcron: Task Scheduler # move to kcontrol, it is a kcm +ksystemlog: KSystemLog +kuser: KUser + +#kdeedu +artikulate: Artikulate +blinken: Blinken +cantor: Cantor +kalgebra: KAlgebra +kalzium: Kalzium +kanagram: Kanagram +kbruch: KBruch +kgeography: KGeography +khangman: KHangMan +kig: Kig +kiten: Kiten +klettres: KLettres +kmplot: KmPlot +kstars: KStars +ktouch: KTouch +kturtle: KTurtle +kwordquiz: KWordQuiz +marble: Marble +minuet: Minuet +pairseditor: Pairs Editor +parley: Parley +rocs: Rocs +step: Step + +#kdegames +bomber: Bomber +bovo: Bovo +granatier: Granatier +kajongg: Kajongg +kapman: Kapman +katomic: KAtomic +knavalbattle: Naval Battle +kblackbox: KBlackbox +kblocks: KBlocks +kbounce: KBounce +kbreakout: KBreakout +kdiamond: KDiamond +kfourinline: KFourInLine +kgoldrunner: KGoldrunner +kigo: Kigo +killbots: Killbots +kiriki: Kiriki +kjumpingcube: KJumpingCube +klickety: Klickety +knights: Knights +klines: Kolor Lines +kmahjongg: KMahjongg +kmines: KMines +knetwalk: KNetwalk +kolf: Kolf +kollision: Kollision +konquest: Konquest +kpat: KPatience +kreversi: KReversi +kshisen: Shisen-Sho +ksirk: KSirk +kspaceduel: KSpaceDuel +ksquares: KSquares +ksudoku: KSudoku +ktron: KSnakeDuel +ktuberling: KTuberling +kubrick: Kubrick +lskat: LSkat +palapeli: Palapeli +picmi: Picmi + +#kdegraphics +gwenview: Gwenview +kolourpaint: KolourPaint +kruler: KRuler +ksnapshot: KSnapshot +okular: Okular +spectacle: Spectacle + +#kdegraphics kcontrol +kamera: Digital Camera +kgamma: Monitor Gamma + +#kdemultimedia +dragonplayer: Dragon Player +juk: JuK +kdenlive: Kdenlive +kmix: KMix +kwave: Kwave + +#kdemultimedia kcontrol +cddbretrieval: CDDB Retrieval +cddbretrieval5: CDDB Retrieval + +#kdemultimedia kioslave +audiocd: audiocd + +#kdenetwork +kget: KGet +kopete: Kopete +kppp: KPPP +krdc: KRDC +krfb: Desktop Sharing +recentdocuments: Recent Documents + +#kdepim +akonadi_archivemail_agent: Archive Mail Agent +akonadi_followupreminder_agent: Follow Up Reminder Agent +akonadi_folderarchive_agent: Folder Archive Agent +akonadi_notes_agent: Notes Agent +akonadi_sendlater_agent: Send Later Agent +akregator: Akregator +blogilo: Blogilo +contactthemeeditor: Contact Theme Editor +headerthemeeditor: Header Theme Editor +importwizard: Import Wizard +kabcclient: KABC-Client +kalarm: KAlarm +kjots: KJots +kleopatra: Kleopatra +kmail: KMail +kmail2: KMail +kmailcvt: KMailCVT +knode: KNode +knotes: KNotes +konsolekalendar: KonsoleKalendar +kontact: Kontact +kontact-admin: Kontact Administrator's Guide +korganizer: KOrganizer +ktimetracker: KTimeTracker +ktnef: KTnef +kwatchgnupg: KWatchGnuPG +pimsettingexporter: PIM Setting Exporter +sieveeditor: Sieve Script Editor + +#kdepim kioslave +news: news +#kdesdk + +cervisia: Cervisia +kapptemplate: KAppTemplate +kcachegrind: KCachegrind +kompare: Kompare +lokalize: Lokalize +okteta: Okteta +umbrello: Umbrello + +#kdetoys +amor: Amor +kteatime: KTeatime + +#kdeutils +ark: Ark +filelight: Filelight +kbackup: KBackup +kcalc: KCalc +kcharselect: KCharSelect +kdf: KDiskFree +kfloppy: KFloppy +kgpg: KGpg +ktimer: KTimer +kwallet: KWallet +kwallet5: KWallet +kwalletmanager: KWallet Manager +sweeper: Sweeper + +#kdeutils kcontrol +blockdevices: Block Devices +kremotecontrol: Remote Control + +#kdewebdev +kfilereplace: KFileReplace +kimagemapeditor: KImageMapEditor +klinkstatus: KLinkStatus + +#calligra +sheets: Calligra Sheets +calligra: Calligra +kexi: Kexi +stage: Calligra Stage + +#extragear-accessibility +afaras: Afaras +ssc: Sample Acquisition Tool +sscd: Sample Acquisition Tool Daemon +simond: Simon Daemon +simon: Simon Speech Recognition Tool +sam: Simon Accoustic Model Manager +ksimond: Simon Daemon Frontend + +#extragear-base kcontrol +wacomtablet: KCM Tablet + +#extragear-edu +gcompris: GCompris Administration +labplot2: LabPlot + +#extragear-games + +#extragear-graphics +digikam: digiKam +kcoloredit: KColorEdit +kgraphviewer: KGraphViewer +kiconedit: KIconEdit +kipi-plugins: Kipi Plugins +kphotoalbum: KPhotoAlbum +kpovmodeler: KPovModeler +kuickshow: KuickShow +kxstitch: KXStitch +showfoto: Showfoto +skanlite: Skanlite +SymbolEditor: SymbolEditor + +#extragear-kdevelop +kdevelop: KDevelop + +#extragear-multimedia +amarok: Amarok +k3b: K3b +kaffeine: Kaffeine +kamoso: Kamoso +kaudiocreator: KAudioCreator +kmid: KMid +kmplayer: KMPlayer +kplayer: KPlayer + +#extragear-network +choqok: Choqok +kopete-cryptography: Cryptography Plugin +rekonq: rekonq +konversation: Konversation +ktorrent: KTorrent +smb4k: Smb4K + +#extragear-network kioslave +gopher: gopher +gdrive: gdrive + +#extragear-office +kbibtex: KBibTeX +kile: Kile +kmymoney: KMyMoney +skrooge: Skrooge +tellico: Tellico + +#extragear-pim +ksig: KSig +trojita: Trojita + +#extragear-sdk +xsldbg: xsldbg +kxsldbg: KXSLDbg + +#extragear-sysadmin +partitionmanager: Partition Manager +kiosktool: KIOSK Admin Tool + +#extragear-utils +katimon: Katimon +kdesrc-build: kdesrc-build Script +keurocalc: KEuroCalc +kpager: KPager +krecipes: Krecipes +kronometer: Kronometer +krusader: Krusader +nepomukshell: Nepomuk Shell +rsibreak: RSIBreak +kdiff3: KDiff3 +kdots: KDots +kpeg: KPeg +rkward: RKWard +rkwardplugins: RKWard Plugins diff --git a/translations/modules.en.yaml b/translations/modules.en.yaml new file mode 100644 --- /dev/null +++ b/translations/modules.en.yaml @@ -0,0 +1,429 @@ +kcontrol: System Settings Modules +kcontrol5: System Settings Modules +kioslave: Kioslaves +kioslave5: Kioslaves + +#kdelibs +sonnet: Check Spelling +data: Адреси даних +http: http/https +file: file +ftp: FTP +help: help +mailto: mailto +rlogin: rlogin +telnet: telnet +webdav: webdav/webdavs + +#kdepimlibs +kresources: KDE PIM Resources (deprecated) +imap: imap +ldap: ldap +mbox: mbox +nntp: nntp +pop3: pop3 +sieve: sieve +smtp: smtp + +#applications +kdepasswd: Password &, User Account # move to kcontrol, it is a kcm +kate: Kate +katepart: Kate Part +kfind: KFind +konsole: Konsole/ +konqueror: Konqueror +kwrite: KWrite +dolphin: Dolphin +keditbookmarks: Bookmark Editor + +#kde-runtime +kdebugdialog: KDebugDialog +kdebugdialog5: KDebugDialog +knetattach: KNetAttach +documentationnotfound: Documentation not found +onlinehelp: Online Help +khelpcenter: KHelpCenter +kdesu: KDE su +fundamentals: KDE Fundamentals + +#kde-runtime kcontrol +attica: Social Desktop +cache: Кеш +componentchooser: Default Applications +cookies: Cookies +ebrowsing: Web Shortcuts +emoticons: Emoticons +filemanager: File Management +filetypes: File Associations +formats: Formats +history: History +icons: Icons +kcmcgi: CGI Script +kcmcss: Appearance +kcmlaunchfeedback: Launch Feedback +kcmnotify: System Notification +kcm_ssl: SSL Preferences +kded: Service Manager +khtml-adblock: AdBlocK Filters +khtml-behavior: Web Browsing +khtml-general: General Konqueror Behavior +khtml-java-js: Java and JavaScript +khtml-plugins: Browser Plugins +kwineffects: Desktop Effects +language: Country/Region & Language +nepomuk: Desktop Search +netpref: Параметри з'єднання +performance: Performance +phonon: Audio and Video Settings +proxy: Proxy +smb: Windows Shares +solid-device-automounter: Removable Devices +spellchecking: Spell Checker +translations: Translations +trash: Trash +useragent: Browser Identification + +#kde-runtime kioslaves +bookmarks: bookmarks +bzip2: bzip2 / bzip +cgi: cgi +finger: finger +fish: fish +floppy: Floppy +gzip: gzip +info: Info +man: Man +nepomuksearch: nepomuksearch +network: network +nfs: nfs +sftp: sftp +tar: tar +thumbnail: thumbnail +xz: xz / lzma + +#kde-workspace +plasma-desktop: Plasma Manual +plasma-pa: Audio Volume +systemsettings: System Settings +kfontview: Font Viewer +klipper: Klipper +kdm: KDM Login Manager +kinfocenter: KDE Info Center +kmenuedit: KDE Menu Editor +ksysguard: System Monitor +PolicyKit-kde: PolicyKit-kde +#kde-workspace kcontrol +autostart: Autostart +baloo: File Search Settings +bell: System Bell +clock: Date & Time +colors: Colors +cursortheme: Cursor Theme +desktop: Virtual Desktops +desktopthemedetails: Desktop Themes +fontinst: Font Management +fonts: Fonts +joystick: Joystick +kcmaccess: Accessibility +kcmsmserver: Session Management +kcmstyle: Style +keyboard: Keyboard +keys: Shortcuts +kgamma5: Monitor Gamma +khotkeys: Custom Shortcuts +kwincompositing: Desktop Effects +kwindecoration: Window Decorations +kwinscreenedges: Screen Edges +kwintabbox: Task Switcher +mouse: Mouse +paths: Paths +powerdevil: Power Management +screenlocker: Screen Locker +screensaver: Screen Locker +solid-actions: Device Actions +solid-hardware: Information Sources +splashscreen: Splash Screen +webshortcuts: Web Shortcuts +windowbehaviour: Window Behavior +windowspecific: Window Rules +workspaceoptions: Workspace + +#kdeaccessibility/ +jovie: Jovie +kmag: KMagnifier +kmousetool: KMouseTool +kmouth: KMouth + +#kdeadmin/ +kcron: Task Scheduler # move to kcontrol, it is a kcm +ksystemlog: KSystemLog +kuser: KUser + +#kdeedu +artikulate: Artikulate +blinken: Blinken +cantor: Cantor +kalgebra: KAlgebra +kalzium: Kalzium +kanagram: Kanagram +kbruch: KBruch +kgeography: KGeography +khangman: KHangMan +kig: Kig +kiten: Kiten +klettres: KLettres +kmplot: KmPlot +kstars: KStars +ktouch: KTouch +kturtle: KTurtle +kwordquiz: KWordQuiz +marble: Marble +minuet: Minuet +pairseditor: Pairs Editor +parley: Parley +rocs: Rocs +step: Step + +#kdegames +bomber: Bomber +bovo: Bovo +granatier: Granatier +kajongg: Kajongg +kapman: Kapman +katomic: KAtomic +knavalbattle: Naval Battle +kblackbox: KBlackbox +kblocks: KBlocks +kbounce: KBounce +kbreakout: KBreakout +kdiamond: KDiamond +kfourinline: KFourInLine +kgoldrunner: KGoldrunner +kigo: Kigo +killbots: Killbots +kiriki: Kiriki +kjumpingcube: KJumpingCube +klickety: Klickety +knights: Knights +klines: Kolor Lines +kmahjongg: KMahjongg +kmines: KMines +knetwalk: KNetwalk +kolf: Kolf +kollision: Kollision +konquest: Konquest +kpat: KPatience +kreversi: KReversi +kshisen: Shisen-Sho +ksirk: KSirk +kspaceduel: KSpaceDuel +ksquares: KSquares +ksudoku: KSudoku +ktron: KSnakeDuel +ktuberling: KTuberling +kubrick: Kubrick +lskat: LSkat +palapeli: Palapeli +picmi: Picmi + +#kdegraphics +gwenview: Gwenview +kolourpaint: KolourPaint +kruler: KRuler +ksnapshot: KSnapshot +okular: Okular +spectacle: Spectacle + +#kdegraphics kcontrol +kamera: Digital Camera +kgamma: Monitor Gamma + +#kdemultimedia +dragonplayer: Dragon Player +juk: JuK +kdenlive: Kdenlive +kmix: KMix +kwave: Kwave + +#kdemultimedia kcontrol +cddbretrieval: CDDB Retrieval +cddbretrieval5: CDDB Retrieval + +#kdemultimedia kioslave +audiocd: audiocd + +#kdenetwork +kget: KGet +kopete: Kopete +kppp: KPPP +krdc: KRDC +krfb: Desktop Sharing +recentdocuments: Recent Documents + +#kdepim +akonadi_archivemail_agent: Archive Mail Agent +akonadi_followupreminder_agent: Follow Up Reminder Agent +akonadi_folderarchive_agent: Folder Archive Agent +akonadi_notes_agent: Notes Agent +akonadi_sendlater_agent: Send Later Agent +akregator: Akregator +blogilo: Blogilo +contactthemeeditor: Contact Theme Editor +headerthemeeditor: Header Theme Editor +importwizard: Import Wizard +kabcclient: KABC-Client +kalarm: KAlarm +kjots: KJots +kleopatra: Kleopatra +kmail: KMail +kmail2: KMail +kmailcvt: KMailCVT +knode: KNode +knotes: KNotes +konsolekalendar: KonsoleKalendar +kontact: Kontact +kontact-admin: Kontact Administrator's Guide +korganizer: KOrganizer +ktimetracker: KTimeTracker +ktnef: KTnef +kwatchgnupg: KWatchGnuPG +pimsettingexporter: PIM Setting Exporter +sieveeditor: Sieve Script Editor + +#kdepim kioslave +news: news +#kdesdk + +cervisia: Cervisia +kapptemplate: KAppTemplate +kcachegrind: KCachegrind +kompare: Kompare +lokalize: Lokalize +okteta: Okteta +umbrello: Umbrello + +#kdetoys +amor: Amor +kteatime: KTeatime + +#kdeutils +ark: Ark +filelight: Filelight +kbackup: KBackup +kcalc: KCalc +kcharselect: KCharSelect +kdf: KDiskFree +kfloppy: KFloppy +kgpg: KGpg +ktimer: KTimer +kwallet: KWallet +kwallet5: KWallet +kwalletmanager: KWallet Manager +sweeper: Sweeper + +#kdeutils kcontrol +blockdevices: Block Devices +kremotecontrol: Remote Control + +#kdewebdev +kfilereplace: KFileReplace +kimagemapeditor: KImageMapEditor +klinkstatus: KLinkStatus + +#calligra +sheets: Calligra Sheets +calligra: Calligra +kexi: Kexi +stage: Calligra Stage + +#extragear-accessibility +afaras: Afaras +ssc: Sample Acquisition Tool +sscd: Sample Acquisition Tool Daemon +simond: Simon Daemon +simon: Simon Speech Recognition Tool +sam: Simon Accoustic Model Manager +ksimond: Simon Daemon Frontend + +#extragear-base kcontrol +wacomtablet: KCM Tablet + +#extragear-edu +gcompris: GCompris Administration +labplot2: LabPlot + +#extragear-games + +#extragear-graphics +digikam: digiKam +kcoloredit: KColorEdit +kgraphviewer: KGraphViewer +kiconedit: KIconEdit +kipi-plugins: Kipi Plugins +kphotoalbum: KPhotoAlbum +kpovmodeler: KPovModeler +kuickshow: KuickShow +kxstitch: KXStitch +showfoto: Showfoto +skanlite: Skanlite +SymbolEditor: SymbolEditor + +#extragear-kdevelop +kdevelop: KDevelop + +#extragear-multimedia +amarok: Amarok +k3b: K3b +kaffeine: Kaffeine +kamoso: Kamoso +kaudiocreator: KAudioCreator +kmid: KMid +kmplayer: KMPlayer +kplayer: KPlayer + +#extragear-network +choqok: Choqok +kopete-cryptography: Cryptography Plugin +rekonq: rekonq +konversation: Konversation +ktorrent: KTorrent +smb4k: Smb4K + +#extragear-network kioslave +gopher: gopher +gdrive: gdrive + +#extragear-office +kbibtex: KBibTeX +kile: Kile +kmymoney: KMyMoney +skrooge: Skrooge +tellico: Tellico + +#extragear-pim +ksig: KSig +trojita: Trojita + +#extragear-sdk +xsldbg: xsldbg +kxsldbg: KXSLDbg + +#extragear-sysadmin +partitionmanager: Partition Manager +kiosktool: KIOSK Admin Tool + +#extragear-utils +katimon: Katimon +kdesrc-build: kdesrc-build Script +keurocalc: KEuroCalc +kpager: KPager +krecipes: Krecipes +kronometer: Kronometer +krusader: Krusader +nepomukshell: Nepomuk Shell +rsibreak: RSIBreak +kdiff3: KDiff3 +kdots: KDots +kpeg: KPeg +rkward: RKWard +rkwardplugins: RKWard Plugins diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,39 @@ +var Encore = require('@symfony/webpack-encore'); + +Encore + // directory where compiled assets will be stored + .setOutputPath('public/build/') + + // public path used by the web server to access the output path + .setPublicPath('/build') + + .addEntry('app', './assets/js/app.js') + + // will require an extra script tag for runtime.js + // but, you probably want this, unless you're building a single-page app + .enableSingleRuntimeChunk() + + /* + * FEATURE CONFIG + * + * Enable & configure other features below. For a full + * list of features, see: + * https://symfony.com/doc/current/frontend.html#adding-more-features + */ + .cleanupOutputBeforeBuild() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning() + + // enables Sass/SCSS support + .enableSassLoader() + + // uncomment if you use TypeScript + //.enableTypeScriptLoader() + + // uncomment if you're having problems with a jQuery plugin + .autoProvidejQuery() +; + +module.exports = Encore.getWebpackConfig();