up follow livre

This commit is contained in:
Tykayn 2025-08-30 18:14:14 +02:00 committed by tykayn
parent b4b4398bb0
commit 3a7a3849ae
12242 changed files with 2564461 additions and 6914 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
!function(t){"object"==typeof exports&&"object"==typeof module?t(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)}(function(t){"use strict";t.defineMode("commonlisp",function(r){var o,i=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,c=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,l=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,n=/[^\s'`,@()\[\]";]/;function u(t){for(var e;e=t.next();)if("\\"==e)t.next();else if(!n.test(e)){t.backUp(1);break}return t.current()}function a(t,e){if(t.eatSpace())return o="ws",null;if(t.match(l))return"number";var n=t.next();if('"'==(n="\\"==n?t.next():n))return(e.tokenize=s)(t,e);if("("==n)return o="open","bracket";if(")"==n||"]"==n)return o="close","bracket";if(";"==n)return t.skipToEnd(),o="ws","comment";if(/['`,@]/.test(n))return null;if("|"==n)return t.skipTo("|")?(t.next(),"symbol"):(t.skipToEnd(),"error");if("#"==n)return"("==(n=t.next())?(o="open","bracket"):/[+\-=\.']/.test(n)||/\d/.test(n)&&t.match(/^\d*#/)?null:"|"==n?(e.tokenize=d)(t,e):":"==n?(u(t),"meta"):"\\"==n?(t.next(),u(t),"string-2"):"error";t=u(t);return"."==t?null:(o="symbol","nil"==t||"t"==t||":"==t.charAt(0)?"atom":"open"==e.lastType&&(i.test(t)||c.test(t))?"keyword":"&"==t.charAt(0)?"variable-2":"variable")}function s(t,e){for(var n,r=!1;n=t.next();){if('"'==n&&!r){e.tokenize=a;break}r=!r&&"\\"==n}return"string"}function d(t,e){for(var n,r;n=t.next();){if("#"==n&&"|"==r){e.tokenize=a;break}r=n}return o="ws","comment"}return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:a}},token:function(t,e){t.sol()&&"number"!=typeof e.ctx.indentTo&&(e.ctx.indentTo=e.ctx.start+1),o=null;var n=e.tokenize(t,e);return"ws"!=o&&(null==e.ctx.indentTo?"symbol"==o&&c.test(t.current())?e.ctx.indentTo=e.ctx.start+r.indentUnit:e.ctx.indentTo="next":"next"==e.ctx.indentTo&&(e.ctx.indentTo=t.column()),e.lastType=o),"open"==o?e.ctx={prev:e.ctx,start:t.column(),indentTo:null}:"close"==o&&(e.ctx=e.ctx.prev||e.ctx),n},indent:function(t,e){var n=t.ctx.indentTo;return"number"==typeof n?n:t.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",fold:"brace-paren",blockCommentStart:"#|",blockCommentEnd:"|#"}}),t.defineMIME("text/x-common-lisp","commonlisp")});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

83
website_flask/static/js/lib/org.min.js vendored Normal file
View file

@ -0,0 +1,83 @@
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
CodeMirror.defineMode("org", function () {
return {
token: function (stream, state) {
// Titres
if (stream.match(/^\*+\s/)) {
stream.skipToEnd();
return "header";
}
// Commentaires
if (stream.match(/^#\s/)) {
stream.skipToEnd();
return "comment";
}
// Blocs de commentaires
if (stream.match(/^#\+BEGIN_COMMENT/)) {
state.inComment = true;
return "comment";
}
if (state.inComment && stream.match(/^#\+END_COMMENT/)) {
state.inComment = false;
return "comment";
}
if (state.inComment) {
stream.skipToEnd();
return "comment";
}
// Blocs de code
if (stream.match(/^#\+BEGIN_SRC/)) {
state.inCode = true;
return "comment";
}
if (state.inCode && stream.match(/^#\+END_SRC/)) {
state.inCode = false;
return "comment";
}
if (state.inCode) {
stream.skipToEnd();
return "string";
}
// Citations
if (stream.match(/^#\+BEGIN_QUOTE/)) {
state.inQuote = true;
return "comment";
}
if (state.inQuote && stream.match(/^#\+END_QUOTE/)) {
state.inQuote = false;
return "comment";
}
if (state.inQuote) {
stream.skipToEnd();
return "string";
}
// Liens
if (stream.match(/\[\[(.*?)\]\]/)) {
return "link";
}
// Texte normal
stream.next();
return null;
},
startState: function () {
return {
inComment: false,
inCode: false,
inQuote: false
};
}
};
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,138 @@
(function (mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function (CodeMirror) {
"use strict";
CodeMirror.defineMode("org", function () {
return {
startState: function () {
return {
inComment: false,
inBlock: false,
blockType: null
};
},
token: function (stream, state) {
// Gestion des commentaires en ligne
if (stream.match(/^# /)) {
stream.skipToEnd();
return "comment";
}
// Gestion des lignes de paramètres
if (stream.match(/^:PROPERTIES:|^:END:|^:ID:|^#\+[A-Z_]+:/)) {
stream.skipToEnd();
return "comment";
}
// Gestion des paramètres d'export
if (stream.match(/^:title|^:author|^:email|^:language|^:encoding|^:subject|^:description|^:keywords|^:cover/)) {
stream.skipToEnd();
return "comment";
}
// Gestion des blocs de commentaires
if (stream.match(/^#\+begin_comment/)) {
state.inComment = true;
return "comment";
}
if (state.inComment && stream.match(/^#\+end_comment/)) {
state.inComment = false;
return "comment";
}
if (state.inComment) {
stream.skipToEnd();
return "comment";
}
// Gestion des blocs de code
if (stream.match(/^#\+BEGIN_SRC/)) {
state.inBlock = true;
state.blockType = "src";
return "keyword";
}
if (stream.match(/^#\+BEGIN_QUOTE/)) {
state.inBlock = true;
state.blockType = "quote";
return "keyword";
}
if (state.inBlock && stream.match(/^#\+END_(SRC|QUOTE)/)) {
state.inBlock = false;
state.blockType = null;
return "keyword";
}
if (state.inBlock) {
stream.skipToEnd();
return state.blockType === "src" ? "string" : "quote";
}
// Gestion des titres
if (stream.match(/^\*+\s/)) {
const level = stream.current().length - 1;
stream.skipToEnd();
return `header-${level}`;
}
// Gestion des listes
if (stream.match(/^-\s/)) {
stream.skipToEnd();
return "list";
}
// Gestion des liens
if (stream.match(/\[\[(.*?)\]\]/)) {
return "link";
}
// Gestion des propriétés
if (stream.match(/^:PROPERTIES:/)) {
stream.skipToEnd();
return "property";
}
if (stream.match(/^:END:/)) {
stream.skipToEnd();
return "property";
}
// Gestion des tags
if (stream.match(/:[a-zA-Z0-9_@#%:]+:/)) {
return "tag";
}
// Gestion des dates
if (stream.match(/<\d{4}-\d{2}-\d{2}(?: \w+)?>/)) {
return "date";
}
// Gestion des mots-clés
if (stream.match(/^#\+[A-Z_]+:/)) {
stream.skipToEnd();
return "keyword";
}
// Gestion des nombres
if (stream.match(/\b\d+\b/)) {
return "number";
}
// Texte normal
stream.next();
return null;
}
};
});
CodeMirror.defineMIME("text/x-org", "org");
});