diff --git a/.arcconfig b/.arcconfig new file mode 100644 --- /dev/null +++ b/.arcconfig @@ -0,0 +1,4 @@ +{ + "phabricator.uri" : "https://phabricator.kde.org/" +} + diff --git a/.env b/.env new file mode 100644 --- /dev/null +++ b/.env @@ -0,0 +1,7 @@ + +###> symfony/framework-bundle ### +APP_ENV=dev +APP_SECRET=87b885b76ea9992c5ef17c9eea8a8c65 +#TRUSTED_PROXIES=127.0.0.1,127.0.0.2 +#TRUSTED_HOSTS='^localhost|example\.com$' +###< symfony/framework-bundle ### diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -1 +1,35 @@ *.pyc +*.lock +vendor +bin +var +logs +src/Data/ +config/services.php +public +work +build +breeze-icons +search/omegaconf/data/ +.idea/ +kdelibs/docbookl10nhelper +kdelibs/meinproc4_simple + +###> symfony/webpack-encore-bundle ### +/node_modules/ +/public/build/ +npm-debug.log +yarn-error.log +###< symfony/webpack-encore-bundle ### +###> symfony/framework-bundle ### +/.env.local +/.env.local.php +/.env.*.local +/public/bundles/ +/var/ +/vendor/ +###< symfony/framework-bundle ### + +###> symfony/web-server-bundle ### +/.web-server-pid +###< symfony/web-server-bundle ### diff --git a/.gitmodules b/.gitmodules new file mode 100644 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "assets/breeze-icons"] + path = assets/breeze-icons + url = git://anongit.kde.org/breeze-icons.git diff --git a/404.php b/404.php deleted file mode 100644 --- a/404.php +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/README b/README --- a/README +++ b/README @@ -20,7 +20,7 @@ Git (for English) and Subversion (for other languages) and build HTML and PDF files from the DocBook sources. -A PHP framework to display the built documentation in a easy to use interface. +A PHP framework (build with symfony) to display the built documentation in a easy to use interface. The Python script and the related modules replace the Bash script (generator) which was in use from 2005 to 2015. diff --git a/assets/breeze-icons b/assets/breeze-icons new file mode 160000 --- /dev/null +++ b/assets/breeze-icons @@ -0,0 +1 @@ +Subproject commit 93a4e1e35c00cb4ac0d3526e54f19a8cbec4cb7c diff --git a/assets/css/aetherCore.scss b/assets/css/aetherCore.scss new file mode 100644 --- /dev/null +++ b/assets/css/aetherCore.scss @@ -0,0 +1,475 @@ +@font-face { + font-family: 'Noto Sans'; + font-weight: 400; + font-style: normal; + src: url('/css/Noto-Sans-regular/Noto-Sans-regular.eot'); + src: url('/css/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix') format('embedded-opentype'), + local('Noto Sans'), + local('Noto-Sans-regular'), + url('/css/Noto-Sans-regular/Noto-Sans-regular.woff2') format('woff2'), + url('/css/Noto-Sans-regular/Noto-Sans-regular.woff') format('woff'), + url('/css/Noto-Sans-regular/Noto-Sans-regular.ttf') format('truetype'), + url('/css/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans') format('svg'); +} + +@font-face { + font-family: 'Noto Sans'; + font-weight: 700; + font-style: normal; + src: url('/css/Noto-Sans-700/Noto-Sans-700.eot'); + src: url('/css/Noto-Sans-700/Noto-Sans-700.eot?#iefix') format('embedded-opentype'), + local('Noto Sans Bold'), + local('Noto-Sans-700'), + url('/css/Noto-Sans-700/Noto-Sans-700.woff2') format('woff2'), + url('/css/Noto-Sans-700/Noto-Sans-700.woff') format('woff'), + url('/css/Noto-Sans-700/Noto-Sans-700.ttf') format('truetype'), + url('/css/Noto-Sans-700/Noto-Sans-700.svg#NotoSans') format('svg'); +} + +body { + padding: 0px; + font-family: 'Noto Sans', sans-serif; + font-size: 14px; + color: #31363b; +} + +p { + margin: 0px; + margin-bottom: 1em; + max-width: 900px; +} + +p + p { + margin-top: 5px; +} + +a { + text-decoration: none !important; + color: #3b85b5; +} + +/* +a:visited { + color: #7cbcec; +} +*/ + +a:hover { + color: #3daefd; +} + +h1:not(.card-header), h2:not(.card-header), h3:not(.card-header) { + margin-top: 20px; + margin-bottom: 10px; +} + +h1 { + display: block; + font-size: 20px; + font-weight: normal; +} + +h2 { + font-size: 18px; + font-weight: normal; +} + +h3 { + font-size: 14px; + font-weight: bold; +} + +h4 { + font-size: 12px; + font-weight: bold; + font-style: italic; + color: #536161; + margin: 0px; + margin-top: 20px; +} + +.learn-more:after { + content: ">"; + font-family: "glyph"; + font-size: 80%; + font-weight: bold !important; + vertical-align: middle; + padding-left: 1em; +} + +.learn-more { + display: inline-block; +} + +a.button { + position: relative; + display: inline-block; + background-color: #54a3d8; + color: #fcfcfc; + padding: 5px 10px; + border-radius: 2px; + border: solid 1px rgba(0,0,0,.1); + transition: background-color .2s; +} + +a.button:hover { + background-color: #7cbcec; +} + +a.button.expand { + display: block; + padding-right: 20px; +} + +a.button:after { + color: #fcfcfc +} + +a.button.expand:after { + position: absolute; + top: 50%; + right: 10px; + margin-top: -.8ex; +} + +@media (max-width: 768px) { + a.button { + display: block; + padding-right: 20px; + } + + a.button:after { + position: absolute; + top: 50%; + right: 10px; + margin-top: -.8ex; + } +} + +main section { + margin-top: 40px; +} + +#kSocial { + + border-top: solid 1px #cfd5d5; + +} + +#kPatrons h3, #kLinks h3 { + font-size: 12px; + font-weight: bold; + margin: 10px 0px 10px 0px; +} + +#kPatrons a, #kPatrons span { + text-align: center; + padding: 0px 20px; + display: block; + min-width: 200px; +} + + +#kPatrons img { + width: 100%; + max-width: 300px; +} + +#donateAmountField, #donateSubmit, #kMetaStore .button { + border: solid 1px rgba(0,0,0,.2); + background-color: #FAFAFA; + padding: 5px 10px; + border-radius: 2px; + background-clip: padding-box; + position: relative; + color: #333; +} + +#donateSubmit, #kMetaStore .button { + cursor: pointer; +} + +#donateAmountField:focus, #kMetaStore .button:focus { + border-color: #7cbcec; + background-color: #FFF; +} + +#donateSubmit:hover, #kMetaStore .button:hover { + background-color: #FFF; +} + +#donateSubmit:active, #kMetaStore .button:active { + background-color: #EEE; + top: 1px; +} + +#kLegal small { +min-width: 300px; +} + +#kLegal { + color: #6f8181; +} + +footer { + background-color: #EFF1F1; + position: relative; + padding-top: 2px; + font-size: 12px; +} + + +#headerCarousel { + margin-bottom: 20px; + height: 700px; +} + + +@media (max-width: 1700px) { + #headerCarousel { + height: 600px; + } +} + +@media (max-width: 1140px) { + #headerCarousel { + height: 500px; + } +} + +@media (max-width: 800px) { + #headerCarousel { + height: 400px; + } +} + + +#headerCarousel .carousel-inner { + width: 100%; + height: 100%; +} + +#headerCarousel .carousel-item.dark-text { + color: #333; + text-shadow: none; +} + + +#headerCarousel .carousel-item { + color: #EEE; + text-shadow: 0px 1px 2px rgba(0,0,0,.6); + top: 0px !important; + + width: 100%; + height: 100%; + + padding: 40px 50px; +} + +#headerCarousel .carousel-item > h1 { + margin: 10px auto; + text-align: center; + display: block; +} + +#headerCarousel .carousel-item .alignBottom { + position: absolute; + bottom: 0px; + width: 100%; + left: 0px; + padding: 40px 50px; + + text-align: center; +} + +#headerCarousel .carousel-control-prev, #headerCarousel .carousel-control-next { + top: 50%; + width: 30px; + height: 100px; + margin-top: -50px; + + background-color: #FAFAFA; + opacity: 1; + + font-family: "glyph"; + + color: #333; + padding: 0px; + transition: width .2s; +} + +#headerCarousel .carousel-control-prev:hover, #headerCarousel .carousel-control-next:hover { + width: 50px; +} + +#headerCarousel .carousel-control-prev:before { + content: "<"; + width: 100%; + text-align: center; +} + +#headerCarousel .carousel-control-next:before { + content: ">"; + width: 100%; + text-align: center; +} + +#headerCarousel .carousel-control-prev { + border-right: solid 2px #3daefd; +} + +#headerCarousel .carousel-control-next { + border-left: solid 2px #3daefd; +} + + +#kSocial { + text-align: right; + padding-top: 0px !important; + padding-bottom: 0px !important; +} + +#kSocial a { + padding: 0px 20px; + text-indent: -9999px; + text-align: left; +} + +#kSocial a:after { + text-align: center; +} + +#kFooterIncome { + display: flex; + flex-direction: row; + align-items: stretch; + background-color: #abf9c7; + border: solid 1px #7ceca4; + border-radius: 2px; + margin-top: 10px; + padding: 0px !important; +} + +#kDonateForm, #kMetaStore { + padding: 20px; + margin: 0px; + width: 50%; + display: flex; + flex-direction: row; + align-items: center; +} + +#kDonateForm { + border-right: solid 1px #7ceca4; +} + +#kFooterIncome .center { + text-align: center; + width: 100%; +} + +#kMetaStore .button { + width: auto !important; + display: inline-block !important; +} + +@media (max-width: 768px) { + #kFooterIncome { + flex-direction: column; + } + #kDonateForm, #kMetaStore { + width: 100%; + } + + #kDonateForm { + border-right: none; + border-bottom: solid 1px #7ceca4; + } +} + +#kFooterIncome h3 { + font-size: 14px; + color: #377d50; + padding: 0px 0px 10px; + margin: 0px; +} + +#kFooterIncome h3 a { + color: auto; + font-weight: normal; + margin-left: 20px; +} +#kDonateForm h3 a:before { + content: "( "; + color: #377d50; +} +#kDonateForm h3 a:after { + content: " )"; + color: #377d50; +} + +#kFooterIncome p { + margin-bottom: 10px; +} + +header:after { + bottom: 0px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAFCAYAAACzSkmrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACkSURBVDiN7dExDsIwDEbh9we1soXE6eCEbJyInQNwgKgxQ9WWFrIShr7ZkewvYm/V5fbwLj8NoKTec0lGzp66ZAzJS8jQ4EKG5KLY+FIeYBAOMoRHyFC4YJwpcqVixGYWnHHG1ebs700YHxBAHWM6DqoYHxBvswvGEegbnL1q/pAqxgQB1DE2EEAdY4aABeMEHH57+n+m8/UerZfYW0qtF9hb9wI2bU03vw4M8QAAAABJRU5ErkJggg=="); + +} + +footer:before +{ + top: 0px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAFCAYAAACzSkmrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADOSURBVDiN7ZExTsRQDESfHSJqWq7AKfYOiAtScgmOwQno0CqKIlt/Iw8NYZVF25IU+yoXLmbe2PPrh7ixG3zrADfW3G0dYIckEOtbCRYGiSlUnrhCkMgCwEyJLn5RCE+kABBK1IWbkq6iTpX0ffRe6dXi1D/k3gZZZKxEAFyTcRYB12RcigD4K6Ob3l6e2ka9f1kGGYACJqCdRWg2YwQQdgSgGGU2g36K04DJoEADAOaDSiVsQtYWEXP57G4jwD15BPh8/BrfD4f5P0vvmW/7cKBf79wHGwAAAABJRU5ErkJggg=="); + +} + +header:after, footer:before { + content: ""; + display: block !important; + background-size: 100% 5px; + position: absolute; + height: 5px; + width: 100%; + left: 0px; +} + +#cookieWarning { + display:none; + border-top: solid 1px #ffc169; + background-color: #ffdaa5; + width: 100%; + position: fixed; + bottom: 0px; + left: 0px; + right: 0px; + padding: 10px 20px; + z-index: 999; + color: #884d2c; +} + + +#cookieWarning button { + float: right; + border: solid 1px #ffc169; + border-radius: 2px; + background-color: #fff3e1; + color: #884d2c; + padding: 10px 20px; +} + +main:after { + content: ""; + display: block !important; + height: 40px; + margin: 40px 10px 10px 10px; + background-repeat: no-repeat; + background-position: center; + background-clip: content-box; + background-size: contain; + + background-image: url("data:image/svg+xml;utf8,"); + +} + 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 @@ +@import './base'; diff --git a/assets/css/base.scss b/assets/css/base.scss new file mode 100644 --- /dev/null +++ b/assets/css/base.scss @@ -0,0 +1,656 @@ +@import '~bootstrap/scss/bootstrap'; +@import '~jquery-ui/themes/base/all.css'; +@import './aetherCore.scss'; + +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,1) +} +.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 + } + + a.nav-link.active { + color:#FFF + } + + a.nav-link.active:hover { + color:#FFF + } + + a.nav-link:focus, .navbar-nav:focus, { + border: 1px solid #3daefd; + } +} +a:focus { + border: 1px solid #3daefd; +} + +#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 .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, .contentBody { + margin:auto; + margin-bottom:50px; + width:100%; + max-width:1140px; + padding:0 30px +} +@media (min-width: 1140px) { + main.main, .contentBody { + padding-left:0; + padding-right:0 + } +} +main .block, .contentBody .block { + padding:30px 20px +} +main.navfix, .contentBody.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 +} +.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" +} + +@include media-breakpoint-up(md) { + .row.m-0 .list-group-item { + border-radius: 0; + border-left-width: 0; + } + .row.m-0 .list-group-item:nth-child(even) { + border-right-width: 0; + } + + .row.m-0 .list-group-item:nth-child(-n + 2) { + border-top-width: 0 + } + + .row.m-0 .list-group-item:nth-last-child(1), + .row.m-0 .list-group-item:nth-child(2n+1):nth-last-child(1) { + border-bottom-width: 0 + } +} + +@include media-breakpoint-down(sm) { + .row.m-0 .list-group-item { + border-radius: 0; + border-left-width: 0; + border-right-width: 0; + border-bottom-width: 0; + } + .row.m-0 .list-group-item:hover { + border-bottom-width: 1px; + } + .row.m-0 .list-group-item:first-child { + border-top-width: 0; + } +} + +.konqi { + float: right; + width: 250px; + margin-top: -50px; + margin-left: 40px; +} diff --git a/assets/css/doc.scss b/assets/css/doc.scss new file mode 100644 --- /dev/null +++ b/assets/css/doc.scss @@ -0,0 +1,456 @@ +@import "base"; + +/* Actual documentation styling */ +div.table table { + text-align: left; /* Disable justification */ + border: 1px solid black; + border-collapse: collapse; +} + +/* Give alternating row colors */ +div.table tr:nth-child(odd) { + background-color: #eee; +} + +div.table tr:nth-child(even) { + background-color: white; +} + +div.table th { + background-color: white; + font-weight: normal; + text-align: center; + vertical-align: middle; + border-bottom: 1px solid black; +} + +div.table td { + text-align: left; + padding: 4px; +} + + +// alert copied from bootstrap 4 + +$theme-colors: (note: #27ae60, tip: #3daee9, important: #f67400, warning: #da4453); + +@each $color, $value in $theme-colors { + div.#{$color} { + position: relative; + padding: $alert-padding-y $alert-padding-x; + margin-bottom: $alert-margin-bottom; + border: $alert-border-width solid transparent; + @include border-radius($alert-border-radius); + @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); + // Headings for larger alerts + .title { + // Specified to prevent conflicts of changing $headings-color + color: inherit; + } + a { + font-weight: $alert-link-font-weight; + } + } +} + +/* Make the content wrapping div have a nice margin. */ +body div.chapter, body div.sect1, body div.book, body div.article { + width: 90%; + max-width: 1000px; + margin-left: auto; + margin-right: auto; +} + +div.sect2 { + width: 100%; +} + +.programlisting { + + /* This will work someday */ + border-radius: 7px; + + /* To support border radius on our OSS browser friends when + * viewing online */ + -webkit-border-radius: 7px; + -moz-border-radius: 7px; +} + +.programlisting { + border: 1px solid black; + background: white; +} + + +.guimenu, .guimenuitem, .guisubmenu, +.guilabel, .interface, .guibutton { + background-color: rgb(220, 220, 220); + color: black; + border: 1px solid rgb(190, 190, 190); + border-radius: 3px; +} + +.shortcut { + background-color: #DDF; + border: 1px dotted #BBF; + font-weight: normal; + border-radius: 2px; +} + +.keycap, .keysym { + background-color: #DFDFFF; + font-weight: bold; + border-radius: 2px; +} + +.informalexample { + margin: 0; + border: 0; + border-left: 1px dotted black; + padding: 0 0 0 4px; +} + +div.tip { + margin-bottom: 12pt; +} + +div.titlepage { + margin-left: 0; +} + +h3.title { + margin-left: 0; +} + +.screenshot, .informalfigure { + border: 1px solid gray; + background-color: rgb(240, 240, 240); +} + +/* We no longer render
P$B=S1|y}TeU7V2
zo($Sj33Qg8*o?waez`5$s{3&ezsQffeua0^RC>MkpVP`HBs)taX7QEONFGj-XEdss
za0A1*aRSDW&r 3UW%L{Q)nrH(Fq)fiF`^Z0DWh0(eO{xDur*vf-3
z=zH5m+mMn-OWi?Ghb1-+>E=BAIBX9#ef3GPxZiSRN$XMMd!A<;)IVuV3I*eWBfC~_
zvHhBtQ!me}Nk11@j00P!RFFRU?bZrua1WETzgXTMbdsqcy7m%; TGJ&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&29 0xSSj;#jCVb{>zWD27m(b@IwW7d0~PA
zf|Vayng9sFzaZ+?K1dKZ9G>_|Y!6t{`qz@CnmowD+71c4K9{|No1LR2mxYOkwV9)X
zE7$*gXD%}&x1fm`FRzIyk13MZ^o5xTp9PE;$!*HdjpX5lnR5aboIreNM?a>&A530G
KMYyiOCq%?Y_C8;rXbVT5NSvIwwwax`
z_(ucUkJsOJ7AawKvJV&;*35q{yeoO$@6g_rHnZ~?fTQ&rcl=BSfp`&uJYwz6Pl{d7
z)GeHA0Iur;ob{OEE)!UkE*Y9^ubrk|3s`GQ8C84Ry;QtpC!&B5*c4N@;=vTEyo)U~
zI5wtw$?k62gViLFv$1N`>SXCC(lYDSo%!iO;}JOs`1awpP`=~#BW5iR1=m|8i{#(S
zmlyeEl~
I21qEO(Vjjn*ZLes=H+fKmC`wu#Cz2%mi8@gVYWFD{kaGSGTrQv9-CTB**
z^AV@tCtPdHJ2R(PfPM>$b(bd-|2sv
+Y>tVKs_c0k5n^&edgAa(%QNDE+m>%39c?dQ5VdyKy7c4G;rvE)~5wHts
zV_5hEiU5H?P&fG(ZkA?lC@~8c6d*tdUOrK7UOsL
^*~P{=ri0U+A?jCted-?
zEdha2rN`i8i0j~kUCYRfmi5@ad^hJi1rglKJZG=GX4FKHOz-1bENukLnZh&wUe4mN
zDOII@=yT9EpbQ-?U994s`V-7Y0M3fw&WPWJ(B-;G)UA1K^X$eAbe>_nF9k<~FmwHI
zfpiv%SIlgj`2toM6z!U_S>2uM>|zKok8^Q6cgBsi@kvd*8x}W~gj4nd=XAIsFTwsF
z^)QgolL^zRg{jYx91X${0rI6j?SFZ+%qw0-WM(HODXVIhHdPgHve%es;uIII=Kb-!
zii(;vA1)h