Beginning rewrite of dart and scss code, no more infojs for org
New look for the website, rewrite and optimization of dart code. Infojs has been removed entirely.
This commit is contained in:
parent
79a6001b11
commit
37d735cfdd
@ -9,6 +9,7 @@ environment:
|
||||
|
||||
dependencies:
|
||||
js: '^0.6.1+1'
|
||||
html: '^0.14.0+3'
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^1.8.0
|
||||
|
@ -1,75 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2019-2020 Lucien Cartier-Tilet
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$bg: #2c3e50;
|
||||
$darkerbg: #34495e;
|
||||
$textcolor: #ecf0f1;
|
||||
$tablecolor: #263646;
|
||||
|
||||
html {
|
||||
background-color: $darkerbg;
|
||||
}
|
||||
|
||||
thead {
|
||||
tr {
|
||||
@extend html;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltiptext {
|
||||
@extend html;
|
||||
}
|
||||
|
||||
.tooltiptext::after {
|
||||
border-color: $darkerbg transparent transparent transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
color: $textcolor;
|
||||
}
|
||||
|
||||
.title {
|
||||
@extend body;
|
||||
}
|
||||
|
||||
a {
|
||||
@extend body;
|
||||
}
|
||||
|
||||
th {
|
||||
border: 1px solid $tablecolor;
|
||||
}
|
||||
|
||||
td {
|
||||
@extend th;
|
||||
}
|
||||
|
||||
pre {
|
||||
@extend th;
|
||||
}
|
||||
|
||||
table {
|
||||
border: 2px solid $tablecolor;
|
||||
}
|
||||
|
||||
#content {
|
||||
background-color: $bg;
|
||||
}
|
||||
|
||||
#postamble{
|
||||
background-color: $bg;
|
||||
}
|
@ -1,765 +0,0 @@
|
||||
.org-bold {
|
||||
/* bold */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-bold-italic {
|
||||
/* bold-italic */
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-buffer-menu-buffer {
|
||||
/* buffer-menu-buffer */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-builtin {
|
||||
/* font-lock-builtin-face */
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-button {
|
||||
/* button */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-calendar-today {
|
||||
/* calendar-today */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-change-log-acknowledgement {
|
||||
/* change-log-acknowledgement */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-change-log-conditionals {
|
||||
/* change-log-conditionals */
|
||||
color: #a0522d;
|
||||
}
|
||||
|
||||
.org-change-log-date {
|
||||
/* change-log-date */
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-change-log-email {
|
||||
/* change-log-email */
|
||||
color: #a0522d;
|
||||
}
|
||||
|
||||
.org-change-log-file {
|
||||
/* change-log-file */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-change-log-function {
|
||||
/* change-log-function */
|
||||
color: #a0522d;
|
||||
}
|
||||
|
||||
.org-change-log-list {
|
||||
/* change-log-list */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-change-log-name {
|
||||
/* change-log-name */
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-comint-highlight-input {
|
||||
/* comint-highlight-input */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-comint-highlight-prompt {
|
||||
/* comint-highlight-prompt */
|
||||
color: #00008b;
|
||||
}
|
||||
|
||||
.org-comment {
|
||||
/* font-lock-comment-face */
|
||||
color: #999988;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-comment-delimiter {
|
||||
/* font-lock-comment-delimiter-face */
|
||||
color: #999988;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-completions-annotations {
|
||||
/* completions-annotations */
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-completions-common-part {
|
||||
/* completions-common-part */
|
||||
color: #000000;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.org-completions-first-difference {
|
||||
/* completions-first-difference */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-constant {
|
||||
/* font-lock-constant-face */
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-diary {
|
||||
/* diary */
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.org-diff-context {
|
||||
/* diff-context */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-diff-file-header {
|
||||
/* diff-file-header */
|
||||
background-color: #b3b3b3;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-diff-function {
|
||||
/* diff-function */
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.org-diff-header {
|
||||
/* diff-header */
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.org-diff-hunk-header {
|
||||
/* diff-hunk-header */
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.org-diff-index {
|
||||
/* diff-index */
|
||||
background-color: #b3b3b3;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-diff-nonexistent {
|
||||
/* diff-nonexistent */
|
||||
background-color: #b3b3b3;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-diff-refine-change {
|
||||
/* diff-refine-change */
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.org-dired-directory {
|
||||
/* dired-directory */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-dired-flagged {
|
||||
/* dired-flagged */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-dired-header {
|
||||
/* dired-header */
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-dired-ignored {
|
||||
/* dired-ignored */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-dired-mark {
|
||||
/* dired-mark */
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-dired-marked {
|
||||
/* dired-marked */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-dired-perm-write {
|
||||
/* dired-perm-write */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-dired-symlink {
|
||||
/* dired-symlink */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-dired-warning {
|
||||
/* dired-warning */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-doc {
|
||||
/* font-lock-doc-face */
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-escape-glyph {
|
||||
/* escape-glyph */
|
||||
color: #a52a2a;
|
||||
}
|
||||
|
||||
.org-file-name-shadow {
|
||||
/* file-name-shadow */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-flyspell-duplicate {
|
||||
/* flyspell-duplicate */
|
||||
color: #cdad00;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-flyspell-incorrect {
|
||||
/* flyspell-incorrect */
|
||||
color: #ff4500;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-fringe {
|
||||
/* fringe */
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.org-function-name {
|
||||
/* font-lock-function-name-face */
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.org-header-line {
|
||||
/* header-line */
|
||||
color: #333333;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.org-help-argument-name {
|
||||
/* help-argument-name */
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-highlight {
|
||||
/* highlight */
|
||||
background-color: #b4eeb4;
|
||||
}
|
||||
|
||||
.org-holiday {
|
||||
/* holiday */
|
||||
background-color: #ffc0cb;
|
||||
}
|
||||
|
||||
.org-isearch {
|
||||
/* isearch */
|
||||
color: #b0e2ff;
|
||||
background-color: #cd00cd;
|
||||
}
|
||||
|
||||
.org-isearch-fail {
|
||||
/* isearch-fail */
|
||||
background-color: #ffc1c1;
|
||||
}
|
||||
|
||||
.org-italic {
|
||||
/* italic */
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-keyword {
|
||||
/* font-lock-keyword-face */
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.org-lazy-highlight {
|
||||
/* lazy-highlight */
|
||||
background-color: #afeeee;
|
||||
}
|
||||
|
||||
.org-link {
|
||||
/* link */
|
||||
color: #0000ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-link-visited {
|
||||
/* link-visited */
|
||||
color: #8b008b;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-log-edit-header {
|
||||
/* log-edit-header */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-log-edit-summary {
|
||||
/* log-edit-summary */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-log-edit-unknown-header {
|
||||
/* log-edit-unknown-header */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-match {
|
||||
/* match */
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.org-next-error {
|
||||
/* next-error */
|
||||
background-color: #eedc82;
|
||||
}
|
||||
|
||||
.org-nobreak-space {
|
||||
/* nobreak-space */
|
||||
color: #a52a2a;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-archived {
|
||||
/* org-archived */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-block {
|
||||
/* org-block */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-block-begin-line {
|
||||
/* org-block-begin-line */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-block-end-line {
|
||||
/* org-block-end-line */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-checkbox {
|
||||
/* org-checkbox */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-checkbox-statistics-done {
|
||||
/* org-checkbox-statistics-done */
|
||||
color: #228b22;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-checkbox-statistics-todo {
|
||||
/* org-checkbox-statistics-todo */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-clock-overlay {
|
||||
/* org-clock-overlay */
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.org-org-code {
|
||||
/* org-code */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-column {
|
||||
/* org-column */
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.org-org-column-title {
|
||||
/* org-column-title */
|
||||
background-color: #e5e5e5;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-date {
|
||||
/* org-date */
|
||||
color: #a020f0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-document-info {
|
||||
/* org-document-info */
|
||||
color: #191970;
|
||||
}
|
||||
|
||||
.org-org-document-info-keyword {
|
||||
/* org-document-info-keyword */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-document-title {
|
||||
/* org-document-title */
|
||||
color: #191970;
|
||||
font-size: 144%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-done {
|
||||
/* org-done */
|
||||
color: #228b22;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-drawer {
|
||||
/* org-drawer */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-org-ellipsis {
|
||||
/* org-ellipsis */
|
||||
color: #b8860b;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-footnote {
|
||||
/* org-footnote */
|
||||
color: #a020f0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-formula {
|
||||
/* org-formula */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-headline-done {
|
||||
/* org-headline-done */
|
||||
color: #bc8f8f;
|
||||
}
|
||||
|
||||
.org-org-hide {
|
||||
/* org-hide */
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.org-org-latex-and-export-specials {
|
||||
/* org-latex-and-export-specials */
|
||||
color: #8b4513;
|
||||
}
|
||||
|
||||
.org-org-level-1 {
|
||||
/* org-level-1 */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-org-level-2 {
|
||||
/* org-level-2 */
|
||||
color: #a0522d;
|
||||
}
|
||||
|
||||
.org-org-level-3 {
|
||||
/* org-level-3 */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-level-4 {
|
||||
/* org-level-4 */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-level-5 {
|
||||
/* org-level-5 */
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-org-level-6 {
|
||||
/* org-level-6 */
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-org-level-7 {
|
||||
/* org-level-7 */
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-org-level-8 {
|
||||
/* org-level-8 */
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-org-link {
|
||||
/* org-link */
|
||||
color: #0000ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-meta-line {
|
||||
/* org-meta-line */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-mode-line-clock {
|
||||
/* org-mode-line-clock */
|
||||
color: #000000;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.org-org-mode-line-clock-overrun {
|
||||
/* org-mode-line-clock-overrun */
|
||||
color: #000000;
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.org-org-quote {
|
||||
/* org-quote */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-scheduled {
|
||||
/* org-scheduled */
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-org-scheduled-previously {
|
||||
/* org-scheduled-previously */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-scheduled-today {
|
||||
/* org-scheduled-today */
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-org-sexp-date {
|
||||
/* org-sexp-date */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-special-keyword {
|
||||
/* org-special-keyword */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-table {
|
||||
/* org-table */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-org-tag {
|
||||
/* org-tag */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-target {
|
||||
/* org-target */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-time-grid {
|
||||
/* org-time-grid */
|
||||
color: #b8860b;
|
||||
}
|
||||
|
||||
.org-org-todo {
|
||||
/* org-todo */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-org-upcoming-deadline {
|
||||
/* org-upcoming-deadline */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-verbatim {
|
||||
/* org-verbatim */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-verse {
|
||||
/* org-verse */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-warning {
|
||||
/* org-warning */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-outline-1 {
|
||||
/* outline-1 */
|
||||
color: #0000ff;
|
||||
}
|
||||
|
||||
.org-outline-2 {
|
||||
/* outline-2 */
|
||||
color: #a0522d;
|
||||
}
|
||||
|
||||
.org-outline-3 {
|
||||
/* outline-3 */
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-outline-4 {
|
||||
/* outline-4 */
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-outline-5 {
|
||||
/* outline-5 */
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-outline-6 {
|
||||
/* outline-6 */
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-outline-7 {
|
||||
/* outline-7 */
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-outline-8 {
|
||||
/* outline-8 */
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-preprocessor {
|
||||
/* font-lock-preprocessor-face */
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-query-replace {
|
||||
/* query-replace */
|
||||
color: #b0e2ff;
|
||||
background-color: #cd00cd;
|
||||
}
|
||||
|
||||
.org-regexp-grouping-backslash {
|
||||
/* font-lock-regexp-grouping-backslash */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-regexp-grouping-construct {
|
||||
/* font-lock-regexp-grouping-construct */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-region {
|
||||
/* region */
|
||||
background-color: #eedc82;
|
||||
}
|
||||
|
||||
.org-secondary-selection {
|
||||
/* secondary-selection */
|
||||
background-color: #ffff00;
|
||||
}
|
||||
|
||||
.org-shadow {
|
||||
/* shadow */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-show-paren-match {
|
||||
/* show-paren-match */
|
||||
background-color: #40e0d0;
|
||||
}
|
||||
|
||||
.org-show-paren-mismatch {
|
||||
/* show-paren-mismatch */
|
||||
color: #ffffff;
|
||||
background-color: #a020f0;
|
||||
}
|
||||
|
||||
.org-string {
|
||||
/* font-lock-string-face */
|
||||
color: #dd1144;
|
||||
}
|
||||
|
||||
.org-tool-bar {
|
||||
/* tool-bar */
|
||||
color: #000000;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.org-tooltip {
|
||||
/* tooltip */
|
||||
color: #000000;
|
||||
background-color: #ffffe0;
|
||||
}
|
||||
|
||||
.org-trailing-whitespace {
|
||||
/* trailing-whitespace */
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.org-type {
|
||||
/* font-lock-type-face */
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-underline {
|
||||
/* underline */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-variable-name {
|
||||
/* font-lock-variable-name-face */
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.org-warning {
|
||||
/* font-lock-warning-face */
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-widget-button {
|
||||
/* widget-button */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.org-widget-button-pressed {
|
||||
/* widget-button-pressed */
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.org-widget-documentation {
|
||||
/* widget-documentation */
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-widget-field {
|
||||
/* widget-field */
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.org-widget-inactive {
|
||||
/* widget-inactive */
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-widget-single-line-field {
|
||||
/* widget-single-line-field */
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=htmlize.css.map */
|
620
web/css/htmlize.min.css
vendored
620
web/css/htmlize.min.css
vendored
@ -1,620 +0,0 @@
|
||||
.org-bold {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-bold-italic {
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-buffer-menu-buffer {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-builtin {
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-button {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-calendar-today {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-change-log-acknowledgement {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-change-log-conditionals {
|
||||
color: sienna;
|
||||
}
|
||||
|
||||
.org-change-log-date {
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-change-log-email {
|
||||
color: sienna;
|
||||
}
|
||||
|
||||
.org-change-log-file {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-change-log-function {
|
||||
color: sienna;
|
||||
}
|
||||
|
||||
.org-change-log-list {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-change-log-name {
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-comint-highlight-input {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-comint-highlight-prompt {
|
||||
color: #00008b;
|
||||
}
|
||||
|
||||
.org-comment {
|
||||
color: #998;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-comment-delimiter {
|
||||
color: #998;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-completions-annotations {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-completions-common-part {
|
||||
color: #000;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.org-completions-first-difference {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-constant {
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-diary {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.org-diff-context {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-diff-file-header {
|
||||
background-color: #b3b3b3;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-diff-function {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.org-diff-header {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.org-diff-hunk-header {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.org-diff-index {
|
||||
background-color: #b3b3b3;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-diff-nonexistent {
|
||||
background-color: #b3b3b3;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-diff-refine-change {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.org-dired-directory {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-dired-flagged {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-dired-header {
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-dired-ignored {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-dired-mark {
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-dired-marked {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-dired-perm-write {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-dired-symlink {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-dired-warning {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-doc {
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-escape-glyph {
|
||||
color: brown;
|
||||
}
|
||||
|
||||
.org-file-name-shadow {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-flyspell-duplicate {
|
||||
color: #cdad00;
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-flyspell-incorrect {
|
||||
color: #ff4500;
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-fringe {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.org-function-name {
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.org-header-line {
|
||||
color: #333;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.org-help-argument-name {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-highlight {
|
||||
background-color: #b4eeb4;
|
||||
}
|
||||
|
||||
.org-holiday {
|
||||
background-color: pink;
|
||||
}
|
||||
|
||||
.org-isearch {
|
||||
color: #b0e2ff;
|
||||
background-color: #cd00cd;
|
||||
}
|
||||
|
||||
.org-isearch-fail {
|
||||
background-color: #ffc1c1;
|
||||
}
|
||||
|
||||
.org-italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.org-keyword {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.org-lazy-highlight {
|
||||
background-color: #afeeee;
|
||||
}
|
||||
|
||||
.org-link {
|
||||
color: #00f;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-link-visited {
|
||||
color: #8b008b;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-log-edit-header {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-log-edit-summary {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-log-edit-unknown-header {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-match {
|
||||
background-color: #ff0;
|
||||
}
|
||||
|
||||
.org-next-error {
|
||||
background-color: #eedc82;
|
||||
}
|
||||
|
||||
.org-nobreak-space {
|
||||
color: brown;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-archived {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-block {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-block-begin-line {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-block-end-line {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-checkbox {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-checkbox-statistics-done {
|
||||
color: #228b22;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-checkbox-statistics-todo {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-clock-overlay {
|
||||
background-color: #ff0;
|
||||
}
|
||||
|
||||
.org-org-code {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-column {
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.org-org-column-title {
|
||||
background-color: #e5e5e5;
|
||||
font-weight: 700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-date {
|
||||
color: #a020f0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-document-info {
|
||||
color: #191970;
|
||||
}
|
||||
|
||||
.org-org-document-info-keyword {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-document-title {
|
||||
color: #191970;
|
||||
font-size: 144%;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-done {
|
||||
color: #228b22;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-drawer {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-org-ellipsis {
|
||||
color: #b8860b;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-footnote {
|
||||
color: #a020f0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-formula {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-headline-done {
|
||||
color: #bc8f8f;
|
||||
}
|
||||
|
||||
.org-org-hide {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.org-org-latex-and-export-specials {
|
||||
color: #8b4513;
|
||||
}
|
||||
|
||||
.org-org-level-1 {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-org-level-2 {
|
||||
color: sienna;
|
||||
}
|
||||
|
||||
.org-org-level-3 {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-level-4 {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-level-5 {
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-org-level-6 {
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-org-level-7 {
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-org-level-8 {
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-org-link {
|
||||
color: #00f;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-meta-line {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-mode-line-clock {
|
||||
color: #000;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.org-org-mode-line-clock-overrun {
|
||||
color: #000;
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.org-org-quote {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-scheduled {
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-org-scheduled-previously {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-scheduled-today {
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-org-sexp-date {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-special-keyword {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-org-table {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-org-tag {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-target {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-org-time-grid {
|
||||
color: #b8860b;
|
||||
}
|
||||
|
||||
.org-org-todo {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-org-upcoming-deadline {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-org-verbatim {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-verse {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-org-warning {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-outline-1 {
|
||||
color: #00f;
|
||||
}
|
||||
|
||||
.org-outline-2 {
|
||||
color: sienna;
|
||||
}
|
||||
|
||||
.org-outline-3 {
|
||||
color: #a020f0;
|
||||
}
|
||||
|
||||
.org-outline-4 {
|
||||
color: #b22222;
|
||||
}
|
||||
|
||||
.org-outline-5 {
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-outline-6 {
|
||||
color: #008b8b;
|
||||
}
|
||||
|
||||
.org-outline-7 {
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-outline-8 {
|
||||
color: #8b2252;
|
||||
}
|
||||
|
||||
.org-preprocessor {
|
||||
color: #7a378b;
|
||||
}
|
||||
|
||||
.org-query-replace {
|
||||
color: #b0e2ff;
|
||||
background-color: #cd00cd;
|
||||
}
|
||||
|
||||
.org-regexp-grouping-backslash {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-regexp-grouping-construct {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-region {
|
||||
background-color: #eedc82;
|
||||
}
|
||||
|
||||
.org-secondary-selection {
|
||||
background-color: #ff0;
|
||||
}
|
||||
|
||||
.org-shadow {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-show-paren-match {
|
||||
background-color: #40e0d0;
|
||||
}
|
||||
|
||||
.org-show-paren-mismatch {
|
||||
color: #fff;
|
||||
background-color: #a020f0;
|
||||
}
|
||||
|
||||
.org-string {
|
||||
color: #d14;
|
||||
}
|
||||
|
||||
.org-tool-bar {
|
||||
color: #000;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.org-tooltip {
|
||||
color: #000;
|
||||
background-color: #ffffe0;
|
||||
}
|
||||
|
||||
.org-trailing-whitespace {
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.org-type {
|
||||
color: #228b22;
|
||||
}
|
||||
|
||||
.org-underline {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.org-variable-name {
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.org-warning {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-widget-button {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.org-widget-button-pressed {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.org-widget-documentation {
|
||||
color: #006400;
|
||||
}
|
||||
|
||||
.org-widget-field {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.org-widget-inactive {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
|
||||
.org-widget-single-line-field {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=htmlize.min.css.map */
|
@ -1,74 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2019-2020 Lucien Cartier-Tilet
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$bg: #eee;
|
||||
$darkerbg: #ddd;
|
||||
$textcolor: #444;
|
||||
|
||||
html {
|
||||
background-color: $bg;
|
||||
}
|
||||
|
||||
thead {
|
||||
tr {
|
||||
@extend html;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltiptext {
|
||||
@extend html;
|
||||
}
|
||||
|
||||
.tooltiptext::after {
|
||||
border-color: $darkerbg transparent transparent transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
color: $textcolor;
|
||||
}
|
||||
|
||||
.title {
|
||||
@extend body;
|
||||
}
|
||||
|
||||
a {
|
||||
@extend body;
|
||||
}
|
||||
|
||||
th {
|
||||
border: 1px solid $textcolor;
|
||||
}
|
||||
|
||||
td {
|
||||
@extend th;
|
||||
}
|
||||
|
||||
pre {
|
||||
@extend th;
|
||||
}
|
||||
|
||||
table {
|
||||
border: 2px solid $textcolor;
|
||||
}
|
||||
|
||||
#content {
|
||||
background-color: $darkerbg;
|
||||
}
|
||||
|
||||
#postamble{
|
||||
@extend #content;
|
||||
}
|
@ -1,240 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2019-2020 Lucien Cartier-Tilet
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700);
|
||||
|
||||
@font-face {
|
||||
font-family: "DoulosSIL";
|
||||
font-display: swap;
|
||||
src: url("https://langue.phundrak.com/fonts/DoulosSIL-R.woff");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Noto Sans Runes";
|
||||
font-display: swap;
|
||||
src: url("../fonts/NotoSansRunic-Regular.ttf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Helvetica Neue";
|
||||
font-display: swap;
|
||||
src: url("../fonts/HelveticaNeue.ttf");
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Noto Sans Runes", "DoulosSIL", "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
overflow-x: hidden;
|
||||
font-size: 105%;
|
||||
height: 100%;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
#postamble {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#content {
|
||||
max-width: 1100px;
|
||||
margin: 20px auto;
|
||||
padding: 20px;
|
||||
box-shadow: 5px 5px 7px rgba(1, 1, 1, .6);
|
||||
}
|
||||
|
||||
hr {
|
||||
display: block;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-style: inset;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
.outline-2 {
|
||||
margin: 0 2px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.outline-text-2 {
|
||||
@extend .outline-2;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.outline-4 {
|
||||
@extend .outline-2;
|
||||
}
|
||||
|
||||
.outline-text-4 {
|
||||
@extend .outline-text-2;
|
||||
}
|
||||
|
||||
.outline-5 {
|
||||
@extend .outline-2;
|
||||
}
|
||||
|
||||
.outline-text-5 {
|
||||
@extend .outline-text-2;
|
||||
}
|
||||
|
||||
.outline-6 {
|
||||
@extend .outline-2;
|
||||
}
|
||||
|
||||
.outline-text-6 {
|
||||
@extend .outline-text-2;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@extend legend;
|
||||
font-size: 4em;
|
||||
box-shadow: inset 0 -50px 0 #1abc9c;
|
||||
}
|
||||
|
||||
h2 {
|
||||
@extend legend;
|
||||
font-size: 150%;
|
||||
box-shadow: inset 0 -20px 0 #16a085;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@extend legend;
|
||||
font-size: 125%;
|
||||
box-shadow: inset 0 -16px 0 #27ae60;
|
||||
}
|
||||
|
||||
h4 {
|
||||
@extend legend;
|
||||
font-size: 115%;
|
||||
box-shadow: inset 0 -15px 0 #e67e22;
|
||||
}
|
||||
|
||||
h5 {
|
||||
@extend legend;
|
||||
font-size: 110%;
|
||||
box-shadow: inset 0 -14px 0 #9b59b6;
|
||||
}
|
||||
|
||||
h4,
|
||||
h5 {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
$linkColor: #9b59b6;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
box-shadow: inset 0 -3px 0 $linkColor;
|
||||
transition: all .3s ease-out;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
box-shadow: inset 0 -21px 0 $linkColor;
|
||||
transition: all .3s ease-in;
|
||||
}
|
||||
|
||||
a[href^="img/"],
|
||||
a[href^="img/"]:hover {
|
||||
box-shadow: 0 0;
|
||||
}
|
||||
|
||||
.figure {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
|
||||
p {
|
||||
margin: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.largetable {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
legend {
|
||||
font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif;
|
||||
font-weight: 700;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.vertical {
|
||||
writing-mode: vertical-rl;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
pre {
|
||||
box-shadow: 3px 3px 3px rgba(1, 1, 1, .6);
|
||||
}
|
||||
|
||||
/* scrollbar *****************************************************************/
|
||||
|
||||
/* width */
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
/* Track */
|
||||
::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
/* Handle */
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #7f8c8d;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
/* Theme switcher ************************************************************/
|
||||
|
||||
.themeBtn {
|
||||
position: fixed;
|
||||
bottom: 25px;
|
||||
right: 25px;
|
||||
padding-top:10px;
|
||||
height: 40px;
|
||||
width: 50px;
|
||||
border-radius: 25px;
|
||||
background-color: #1e5b50;
|
||||
text-align: center;
|
||||
box-shadow: 3px 3px 6px rgba(1, 1, 1, .6);
|
||||
cursor: pointer;
|
||||
|
||||
.fas {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2019-2020 Lucien Cartier-Tilet
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
.tooltip {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border-bottom: 1px dotted #1e5b50;
|
||||
|
||||
.tooltiptext {
|
||||
visibility: hidden;
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
padding: 5px 0;
|
||||
border-radius: 6px;
|
||||
|
||||
/* position the tooltip text */
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
bottom: 125;
|
||||
left: 50%;
|
||||
margin-left: -60%;
|
||||
|
||||
/* Fade in tooltip */
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s;
|
||||
|
||||
}
|
||||
|
||||
.tooltiptext::after {
|
||||
content: "";
|
||||
top: 100%;
|
||||
margin-left: -5%;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltip:hover {
|
||||
.tooltiptext {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.tooltiptext {
|
||||
padding: 7px !important;
|
||||
}
|
||||
|
||||
.largetable {
|
||||
$tablepadding: 40px;
|
||||
padding-top: $tablepadding !important;
|
||||
padding-bottom: $tablepadding !important;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
@JS()
|
||||
library cookie;
|
||||
|
||||
import 'package:js/js.dart';
|
||||
|
||||
@JS()
|
||||
class Cookies {
|
||||
// external factory Cookie();
|
||||
external static String get(String name);
|
||||
external static void set(String name, String value);
|
||||
}
|
@ -1,66 +1,5 @@
|
||||
@JS()
|
||||
library main;
|
||||
|
||||
import 'dart:html';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import './cookie.dart';
|
||||
import './reorganize_html.dart' show reorganizeHtml;
|
||||
|
||||
void main() {
|
||||
reorganizeHtml();
|
||||
createThemeSwitcher();
|
||||
themeSwitch(isThemeDark());
|
||||
querySelector('.themeBtn').onClick.listen(themeSwitchMouse);
|
||||
}
|
||||
|
||||
String cookieThemeName = 'theme';
|
||||
|
||||
void createThemeSwitcher() {
|
||||
// set the correct CSS depending on the cookie, dark is enabled by default
|
||||
var isDark = isThemeDark();
|
||||
// Set the correct symbol in the theme switcher button
|
||||
querySelector('body').append(DivElement()..className = 'themeBtn');
|
||||
querySelector('.themeBtn')
|
||||
.children
|
||||
.add(Element.tag('i')..className = 'fas fa-' + (isDark ? 'sun' : 'moon'));
|
||||
}
|
||||
|
||||
bool isThemeDark() {
|
||||
if (Cookies.get(cookieThemeName) == 'light') {
|
||||
return false;
|
||||
}
|
||||
Cookies.set(cookieThemeName, 'dark');
|
||||
return true;
|
||||
}
|
||||
|
||||
void reorganizeHtml() {
|
||||
// Add a <hr> element after the content div
|
||||
querySelector('#content').appendHtml('<hr>');
|
||||
|
||||
// Move the postamble in the content div
|
||||
querySelector('#content').append(querySelector('#postamble'));
|
||||
|
||||
for (var table in querySelectorAll('table')) {
|
||||
var largetable = DivElement();
|
||||
largetable.className = 'largetable';
|
||||
table.before(largetable);
|
||||
largetable.children.add(table);
|
||||
}
|
||||
}
|
||||
|
||||
bool setTheme(bool dark) {
|
||||
Cookies.set(cookieThemeName, (dark ? 'dark' : 'light'));
|
||||
return !dark;
|
||||
}
|
||||
|
||||
void themeSwitch(bool isDark) {
|
||||
querySelector('.fas').className = 'fas fa-' + (isDark ? 'sun' : 'moon');
|
||||
querySelector('#theme').attributes['href'] =
|
||||
'https://langue.phundrak.com/css/' + (isDark ? 'dark' : 'light') + '.css';
|
||||
}
|
||||
|
||||
void themeSwitchMouse(MouseEvent event) {
|
||||
bool isDark = setTheme(!isThemeDark());
|
||||
themeSwitch(isDark);
|
||||
}
|
||||
|
38
web/dart/parse_sitemap.dart
Normal file
38
web/dart/parse_sitemap.dart
Normal file
@ -0,0 +1,38 @@
|
||||
import 'dart:html' show HttpRequest;
|
||||
|
||||
import 'package:html/parser.dart' show parse;
|
||||
|
||||
// Get the sitemap content
|
||||
Future<String> getSitemap() async {
|
||||
const path = 'sitemap.html';
|
||||
try {
|
||||
return await HttpRequest.getString(path);
|
||||
} catch (e) {
|
||||
print('Couldn’t open $path');
|
||||
}
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
// This function returns a Map which contains all links to languages detected
|
||||
// from the sitemap.
|
||||
Future<Map<String, String>> parseSitemap() async {
|
||||
var links = <String, String>{};
|
||||
await getSitemap().then((String content) {
|
||||
final sitemap = parse(content).getElementsByClassName('org-ul')[0].children;
|
||||
for (var elem in sitemap) {
|
||||
// TODO: make this recursive so prefixes in nested folders can be added to
|
||||
// each other
|
||||
if (elem.innerHtml.startsWith('<a')) {
|
||||
elem = elem.firstChild;
|
||||
final text = elem.firstChild.text;
|
||||
final url = elem.attributes['href'];
|
||||
if (!url.contains('index')) {
|
||||
links[url] = text;
|
||||
}
|
||||
} else {
|
||||
print('Sitemap folder:\n${elem.innerHtml}');
|
||||
}
|
||||
}
|
||||
});
|
||||
return links;
|
||||
}
|
174
web/dart/reorganize_html.dart
Normal file
174
web/dart/reorganize_html.dart
Normal file
@ -0,0 +1,174 @@
|
||||
import 'dart:html';
|
||||
|
||||
import './parse_sitemap.dart' show parseSitemap;
|
||||
|
||||
// Returns the title of the current webpage
|
||||
String getPageTitle() {
|
||||
return querySelector('title').text;
|
||||
}
|
||||
|
||||
class Navbar {
|
||||
Navbar() {
|
||||
navbar = Element.ul()..classes.add('navbar-nav');
|
||||
}
|
||||
|
||||
// Inserts the element in a <li class='nav-item'></li>
|
||||
void addElement(final Element elem, [List<String> classes, String id]) {
|
||||
var wrapper = Element.li()
|
||||
..classes.add('nav-item')
|
||||
..append(elem);
|
||||
if (classes != null) {
|
||||
for (var c in classes) {
|
||||
wrapper.classes.add(c);
|
||||
}
|
||||
}
|
||||
if (id != null) () => wrapper.attributes['id'] = id;
|
||||
navbar.append(wrapper);
|
||||
}
|
||||
|
||||
Future<Element> makeNavbar() async {
|
||||
addElement(Element.a()
|
||||
..attributes['href']
|
||||
..innerText = 'Accueil');
|
||||
}
|
||||
|
||||
Future<void> addLanguages() async {
|
||||
var languages = Element.ul()..classes.add('dropdown');
|
||||
await parseSitemap().then((final sitemap) => {
|
||||
sitemap.forEach((url, name) {
|
||||
final link = Element.a()
|
||||
..attributes['href'] = url
|
||||
..innerText = name;
|
||||
|
||||
final linkLi = Element.li()
|
||||
..classes.add('dropdown-item')
|
||||
..insertAdjacentElement('afterBegin', link);
|
||||
|
||||
languages.insertAdjacentElement('beforeEnd', linkLi);
|
||||
})
|
||||
});
|
||||
final langLink = Element.a()
|
||||
..attributes['href'] = '#'
|
||||
..innerText = 'Langues';
|
||||
addElement(langLink, ['has-dropdown'], 'langList');
|
||||
querySelector('#langList').insertAdjacentElement('beforeEnd', languages);
|
||||
}
|
||||
|
||||
Element navbar;
|
||||
}
|
||||
|
||||
Future<Element> addLanguages(Element navbar) async {
|
||||
// Languages
|
||||
var languages = Element.ul()..classes.add('dropdown');
|
||||
await parseSitemap().then((final sitemap) => {
|
||||
sitemap.forEach((url, name) {
|
||||
final link = Element.a()
|
||||
..attributes['href'] = url
|
||||
..innerText = name;
|
||||
|
||||
final linkLi = Element.li()
|
||||
..classes.add('dropdown-item')
|
||||
..insertAdjacentElement('afterBegin', link);
|
||||
|
||||
languages.insertAdjacentElement('beforeEnd', linkLi);
|
||||
})
|
||||
});
|
||||
navbar.append(Element.li()
|
||||
..append(Element.a()
|
||||
..attributes['href'] = '#'
|
||||
..innerText = 'Langues')
|
||||
..classes.add('nav-item')
|
||||
..classes.add('has-dropdown')
|
||||
..insertAdjacentElement('beforeEnd', languages));
|
||||
return navbar;
|
||||
}
|
||||
|
||||
// Add a navbar atop of the HTML body, containing two buttons:
|
||||
// - One back to home
|
||||
// - A dropdown to each language detected in the sitemap
|
||||
Future<Element> makeNavbar() async {
|
||||
var _navbar = Navbar();
|
||||
|
||||
// Home
|
||||
var navbar_content = Element.ul()..classes.add('navbar-nav');
|
||||
navbar_content.append(Element.li()
|
||||
..classes.add('nav-item')
|
||||
..insertAdjacentElement(
|
||||
'afterBegin',
|
||||
Element.a()
|
||||
..attributes['href'] = '/'
|
||||
..innerText = 'Accueil'));
|
||||
|
||||
// Add languages
|
||||
// navbar_content.append(Element.html('''
|
||||
|
||||
// '''));
|
||||
navbar_content = await addLanguages(navbar_content);
|
||||
|
||||
// Page title
|
||||
navbar_content.append(Element.li()
|
||||
..classes.add('nav-item')
|
||||
..innerText = getPageTitle());
|
||||
|
||||
// Share icon
|
||||
// Add dropdown for sharing on multiple platforms
|
||||
navbar_content = addIcon(navbar_content, ['fas', 'fa-share-alt'], 'shareBtn');
|
||||
|
||||
// Theme changer
|
||||
// Add dropdown for theming
|
||||
// navbar_content = addIcon(navbar_content, ['fas', 'fa-sun'], 'themeBtn');
|
||||
navbar_content.append(Element.html('''
|
||||
<li class="nav-item has-dropdown">
|
||||
<a href="#"><i class="fas fa-sun" id="themeBtn"></i></a>
|
||||
<ul class="dropdown" id="theme-dropdown">
|
||||
<li class="dropdown-item"><i class="fas fa-sun"></i> Clair</li>
|
||||
<li class="dropdown-item"><i class="fas fa-moon"></i> Sombre</li>
|
||||
</ul>
|
||||
</li>'''));
|
||||
|
||||
// Navbar content added to navbar
|
||||
final navbar = Element.nav()
|
||||
..classes.add('navbar')
|
||||
..append(navbar_content);
|
||||
|
||||
return navbar;
|
||||
}
|
||||
|
||||
Element addIcon(Element navbar, List<String> classes, String id) {
|
||||
var elem = Element.tag('i')..attributes['id'] = id;
|
||||
for (var c in classes) {
|
||||
elem.classes.add(c);
|
||||
}
|
||||
navbar.append(Element.li()..append(elem));
|
||||
return navbar;
|
||||
}
|
||||
|
||||
Future<void> wrapTables() async {
|
||||
for (var table in querySelectorAll('table')) {
|
||||
var largetable = DivElement()..className = 'largetable';
|
||||
table.before(largetable);
|
||||
largetable.children.add(table);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> makeHeader() async {
|
||||
querySelector('body')
|
||||
.insertAdjacentElement('afterBegin', Element.tag('header'));
|
||||
querySelector('header').append(querySelector('h1'));
|
||||
querySelector('header').append(querySelector('.subtitle'));
|
||||
}
|
||||
|
||||
Future<void> reorganizeHtml() async {
|
||||
await makeHeader();
|
||||
await wrapTables();
|
||||
await makeNavbar().then((navbar) {
|
||||
querySelector('body').insertAdjacentElement('afterBegin', navbar);
|
||||
});
|
||||
|
||||
querySelector('body')
|
||||
..classes.add('light')
|
||||
// Add a <hr> element after the content div
|
||||
..appendHtml('<hr>')
|
||||
// Move the postamble in the content div
|
||||
..append(querySelector('#postamble'));
|
||||
}
|
@ -30,15 +30,11 @@
|
||||
#+HTML_HEAD_EXTRA: <meta name="twitter:card" content="summary" />
|
||||
#+HTML_HEAD_EXTRA: <meta name="twitter:site" content="@phundrak" />
|
||||
#+HTML_HEAD_EXTRA: <meta name="twitter:creator" content="@phundrak" />
|
||||
#+HTML_HEAD_EXTRA: <link rel="stylesheet" href="./css/main.css"/>
|
||||
#+HTML_HEAD_EXTRA: <link rel="stylesheet" href="./css/htmlize.min.css"/>
|
||||
#+HTML_HEAD_EXTRA: <link rel="stylesheet" id="theme" href="./css/dark.css"/>
|
||||
#+HTML_HEAD_EXTRA: <link rel="stylesheet" href="./style/style.css"/>
|
||||
#+HTML_HEAD_EXTRA: <link rel="shortcut icon" href="https://cdn.phundrak.com/img/mahakala-128x128.png" type="img/png" media="screen" />
|
||||
#+HTML_HEAD_EXTRA: <link rel="shortcut icon" href="https://cdn.phundrak.com/img/favicon.ico" type="image/x-icon" media="screen" />
|
||||
#+HTML_HEAD_EXTRA: <script defer src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
|
||||
#+HTML_HEAD_EXTRA: <script defer src="dart/main.dart.js"></script>
|
||||
#+HTML_HEAD_EXTRA: <script defer src="https://kit.fontawesome.com/4d42d0c8c5.js"></script>
|
||||
#+INFOJS_OPT: view:info home:https://langue.phundrak.com toc:t
|
||||
|
||||
# ### MACROS ###################################################################
|
||||
#+MACRO: newline @@latex:\hspace{0pt}\\@@ @@html:<br>@@
|
||||
|
@ -1,6 +1,5 @@
|
||||
# -*- org-confirm-babel-evaluate: nil -*-
|
||||
#+TITLE: Langues construites de P’undrak
|
||||
#+INFOJS_OPT: view:showall toc:1
|
||||
#+HTML_HEAD: <meta name="description" content="Collection de documents et pages webs de linguistique et de langues construites de P’undrak" />
|
||||
#+HTML_HEAD: <meta property="og:title" content="Langues construites de P’undrak" />
|
||||
#+HTML_HEAD: <meta property="og:description" content="Collection de documents et pages webs de linguistique et de langues construites de P’undrak" />
|
||||
|
Binary file not shown.
2
web/style/style.css
Normal file
2
web/style/style.css
Normal file
@ -0,0 +1,2 @@
|
||||
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700);@font-face{font-family:"DoulosSIL";font-display:swap;src:url("https://langue.phundrak.com/fonts/DoulosSIL-R.woff")}@font-face{font-family:"Noto Sans Runes";font-display:swap;src:url("../fonts/NotoSansRunic-Regular.ttf")}@font-face{font-family:"Helvetica Neue";font-display:swap;src:url("../fonts/HelveticaNeue.ttf")}body{margin:0;padding:0;font-family:"Noto Sans Runes", "DoulosSIL", "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif}ul{list-style-type:none;margin:0;padding:0}a{color:currentColor;text-decoration:none}.navbar{height:70px;width:100%;background:black;color:white}.navbar-nav{display:flex;align-items:center;justify-content:space-evenly;height:100%}header{padding:1em;background:red;margin-bottom:1em;padding-bottom:3.5em;text-align:center;clip-path:polygon(50% 0%, 100% 0, 100% 65%, 50% 100%, 0 65%, 0 0)}.dropdown{position:absolute;width:500px;opacity:0;z-index:2;background:blue;border-top:2px solid white;border-bottom-right-radius:8px;border-bottom-left-radius:8px;display:flex;align-items:center;justify-content:space-around;height:3rem;margin-top:2rem;padding:0.5rem;box-shadow:rgba(2,8,20,0.1) 0px 0.175em 0.5em;transform:translateX(-40%);transition:opacity .15s ease-out}#theme-dropdown{width:300px;transform:translateX(-60%)}.has-dropdown:focus-within .dropdown{opacity:1;pointer-events:auto}.dropdown-item a{width:100%;height:100%;size:0.7rem;padding-left:10px;font-weight:bold}
|
||||
/*# sourceMappingURL=style.css.map */
|
120
web/style/style.scss
Normal file
120
web/style/style.scss
Normal file
@ -0,0 +1,120 @@
|
||||
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700);
|
||||
@font-face {
|
||||
font-family: "DoulosSIL";
|
||||
font-display: swap;
|
||||
src: url("https://langue.phundrak.com/fonts/DoulosSIL-R.woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Noto Sans Runes";
|
||||
font-display: swap;
|
||||
src: url("../fonts/NotoSansRunic-Regular.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Helvetica Neue";
|
||||
font-display: swap;
|
||||
src: url("../fonts/HelveticaNeue.ttf");
|
||||
}
|
||||
|
||||
/* Colors ********************************************************************/
|
||||
$dark: rgba(52, 73, 94, 1);
|
||||
$accent1: rgba(66, 191, 221, 1);
|
||||
$accent2: rgba(92, 172, 126, 1);
|
||||
$accent3: rgba(197, 193, 155, 1);
|
||||
$light: rgba(250, 250, 255, 1);
|
||||
$gradient-top: linear-gradient(0deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-right: linear-gradient(90deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-bottom: linear-gradient(180deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-left: linear-gradient(270deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-top-right: linear-gradient(45deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-bottom-right: linear-gradient(135deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-top-left: linear-gradient(225deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-bottom-left: linear-gradient(315deg, $dark, $accent1, $accent2, $accent3, $light);
|
||||
$gradient-radial: radial-gradient( $dark, $accent1, $accent2, $accent3, $light);
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: "Noto Sans Runes", "DoulosSIL", "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: currentColor;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
height: 70px;
|
||||
width: 100%;
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 1em;
|
||||
background: red;
|
||||
margin-bottom: 1em;
|
||||
padding-bottom: 3.5em;
|
||||
text-align: center;
|
||||
clip-path: polygon(50% 0%, 100% 0, 100% 65%, 50% 100%, 0 65%, 0 0);
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
position: absolute;
|
||||
width: 500px;
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
background: blue;
|
||||
border-top: 2px solid white;
|
||||
|
||||
border-bottom-right-radius: 8px;
|
||||
border-bottom-left-radius: 8px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
height: 3rem;
|
||||
margin-top: 2rem;
|
||||
padding: 0.5rem;
|
||||
|
||||
box-shadow: rgba(2, 8, 20, 0.1) 0px 0.175em 0.5em;
|
||||
transform: translateX(-40%);
|
||||
|
||||
transition: opacity .15s ease-out;
|
||||
}
|
||||
|
||||
#theme-dropdown {
|
||||
width: 300px;
|
||||
transform: translateX(-60%);
|
||||
}
|
||||
|
||||
.has-dropdown {
|
||||
&:focus-within {
|
||||
.dropdown {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
size: 0.7rem;
|
||||
padding-left: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user