Website now runs on Dart’s webdev

langue.phundrak.com now runs using the `webdev` tool from Dart.
Javascript code has been replaced with Dart code, and CSS code has
been replaced with SCSS code. To run the project, execute
`webdev serve` at the project’s root.
This commit is contained in:
Lucien Cartier-Tilet 2019-12-12 15:44:23 +01:00
parent 79596d60a1
commit c84aace663
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
80 changed files with 1657 additions and 939 deletions

41
.gitignore vendored
View File

@ -1,22 +1,27 @@
*.el
*.tex
*.bak
*.log
*.html
*.pdf
*.aux
*.toc
*.bak
*.el
*.html
*.log
*.lot
*.map
*.out
*.pdf
*.pdf_tex
*.tex
*.toc
_minted*
/draconian-2/Vulgar_ Language generator.pdf
/draconian-2/auto-generated*
/ignored-folder
/js/.tern-port
*.pdf_tex
*.lot
/css/.sass-cache/
*.map
/css/light.css
/css/main.css
/css/dark.css
/css/nyqy.css
auto-generated*
# Files and directories created by pub
.dart_tool/
.packages
# Remove the following pattern if you wish to check in your lock file
pubspec.lock
# Conventional directory for build outputs
build/
# Directory created by dartdoc
doc/api/

14
analysis_options.yaml Normal file
View File

@ -0,0 +1,14 @@
# Defines a default set of lint rules enforced for
# projects at Google. For details and rationale,
# see https://github.com/dart-lang/pedantic#enabled-lints.
include: package:pedantic/analysis_options.yaml
# For lint rules and documentation, see http://dart-lang.github.io/linter/lints.
# Uncomment to specify additional rules.
# linter:
# rules:
# - camel_case_types
analyzer:
# exclude:
# - path/to/excluded/files/**

1
css/.gitignore vendored
View File

@ -1 +0,0 @@
/css/dark.css

View File

@ -1,763 +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;
}

1
css/htmlize.min.css vendored

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

2
js/jquery.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,83 +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/>.
*/
/*jshint esversion: 6 */
window.onload = function() {
reorganize_html();
create_theme_switcher();
console.log("JS loaded!");
};
function reorganize_html() {
// Move the postamble in the content div
$('#content').append('<hr>');
$('#postamble').appendTo($('#content'));
// Move each table in a div to handle large tables' overflow
$('table').each(function() {
$table = $(this);
$table.before('<div class="largetable"></div>');
$table.prependTo($table.prev());
});
}
function create_theme_switcher() {
// set the correct CSS depending on the cookie, dark is default
var light = isThemeLight();
// Set the correct symbol in the theme switcher button
$('body').append('<div class="themeBtn"><i class="fas fa-'
.concat(light ? 'moon' : 'sun').concat('"></i></div>'));
// set the correct css file in the HTML head
$('head').append('<link id="theme" rel="stylesheet" href="https://langue.phundrak.com/css/'
.concat(light ? 'light' : 'dark').concat('.css">'));
// switch CSS files and button icon, set new cookie on theme switcher click
$('.themeBtn').click(function() {
var light = !isThemeLight();
// Switch the CSS between light and dark
$("#theme").first().attr('href', 'https://langue.phundrak.com/css/'
.concat(light ? 'light' : 'dark')
.concat('.css'));
// Switch the icon in the theme switcher button
$('.themeBtn').html('<i class="fas fa-'
.concat(light ? 'moon' : 'sun')
.concat('"></i>'));
Cookies.set('light-theme', light ? 'true' : 'false');
});
}
function isThemeLight() {
// set the css and button depending on the cookie found, dark is default
var light;
switch (Cookies.get('light-theme')) {
case 'true':
light = true;
break;
case null: // If no theme cookie is found, set dark by default
Cookies.set('light-theme', false);
/* falls through */
default:
light = false;
break;
}
return light;
}
function isEmpty(el) {
return !$.trim(el.html());
}

16
pubspec.yaml Normal file
View File

@ -0,0 +1,16 @@
name: langue
description: An absolute bare-bones web app.
version: 0.1.0
homepage: https://langue.phundrak.com
author: Lucien Cartier-Tilet <lucien@phundrak.com>
environment:
sdk: '>=2.5.0 <3.0.0'
dependencies:
js: ^0.6.1+1
dev_dependencies:
build_runner: ^1.6.0
build_web_compilers: ^2.3.0
pedantic: ^1.8.0

6
web/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
/ignored-folder
/css/.sass-cache/
/css/light.css
/css/main.css
/css/dark.css
/css/nyqy.css

View File

@ -18,6 +18,7 @@
$bg: #2c3e50;
$darkerbg: #34495e;
$textcolor: #ecf0f1;
$tablecolor: #263646;
html {
background-color: $darkerbg;
@ -50,7 +51,7 @@ a {
}
th {
border: 1px solid $bg;
border: 1px solid $tablecolor;
}
td {
@ -62,7 +63,7 @@ pre {
}
table {
border: 2px solid $bg;
border: 2px solid $tablecolor;
}
#content {

765
web/css/htmlize.css Normal file
View File

@ -0,0 +1,765 @@
.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 Normal file
View File

@ -0,0 +1,620 @@
.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 */

View File

@ -15,12 +15,12 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
$bg: #2c3e50;
$bg: #eee;
$darkerbg: #ddd;
$textcolor: #444;
html {
background-color: $darkerbg;
background-color: $bg;
}
thead {
@ -50,7 +50,7 @@ a {
}
th {
border: 1px solid $bg;
border: 1px solid $textcolor;
}
td {
@ -62,13 +62,13 @@ pre {
}
table {
border: 2px solid $bg;
border: 2px solid $textcolor;
}
#content {
background-color: $bg;
background-color: $darkerbg;
}
#postamble{
background-color: $bg;
@extend #content;
}

11
web/dart/cookie.dart Normal file
View File

@ -0,0 +1,11 @@
@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);
}

59
web/dart/main.dart Normal file
View File

@ -0,0 +1,59 @@
@JS()
library main;
import 'dart:html';
import 'package:js/js.dart';
import './cookie.dart';
void main() {
reorganizeHtml();
createThemeSwitcher();
querySelector('.themeBtn').onClick.listen(themeSwitch);
}
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('theme') == 'light') {
return false;
}
Cookies.set('theme', 'dark');
return true;
}
bool setTheme(bool dark) {
Cookies.set('theme', (dark ? 'dark' : 'light'));
return !dark;
}
void themeSwitch(MouseEvent event) {
print('Switch theme');
bool isDark = setTheme(isThemeDark());
querySelector('.fas').className = 'fas fa-' + (isDark ? 'sun' : 'moon');
querySelector('#theme').attributes['href'] =
'/css/' + (isDark ? 'dark' : 'light') + '.css';
}
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);
}
}

View File

@ -317,10 +317,37 @@
lIslande fut transférée du Royaume Uni aux États Unis dAmérique le 17 Mai
1940, un contingent éittlandais resta sur place afin dassurer une
protection du pays par un autre pays nordique. Lors de lentrée en guerre
des États Unis, lEittlande les invitère à installer une base militaire sur
des États Unis, lEittlande les invita à installer une base militaire sur
leur île comme base arrière afin détablir une liaison avec le Royaume Uni
et lEurope au travers de lAtlantique.
LÉittlande retira ses troupes dIslande peu de temps après le retrais des
troupes étasuniennes durant 1946, date à laquelle la base militaire
étasunienne sur le sol Éittlandais fut restituée à la couronne
Éittlandaise. Quelques régiments restèrent tout de même sur le sol
Islandais tandis quun régiment Islandais sétablit sur le sol Éittlandais,
marquant la formalisation dune alliance militaire et économique entre ces
deux pays.
Éittlande rejoint lOTAN le 4 Mai 1949 suite à un référendum créé à
linitiative du roi Ulfor II Ulforsson.
**** Guerres de la Morue
:PROPERTIES:
:CUSTOM_ID: h-e0d78230-f1e1-4a53-9b14-53da9b9b4c47
:END:
Durant les années 70, Éittlande participa aux Guerres de la Morue avec
lIslande face au Royaume Unis, qui furent les seuls à supporter la
décision islandaise dexpansion de leurs eaux territoriales. Lors de la
seconde Guerre de la Morue, Eittlande en profita pour également augmenter
la superficie de ses eaux territoriales, les deux pays dépendant grandement
de lactivité de la pêche. La troisième Guerre de la Morue vit cependant
une rivalerie entre Eittlande et lIslande malgré leur alliance officielle
dû à des zone maritimes réclamées par les deux pays. Il fût finalement
décidé lors de la fin de la guerre que la zone réclamée par les deux pays
couvrant les 200 miles nautiques auraient un statut de zone économique
exclusive aux deux pays.
*** Situation politique
:PROPERTIES:
:CUSTOM_ID: h-11e1aecd-4abd-4dd5-a07a-0998e6572b09
@ -328,12 +355,12 @@
Du fait dune population croissante et dun besoin dune organisation
locale, une constitution et un gouvernement furent créés en Eittlande sous
limpulsion de la couronne norvégienne, choisissant comme roi dEittlande le
jarl de Ðeberget Ásmundr Ingólfrson, lun des fils dIngólfr Arnarson.
Ásmundr I fut ainsi premier souverain dEittlande et vassal de la couronne
jarl de Ðeberget Ásmundor Ingólfrson, lun des fils dIngólfr Arnarson.
Ásmundor I fut ainsi premier souverain dEittlande et vassal de la couronne
de Norvège. Une monarchie sinstalla donc à la tête dun système féodal.
LEittlande étant un territoire divisé en deux par la chaîne de volcan
traversant lîle, un co-roi fut nommé pour régner au nom du souverain sur la
partie orientale de lîle lorsque Áleifr I, fils dÁsmundr I, accéda au
partie orientale de lîle lorsque Áleifor I, fils dÁsmundor I, accéda au
trône. Depuis, il est de tradition que le roi éittlandais nomme un de ses
frères ou un de ses fils co-souverain de lîle, ce dernier le succédant
souvent sil sagissait du fils du souverain ou du frère dun souverain sans
@ -391,46 +418,59 @@
#+CAPTION: Liste des rois Eittlandais de 915 à 1392
| <4> | <4> | <4> | <4> | <4> | <4> | <4> | <4> | <4> | <4> |
| roi | naissance | mort | âge | règne | co-roi | naissance | mort | âge | règne |
|-------------------------------+-----------+------+-----+-----------+--------------------------------+-----------+------+-----+-----------|
| Ásmundr I, Ingólfrson | 876 | 932 | 56 | 915-935 | - | | | | |
| Áleifr I, Ásmundrson | 879 | 950 | 71 | 935-950 | Steingrímr I, Áleifrbróðir | 879 | 959 | 80 | 936-951 |
| Áleifr II, Áleifrson | 915 | 971 | 56 | 950-971 | Eyvindr I, Áleifrbróðir | 918 | 981 | 63 | 951-972 |
| Áleifr III, Áleifrson | 935 | 981 | 46 | 971-981 | Hallþórr I, Áleifrbróðir | 936 | 1012 | 76 | 972-981 |
| Hallþórr I, Áleifrbróðir | 936 | 1012 | 76 | 981-1012 | Eiríkr I, Áleifrbróðir | 938 | 987 | 49 | 982-987 |
| | | | | | Hallþórr II, Hallþórrson | 955 | 1020 | 65 | 937-1012 |
| Hallþórr II, Hallþórson | 955 | 1020 | 65 | 1012-1020 | Ásmundr I, Hallþórrbróðir | 956 | 1018 | 62 | 1012-1018 |
| | | | | | Hallþórr III, Hallþórrsonarson | 992 | 1058 | 66 | 1018-1020 |
| Hallþórr III, Hallþórsonarson | 992 | 1058 | 66 | 1020-1058 | Ragnheiðr I, Hallþórrson | 976 | 1033 | 57 | 1021-1033 |
| | | | | | Hallþórr IV, Hallþórrson | 1013 | 1065 | 52 | 1033-1058 |
| Hallþór IV, Hallþórson | 1013 | 1065 | 52 | 1058-1065 | Áleifr IV, Hallþórbróðir | 1015 | 1087 | 72 | 1059-1065 |
| Áleifr IV, Hallþórbróðir | 1015 | 1087 | 72 | 1065-1087 | Eríkr II, Áleifrbróðir | 1020 | 1101 | 81 | 1065-1087 |
| Eríkr II, Áleifrbróðir | 1020 | 1101 | 81 | 1087-1101 | Eyvindr II, Áleifrbróðir | 1027 | 1098 | 71 | 1088-1098 |
| | | | | | Eríkr III, Eríkrsonarson | 1053 | 1103 | 50 | 1098-1101 |
| Eríkr III, Eríkrsonarson | 1053 | 1103 | 50 | 1101-1103 | Niall I, Eríkrdóttir | 1076 | 1158 | 82 | 1102-1103 |
| Niall I, Eríkrdóttir | 1076 | 1158 | 82 | 1103-1158 | Eysteinn I, Niallson | 1095 | 1127 | 32 | 1104-1127 |
|-------------------------------+-----------+------+-----+-----------+---------------------------------+-----------+------+-----+-----------|
| Ásmundor I, Ingólfrson | 876 | 932 | 56 | 915-935 | - | | | | |
| Áleifor I, Ásmundorson | 879 | 950 | 71 | 935-950 | Steingrímor I, Áleiforbróðir | 879 | 959 | 80 | 936-951 |
| Áleifor II, Áleiforson | 915 | 971 | 56 | 950-971 | Eyvindor I, Áleiforbróðir | 918 | 981 | 63 | 951-972 |
| Áleifor III, Áleiforson | 935 | 981 | 46 | 971-981 | Hallþórr I, Áleiforbróðir | 936 | 1012 | 76 | 972-981 |
| Hallþórr I, Áleiforbróðir | 936 | 1012 | 76 | 981-1012 | Eiríkor I, Áleiforbróðir | 938 | 987 | 49 | 982-987 |
| | | | | | Hallþórr II, Hallþórsson | 955 | 1020 | 65 | 937-1012 |
| Hallþórr II, Hallþórson | 955 | 1020 | 65 | 1012-1020 | Ásmundor I, Hallþórsbróðir | 956 | 1018 | 62 | 1012-1018 |
| | | | | | Hallþórr III, Hallþórssonarson | 992 | 1058 | 66 | 1018-1020 |
| Hallþórr III, Hallþórsonarson | 992 | 1058 | 66 | 1020-1058 | Ragnheiðr I, Hallþórsson | 976 | 1033 | 57 | 1021-1033 |
| | | | | | Hallþórr IV, Hallþórsson | 1013 | 1065 | 52 | 1033-1058 |
| Hallþór IV, Hallþórson | 1013 | 1065 | 52 | 1058-1065 | Áleifor IV, Hallþórbróðir | 1015 | 1087 | 72 | 1059-1065 |
| Áleifor IV, Hallþórbróðir | 1015 | 1087 | 72 | 1065-1087 | Eríkor II, Áleiforbróðir | 1020 | 1101 | 81 | 1065-1087 |
| Eríkor II, Áleiforbróðir | 1020 | 1101 | 81 | 1087-1101 | Eyvindor II, Áleiforbróðir | 1027 | 1098 | 71 | 1088-1098 |
| | | | | | Eríkor III, Eríkorsonarson | 1053 | 1103 | 50 | 1098-1101 |
| Eríkor III, Eríkorsonarson | 1053 | 1103 | 50 | 1101-1103 | Niall I, Eríkordóttir | 1076 | 1158 | 82 | 1102-1103 |
| Niall I, Eríkordóttir | 1076 | 1158 | 82 | 1103-1158 | Eysteinn I, Niallson | 1095 | 1127 | 32 | 1104-1127 |
| | | | | | Yngvarr I, Niallsonarson | 1102 | 1175 | 73 | 1128-1158 |
| Yngvarr I, Niallson | 1102 | 1175 | 73 | 1158-1175 | Eyvindr II, Yngvarrbróðir | 1119 | 1176 | 57 | 1159-1175 |
| Yngvarr II, Yngvarrson | 1137 | 1176 | 39 | 1175-1176 | Eyvindr II, Yngvarrbróðir | 1119 | 1176 | 57 | 1176 |
| | | | | | Yngvarr III, Yngvarrson | 1153 | 1202 | 49 | 1176 |
| Yngvarr III, Yngvarrson | 1153 | 1202 | 49 | 1176-1202 | Heimir I, Yngvarrbróðir | 1162 | 1223 | 61 | 1177-1202 |
| Heimir I, Yngvarrbróðir | 1162 | 1223 | 61 | 1202-1223 | Ásmundr II, Heimirbróðir | 1165 | 1218 | 53 | 1202-1218 |
| | | | | | Gunnhildr I, Ásmundrdóttir | 1189 | 1252 | 63 | 1218-1223 |
| Gunnhildr I, Ásmundrdóttir | 1189 | 1252 | 63 | 1223-1252 | Hallþórr V, Gunnhildrson | 1205 | 1283 | 78 | 1223-1252 |
| Hallþórr V, Gunnhildrson | 1205 | 1283 | 78 | 1252-1283 | Steingrímr II, Hallþórrbroðir | 1209 | 1263 | 54 | 1252-1263 |
| | | | | | Steingrímr III, Steingrímrson | 1233 | 1278 | 45 | 1263-1278 |
| | | | | | Eyvindr III, Steingrímrson | 1235 | 1291 | 56 | 1278-1283 |
| Eyvindr III, Steingrímrson | 1235 | 1291 | 56 | 1283-1291 | Ragnheiðr II, Eyvindrbróðir | 1240 | 1296 | 56 | 1284-1291 |
| Eyvindr IV, Eyvindrson | 1262 | 1318 | 56 | 1291-1318 | Ragnheiðr II, Eyvindrbróðir | 1240 | 1296 | 56 | 1292-1296 |
| Yngvarr I, Niallson | 1102 | 1175 | 73 | 1158-1175 | Eyvindor II, Yngvarsbróðir | 1119 | 1176 | 57 | 1159-1175 |
| Yngvarr II, Yngvarsson | 1137 | 1176 | 39 | 1175-1176 | Eyvindor II, Yngvarsbróðir | 1119 | 1176 | 57 | 1176 |
| | | | | | Yngvarr III, Yngvarsson | 1153 | 1202 | 49 | 1176 |
| Yngvarr III, Yngvarsson | 1153 | 1202 | 49 | 1176-1202 | Heimir I, Yngvarsbróðir | 1162 | 1223 | 61 | 1177-1202 |
| Heimir I, Yngvarsbróðir | 1162 | 1223 | 61 | 1202-1223 | Ásmundor II, Heimirbróðir | 1165 | 1218 | 53 | 1202-1218 |
| | | | | | Gunnhildor I, Ásmundordóttir | 1189 | 1252 | 63 | 1218-1223 |
| Gunnhildor I, Ásmundordóttir | 1189 | 1252 | 63 | 1223-1252 | Hallþórr V, Gunnhildorson | 1205 | 1283 | 78 | 1223-1252 |
| Hallþórr V, Gunnhildorson | 1205 | 1283 | 78 | 1252-1283 | Steingrímor II, Hallþórsbroðir | 1209 | 1263 | 54 | 1252-1263 |
| | | | | | Steingrímor III, Steingrímorson | 1233 | 1278 | 45 | 1263-1278 |
| | | | | | Eyvindor III, Steingrímorson | 1235 | 1291 | 56 | 1278-1283 |
| Eyvindor III, Steingrímorson | 1235 | 1291 | 56 | 1283-1291 | Ragnheiðr II, Eyvindorbróðir | 1240 | 1296 | 56 | 1284-1291 |
| Eyvindor IV, Eyvindorson | 1262 | 1318 | 56 | 1291-1318 | Ragnheiðr II, Eyvindorbróðir | 1240 | 1296 | 56 | 1292-1296 |
| | | | | | Ragnheiðr III, Ragnheiðrson | 1259 | 1308 | 49 | 1292-1308 |
| | | | | | Eyvindr V, Eyvindrson | 1285 | 1346 | 61 | 1308-1318 |
| Eyvindr V, Eyvindrson | 1285 | 1346 | 61 | 1318-1346 | Eríkr II, Eyvindrbróðir | 1290 | 1349 | 59 | 1319-1346 |
| Eyvindr VI, Eyvindrson | 1309 | 1354 | 45 | 1346-1354 | Eríkr III, Eyvindrbróðir | 1315 | 1349 | 34 | 1346-1349 |
| | | | | | Eir I, Eyvindrsystir | 1299 | 1360 | 61 | 1349-1354 |
| Eir I, Eyvindrsystir | 1299 | 1360 | 61 | 1354-1360 | Biœrg I, Eirdóttir | 1318 | 1374 | 56 | 1355-1360 |
| | | | | | Eyvindor V, Eyvindorson | 1285 | 1346 | 61 | 1308-1318 |
| Eyvindor V, Eyvindorson | 1285 | 1346 | 61 | 1318-1346 | Eríkor II, Eyvindorbróðir | 1290 | 1349 | 59 | 1319-1346 |
| Eyvindor VI, Eyvindorson | 1309 | 1354 | 45 | 1346-1354 | Eríkor III, Eyvindorbróðir | 1315 | 1349 | 34 | 1346-1349 |
| | | | | | Eir I, Eyvindorsystir | 1299 | 1360 | 61 | 1349-1354 |
| Eir I, Eyvindorsystir | 1299 | 1360 | 61 | 1354-1360 | Biœrg I, Eirdóttir | 1318 | 1374 | 56 | 1355-1360 |
| Biœrg I, Eirdóttir | 1318 | 1374 | 56 | 1360-1374 | Ásgeirr I, Bjœrgson | 1330 | 1392 | 62 | 1361-1374 |
| Ásgeirr I, Biœrgson | 1330 | 1392 | 62 | 1374-1392 | Eiríkr IV, Ásgeirrbróðir | 1333 | 1393 | 60 | 1375-1392 |
| Ásgeirr I, Biœrgson | 1330 | 1397 | 67 | 1374-1397 | Eiríkor IV, Ásgeirsbróðir | 1333 | 1397 | 64 | 1375-1397 |
#+TBLFM: $4=$3-$2::$9=$8-$7
On peut remarquer la mort simultanée dÁsgeirr I, Biœrgon et de son co-roi
Eiríkor IV, Ásgeirsbródir. Bien que rien ne puisse être affirmé avec
certitude, lune des théories les plus populaires veut que les deux
souverains furent empoisonnés, marquant une tentative de la couronne de
lUnion de Kalmar de saper le moral éittlandais et de mettre fin à ce qui
était à lépoque considéré par lUnion comme étant une rébellion. Bien que
cela mit un terme à la dynastie dÁsmundor, un nouveau roi fut nommé, choisi
dans une famille noble proche du trône. Ainsi le nouveau roi Arvid I Geirson
repris la guerre contre lUnion, et repris la tradition du co-roi en nommant
son frère Havardor I Arvidbróðir à la tête de la partie orientale de lîle.
La guerre se termina le 27 Octobre 1400 avec lindépendance dÉittlande
reconnue par lUnion de Kalmar.
** Écologie
:PROPERTIES:
:CUSTOM_ID: h-1cff65b5-a389-4f68-9feb-7aaf4d6c50ee
@ -697,14 +737,14 @@
(conlanging/tree-to-dot eittlandic-vowels)
#+END_SRC
#+BEGIN_SRC dot :file img/eittlanda/vowel-feature-tree.png :var input=vow-dot :exports results :cache yes
#+BEGIN_SRC dot :file img/eittlanda/vowel-feature-tree.png :var input=vow-dot :exports results
$input
#+END_SRC
#+NAME: arbre:vowels
#+ATTR_HTML: :alt Arbre des voyelles de lEittlandais :width 100%
#+ATTR_LATEX: :float sideways
#+CAPTION: Arbre des caractéristiques distinctives des voyelles de lEittlandais
#+RESULTS[2c6f077ffbc915fa8a280ad51c89c4e778de0dec]:
#+RESULTS:
[[file:img/eittlanda/vowel-feature-tree.png]]
*** Diphtongues
@ -856,7 +896,7 @@
consonne, un <y>, généralement prononcé {{{phon(ə)}}}, est ajouté avant le <r>
final.
Exemple : /frægr/ {{{phon(fræɡr)}}} (VN), /frægor/ {{{phon(fræɡɚ)}}} (E) ; /dalr/
Exemple : /frægr/ {{{phon(fræɡr)}}} (VN), /frægor/ {{{phon(fræɣɚ)}}} (E) ; /dalr/
{{{phon(dal:)}}} (VN), /dalr/ {{{phon(dælː)}}} (E).
LEittlandais a tout de même conservé la distinction norroise entre
@ -2112,5 +2152,5 @@
[fn:1] [[https://langue.phundrak.com]]
# LocalWords: non-orale Ingólfr Arnarson Ásmundr Ingólfrson Áleifr Steingrímr
# LocalWords: Ásmundrson Áleifrbróðir Hallþórr Eyvindr
# LocalWords: non-orale Ingólfr Arnarson Ásmundor Ingólfrson Áleifor Steingrímor
# LocalWords: Ásmundorson Áleiforbróðir Hallþórr Eyvindor

View File

Before

Width:  |  Height:  |  Size: 201 KiB

After

Width:  |  Height:  |  Size: 201 KiB

View File

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 274 KiB

View File

Before

Width:  |  Height:  |  Size: 389 KiB

After

Width:  |  Height:  |  Size: 389 KiB

View File

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 389 KiB

After

Width:  |  Height:  |  Size: 389 KiB

View File

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -487,15 +487,42 @@
#+END_SRC
#+NAME: arbre:vowels
#+ATTR_HTML: :alt Arbre des voyelles du Ñyqy :align center :width 800px
#+ATTR_LATEX: :float sideways
#+ATTR_LATEX: :width 10cm
#+CAPTION: Arbre des caractéristiques des voyelles du Ñyqy
#+RESULTS[d6752d93f1ef9dbe412d3eb47db94ef37601fbd2]:
[[file:img/nyqy/vowel-feature-tree.png]]
Voici une description des voyelles du Ñyqy :
- e :: il sagit de la voyelle antérieure mi-ouverte non-arrondie [ɛ] que
lon retrouve en Français dans « bête » [bɛt̪] par example.
- é :: il sagit de la voyelle antérieure mi-fermée non-arrondie [e] que
lon retrouve en Français dans « été » [et̪e] par exemple.
- i :: Il sagit de la voyelle antérieure pré-fermée non-arrondie [ɪ] que
lon retrouve en Anglais comme dans « bit » [bɪt].
- o :: Il sagit de la voyelle postérieure mi-ouverte arrondie [ɔ] que lon
retrouve en Français dans « sort » [sɔːʁ].
- ó :: Il sagit de la voyelle postérieure mi-fermée non-arrondie [ɤ] que
lon retrouve en Gaellique Écossais « doirbh » [d̪̊ɤrʲɤv] ou en
Estonien « kõrv » [kɤrv].
- u :: Il sagit de la voyelle postérieure pré-fermée arrondie [ʊ] que lon
retrouve en Anglais américain « hook » [hʊ̞k].
- ú :: Il sagit de la voyelle postérieure fermée arrondie [u] que lon
retrouve en français avec « août » [ut̪].
- y :: Il sagit de la voyelle antérieure fermée arrondie [y] que lon
retrouve en Français avec « dune » [d̪yn̪].
*** Consonnes
:PROPERTIES:
:CUSTOM_ID: h-49ab3d74-6565-4f88-835c-f88425493d3f
:END:
Le Ñyqy est une langue ayant une particularité intéressante : bien quelle
dispose dun total de seulement douze consonnes, elle dispose réellement
approximativement du double dû à un effet de mutation des consonnes qui sera
décrit plus bas. Vous pouvez retrouver linventaire total dans le tableau
[[table:cons:ipa]], les lettres résultant de mutations étant entre parenthèses.
Vous trouverez également la translittération des consonnes non-mutées dans
le tableau [[table:cons:trans]].
#+NAME: table:cons:ipa
#+CAPTION: Consonnes du Ñyqy (IPA)
| <r5> | <c5> | <c5> | <c5> | <c5> | <c5> | <c5> |
@ -524,6 +551,10 @@
| affriqué | | c j | | |
| spirant | | | w | |
Le Ñyqy dispose également dune hiérarchie entre ses consonnes basée sur des
caractéristiques distinctives entre elles, à linstar de ses voyelles. Vous
trouverez dans larbre [[arbre:cons]] lorganisation de ces consonnes.
#+NAME: cons-tree
#+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes
(setq-local nyqy-consonants
@ -632,6 +663,15 @@
- Si les règles précédentes ne sappliquent pas, il est supposé quun schwa
est ajouté afin de pouvoir rendre la syllabe prononçable.
** Structure des mots
:PROPERTIES:
:CUSTOM_ID: h-3a8e9769-9aca-4ada-b127-6386742d5b32
:END:
** Processus phonologiques et morphophonémiques principaux
:PROPERTIES:
:CUSTOM_ID: h-477abbdc-eab0-4bd4-9d27-c39d9219d1d7
:END:
*** Allophonie
:PROPERTIES:
:CUSTOM_ID: h-19816428-bd33-40a2-a682-acc2d0afe668
@ -667,15 +707,6 @@
Ainsi, la phrase {{{nyqy(ñe pom qy)}}} ne se prononce pas *{{{phon(ɴɛ pɔm qy)}}}, et la
phrase {{{nyqy(qi bú pim mo coq)}}} se ne prononce pas *{{{phon(qɪ bʊ pɪm mɔ t͡ʃɔq)}}}.
** Structure des mots
:PROPERTIES:
:CUSTOM_ID: h-3a8e9769-9aca-4ada-b127-6386742d5b32
:END:
** Processus phonologiques et morphophonémiques principaux
:PROPERTIES:
:CUSTOM_ID: h-477abbdc-eab0-4bd4-9d27-c39d9219d1d7
:END:
*** Harmonie des consonnes
:PROPERTIES:

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB