Move site specificities to their respective directory
This commit is contained in:
parent
a42069ffa2
commit
af34f93f38
11 changed files with 309 additions and 304 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -3,4 +3,7 @@ temp/*
|
|||
mdp.php
|
||||
antopie/css
|
||||
antopie/*.html
|
||||
!antopie/*.inc.html
|
||||
/docs
|
||||
/miraty
|
||||
.directory
|
||||
|
|
25
README.md
25
README.md
|
@ -4,25 +4,14 @@ Ceci est le code source du générateur de sites statiques qui créé le [site w
|
|||
|
||||
# Utilisation
|
||||
|
||||
Placer les pages dans `<site>/md/<page>.md`. Le format est principalement du Markdown Extra mais il est aussi possible de rajouter de l'HTML et du PHP. Elles sont ensuite transformées par `compil.php` en pages HTML statiques, placées dans `<site>/<page>.html`
|
||||
`compil.php <chemin du site> <destination> <nom du site>`
|
||||
|
||||
`compil.php <site> <destination>`
|
||||
|
||||
Avec `site` qui est le dossier contenant le site et pour `destination` :
|
||||
Avec `destination` :
|
||||
* Pour déployer en DNS en liant vers `page`, utiliser `dns`.
|
||||
* Pour déployer en Onion en liant vert `page`, utiliser `onion`.
|
||||
* Pour déployer en DNS en liant vert `page.html`, ignorer ce dernier argument.
|
||||
* Pour déployer en DNS en liant vert `page.html`, utiliser `local`.
|
||||
|
||||
Les droits d'écriture sont requis sur `<site>/css` et `temp/` par l'user qui exécute PHP.
|
||||
|
||||
`compil.php` va chercher à utiliser [static-compress](https://github.com/neosmart/static-compress) dans `/usr/local/bin/static-compress` pour compresser les fichiers CSS et HTML créés.
|
||||
|
||||
```
|
||||
$ cargo install static-compress
|
||||
$ sudo mv ~/.cargo/bin/static-compress /usr/local/bin/
|
||||
```
|
||||
|
||||
Exemple de commande pour tester le développement en local après avoir modifié le site : `php compil.php antopie local && python3 -m http.server -b 127.0.0.1 -d antopie`
|
||||
Exemple pour le site d'Antopie : `compil.php antopie local Antopie`
|
||||
|
||||
# Bibliothèques utilisées
|
||||
|
||||
|
@ -33,12 +22,6 @@ Le dossier `bibli` contient les dépendances incluses dans le générateur de si
|
|||
| less.php | Compilateur Less en PHP | https://github.com/wikimedia/less.php |
|
||||
| parsedown | Compilateur Markdown en PHP | https://parsedown.org |
|
||||
|
||||
Il y a aussi une dépendance spécifique au site d'Antopie :
|
||||
|
||||
| Nom | Description | Source |
|
||||
| --------- | ------------------- | ---------------------------------------- |
|
||||
| fontello | Pack d'icônes | http://fontello.com |
|
||||
|
||||
# Licence
|
||||
|
||||
Le générateur de sites web d'Antopie est un logiciel libre ; vous pouvez le diffuser et le modifier suivant les termes de la GNU Affero General Public License telle que publiée par la Free Software Foundation ; soit la version 3 de cette licence, soit (à votre convenance) une version ultérieure.
|
||||
|
|
40
antopie/end.inc.html
Normal file
40
antopie/end.inc.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
<footer class="antopie">
|
||||
<div class="liensfooter centre">
|
||||
<div class="lienfooter">
|
||||
<a href="<?php formerUrlLocale("contact"); ?>" class="bouton">
|
||||
Me contacter
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php if (DESTINATION === "onion") { ?>
|
||||
|
||||
<div class="lienfooter">
|
||||
<a href="https://antopie.org/<?= $pathParts['filename'] ?>" class="bouton">
|
||||
Accès <abbr title="Domain Name System">DNS</abbr>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<div class="lienfooter">
|
||||
<a href="http://antopieee25qeh4bvllwomq5pzrjmpvldbn2b653okyopkq5h7f7ilad.onion/<?= $pathParts['filename'] ?>" class="bouton">
|
||||
Accès Onion
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<div class="interlude">
|
||||
<div class="traitinterlude">
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="textefooter">
|
||||
Services auto-hébergés avec datalove à Paris.
|
||||
<br>
|
||||
Le <a href="<?php echo clearnetOrOnion("https://code.antopie.org", "http://antcode5h4tntfei362x7eydifyxdjskjisv5pezk2othlh7oho2zhyd.onion"); ?>/miraty/web">code source de ce site</a> est publié sous <abbr title="GNU Affero General Public License version 3 ou toute version ultérieure"><a href="LICENSE.html">AGPLv3</a>+</abbr>.
|
||||
<br>
|
||||
Kopimi · <a href="<?= $pathParts['filename'] ?>.md">Document source</a>
|
||||
</div>
|
||||
</footer>
|
6
antopie/head.inc.html
Normal file
6
antopie/head.inc.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
<link rel="icon" type="image/webp" href="img/icons/16.webp" sizes="16x16">
|
||||
<link rel="icon" type="image/webp" href="img/icons/32.webp" sizes="32x32">
|
||||
<link rel="icon" type="image/webp" href="img/icons/64.webp" sizes="64x64">
|
||||
<link rel="icon" type="image/webp" href="img/icons/128.webp" sizes="128x128">
|
||||
<link rel="icon" type="image/webp" href="img/icons/256.webp" sizes="256x256">
|
||||
<link rel="icon" type="image/webp" href="img/icons/512.webp" sizes="512x512">
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
@ -2,7 +2,7 @@
|
|||
|
||||
Antopie est hostile à la propagation de contenus droitistes, et est susceptible d'appliquer une modération en conséquence.
|
||||
|
||||
Le terme droitiste peut par exemple comprendre *essentialiste*, *spéciste*, *genriste*, *raciste*, *nationaliste*, *autoritariste*, *capitaliste*, *propriétariste*, *productiviste*, *capacitiste*, *socio-normativiste*, *théiste*, *spiritualiste* ou *conspirationniste*.
|
||||
Le terme droitiste peut par exemple comprendre *essentialiste*, *spéciste*, *socionormativiste*, *genriste*, *masculiniste*, *hétérosexualiste*, *raciste*, *nationaliste*, *autoritariste*, *capitaliste*, *propriétariste*, *productiviste*, *théiste*, *spiritualiste* ou *conspirationniste*.
|
||||
|
||||
Ceci a été exprimé plus dans le but de guider les personnes dans leur choix de service avant leur établissement sur Antopie que de limiter l'expression des personnes qui sont déjà dessus. Aussi, si vous êtes d'accord avec ce qui est dit dans ce manifeste, vous ne devriez pas avoir besoin de vérifier la compatibilité de tout ce que vous dites avec. La modération sur Antopie est faite avec bienveillance et est ouverte à discussion. L'immense majorité des contenus retirés d'Antopie sont du spam ou sont publiés par des personnes n'ayant pas lu ce manifeste.
|
||||
|
||||
|
|
143
antopie/style.less
Normal file
143
antopie/style.less
Normal file
|
@ -0,0 +1,143 @@
|
|||
|
||||
|
||||
.action::before {
|
||||
content: "➡ ";
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
grid-gap: 30px;
|
||||
|
||||
@media (min-width: 2500px) {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (min-width: 3000px) {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 1500px) {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.metaService {
|
||||
margin: 6px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.metasService {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
.logoService {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.elLogoServ {
|
||||
max-width: 150px;
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.descService {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.domService {
|
||||
font-family: monospace;
|
||||
overflow-wrap: anywhere;
|
||||
margin-top: -6px;
|
||||
font-size: 0.8em;
|
||||
@media @light {
|
||||
color: @darkerColor;
|
||||
}
|
||||
@media @dark {
|
||||
color: @lightlessColor;
|
||||
}
|
||||
}
|
||||
|
||||
#lienHeader {
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
padding-bottom: 20px;
|
||||
margin-left: 35px;
|
||||
margin-right: 35px;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
padding: 0px;
|
||||
margin-top: 20px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
footer.antopie {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.logofooter {
|
||||
padding-left: 6%;
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.interlude {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.traitinterlude > hr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.traitinterlude {
|
||||
border-top: 2px gray dashed;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
|
||||
.liensfooter {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.lienfooter {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
h1.titreService {
|
||||
font-size: 1.3em;
|
||||
text-align: center;
|
||||
margin: 0px;
|
||||
padding-bottom: 0px;
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
|
||||
.basfooter {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.logofooter {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
}
|
142
compil.php
142
compil.php
|
@ -1,20 +1,48 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
if (php_sapi_name() === "cli") {
|
||||
define("SITE", $argv[1]);
|
||||
if (php_sapi_name() !== "cli")
|
||||
exit("Must be run from CLI");
|
||||
|
||||
define("FIND", "/usr/bin/find");
|
||||
define("GZIP", "/usr/bin/gzip");
|
||||
|
||||
define("ROOT", dirname($_SERVER['SCRIPT_FILENAME']));
|
||||
define("SITE", $argv[1]);
|
||||
if (isset($argv[2]))
|
||||
define("DESTINATION", $argv[2]);
|
||||
else
|
||||
define("DESTINATION", "local");
|
||||
|
||||
require "bibli/parsedown/Parsedown.php";
|
||||
require "bibli/parsedown-extra/ParsedownExtra.php";
|
||||
if (isset($argv[3]))
|
||||
define("SITE_TITLE", $argv[3]);
|
||||
else
|
||||
define("SITE_TITLE", SITE);
|
||||
|
||||
exec("/usr/bin/find " . SITE . " -name '*.gmi' -o -name '*.md'", $pages);
|
||||
require ROOT . "/bibli/parsedown/Parsedown.php";
|
||||
require ROOT . "/bibli/parsedown-extra/ParsedownExtra.php";
|
||||
|
||||
require "inc/url.php";
|
||||
// Less > CSS
|
||||
require ROOT . "/bibli/less.php/lib/Less/Autoloader.php";
|
||||
Less_Autoloader::register();
|
||||
$options = array('cache_dir' => SITE . '/css', 'compress' => true);
|
||||
|
||||
foreach ($pages as $page) {
|
||||
if (file_exists(SITE . "/style.less"))
|
||||
$lessFiles = array(ROOT . '/style.less' => '', SITE . '/style.less' => '');
|
||||
else
|
||||
$lessFiles = array(ROOT . '/style.less' => '');
|
||||
|
||||
$pathParts = pathinfo($page);
|
||||
define("CSS_FILENAME", Less_Cache::Get($lessFiles, $options));
|
||||
|
||||
// Convert Gemtext to Markdown
|
||||
exec(FIND . " " . SITE . " -name '*.gmi' -o -name '*.md'", $pages);
|
||||
|
||||
require "inc/url.php";
|
||||
|
||||
foreach ($pages as $page) {
|
||||
|
||||
$pathParts = pathinfo($page);
|
||||
|
||||
// Convert Gemtext to Markdown
|
||||
if ($pathParts['extension'] === "gmi") {
|
||||
$gmilines = explode("\n", file_get_contents($page));
|
||||
|
||||
if (substr($gmilines[0], 0, 2) === "# ")
|
||||
|
@ -26,9 +54,18 @@ if (php_sapi_name() === "cli") {
|
|||
if (substr($line, 0, 2) === "=>") {
|
||||
preg_match("/=> +(.[^ ]+)/", $line, $lnUrl);
|
||||
preg_match("/=> +.[^ ]+ +(.+)/", $line, $lnTitle);
|
||||
|
||||
// Escape Markdown special characters
|
||||
$mdSpecial = array("[", "]", "(", ")");
|
||||
$htmlEntities = array("[", "]", "(", ")");
|
||||
$lnUrl[1] = str_replace($mdSpecial, $htmlEntities, $lnUrl[1]);
|
||||
|
||||
$urlPathParts = pathinfo(parse_url($lnUrl[1], PHP_URL_PATH));
|
||||
|
||||
// .gmi > .md for local links
|
||||
if (!str_contains($lnUrl[1], ":") AND $urlPathParts['extension'] === "gmi") // If it's a local link
|
||||
$lnUrl[1] = $urlPathParts['dirname'] . "/" . $urlPathParts['filename'] . ".md";
|
||||
|
||||
if (isset($lnTitle[1])) {
|
||||
$lnTitle[1] = str_replace($mdSpecial, $htmlEntities, $lnTitle[1]);
|
||||
$gmilines[$key] = "[" . $lnTitle[1] . "](" . $lnUrl[1] . ")";
|
||||
|
@ -41,47 +78,52 @@ if (php_sapi_name() === "cli") {
|
|||
foreach ($gmilines as $line) {
|
||||
$code = $code . "\n" . $line;
|
||||
}
|
||||
|
||||
// pages/exemple.md > temp/exemple.temp
|
||||
// Exécute le PHP vers du HTML
|
||||
ob_start();
|
||||
eval("?>" . $code);
|
||||
$contenuPage = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
// temp/exemple.temp > temp2/exemple.temp2
|
||||
// Compile le Markdown vers du HTML
|
||||
$Parsedown = new ParsedownExtra;
|
||||
$Parsedown = $Parsedown->setUrlsLinked(false);
|
||||
$Parsedown = $Parsedown->setMarkupEscaped(false);
|
||||
$Parsedown = $Parsedown->setBreaksEnabled(true);
|
||||
$contenuPage = $Parsedown->text($contenuPage);
|
||||
|
||||
// temp2/exemple.temp2 > exemple.html
|
||||
// Ajoute header et footer au HTML
|
||||
ob_start();
|
||||
|
||||
require "inc/debut.php";
|
||||
if ($pathParts['filename'] === "index") {
|
||||
echo "<div class='centre'>";
|
||||
} else {
|
||||
echo "<article>";
|
||||
}
|
||||
echo $contenuPage;
|
||||
if ($pathParts['filename'] === "index") {
|
||||
echo "</div>";
|
||||
} else {
|
||||
echo "</article>";
|
||||
}
|
||||
require "inc/footer.php";
|
||||
file_put_contents($pathParts['dirname'] . "/" . $pathParts['filename'] . ".html", ob_get_contents());
|
||||
ob_end_clean();
|
||||
|
||||
file_put_contents($pathParts['dirname'] . "/" . $pathParts['filename'] . ".md", $code);
|
||||
}
|
||||
|
||||
// exemple.html > exemple.html.gz
|
||||
// Compresse les fichiers textes statiques HTML & CSS
|
||||
exec('/usr/local/bin/static-compress -c zopfli "' . SITE . '/*.html" "' . SITE . '/*.js" "' . SITE . '/css/*.css"');
|
||||
} else {
|
||||
exit("Must be run from CLI");
|
||||
|
||||
// Execute PHP code
|
||||
ob_start();
|
||||
eval("?>" . file_get_contents($pathParts['dirname'] . "/" . $pathParts['filename'] . ".md"));
|
||||
$pageContent = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
|
||||
// Compile Markdown to HTML with Parsedown
|
||||
$Parsedown = new ParsedownExtra;
|
||||
$Parsedown = $Parsedown->setUrlsLinked(false);
|
||||
$Parsedown = $Parsedown->setMarkupEscaped(false);
|
||||
$Parsedown = $Parsedown->setBreaksEnabled(true);
|
||||
$pageContent = $Parsedown->text($pageContent);
|
||||
|
||||
|
||||
// .md > .html for local links
|
||||
$pageContent = preg_replace('#<a href="(?!.*:)(.*)\.md">#', '<a href="$1.html">', $pageContent);
|
||||
|
||||
|
||||
// Add header and footer to HTML
|
||||
|
||||
ob_start();
|
||||
|
||||
require "inc/debut.php";
|
||||
if ($pathParts['filename'] === "index") {
|
||||
echo "<div class='centre'>";
|
||||
} else {
|
||||
echo "<article>";
|
||||
}
|
||||
echo $pageContent;
|
||||
if ($pathParts['filename'] === "index") {
|
||||
echo "</div>";
|
||||
} else {
|
||||
echo "</article>";
|
||||
}
|
||||
require "inc/footer.php";
|
||||
file_put_contents($pathParts['dirname'] . "/" . $pathParts['filename'] . ".html", ob_get_contents());
|
||||
ob_end_clean();
|
||||
|
||||
|
||||
// Gzip compression
|
||||
exec(GZIP . " --keep --fast --force " . $pathParts['dirname'] . "/" . $pathParts['filename'] . ".html");
|
||||
}
|
||||
|
||||
exec(GZIP . " --keep --fast --force " . SITE . "/css/" . CSS_FILENAME);
|
||||
|
|
|
@ -3,59 +3,33 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title><?php
|
||||
if (!is_null($title))
|
||||
echo $title . " · Antopie";
|
||||
if (isset($title) AND !is_null($title))
|
||||
echo $title . " · " . SITE_TITLE;
|
||||
else
|
||||
echo "Antopie";
|
||||
echo SITE_TITLE;
|
||||
?></title>
|
||||
<meta name="distribution" content="global">
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link type="text/css" rel="stylesheet" href="/css/<?= CSS_FILENAME ?>">
|
||||
<?php
|
||||
require_once 'bibli/less.php/lib/Less/Autoloader.php';
|
||||
Less_Autoloader::register();
|
||||
|
||||
$options = array('cache_dir' => SITE . '/css', 'compress' => true);
|
||||
$lessFiles = array('style.less' => '');
|
||||
$cssFileName = Less_Cache::Get($lessFiles, $options);
|
||||
if (file_exists(SITE . "/head.inc.html"))
|
||||
echo file_get_contents(SITE . "/head.inc.html");
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/<?= $cssFileName ?>">
|
||||
<?php if (SITE == "antopie") { ?>
|
||||
<link rel="icon" type="image/webp" href="img/icons/16.webp" sizes="16x16">
|
||||
<link rel="icon" type="image/webp" href="img/icons/32.webp" sizes="32x32">
|
||||
<link rel="icon" type="image/webp" href="img/icons/64.webp" sizes="64x64">
|
||||
<link rel="icon" type="image/webp" href="img/icons/128.webp" sizes="128x128">
|
||||
<link rel="icon" type="image/webp" href="img/icons/256.webp" sizes="256x256">
|
||||
<link rel="icon" type="image/webp" href="img/icons/512.webp" sizes="512x512">
|
||||
<?php } ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<?php
|
||||
|
||||
if (SITE === "antopie") {
|
||||
|
||||
?>
|
||||
<a id="lienHeader" href=".">
|
||||
<a id="lienHeader" href="/">
|
||||
<div class="logo">
|
||||
<img src="img/antopiev5-500.webp" width="500" height="94" alt="Antopie" />
|
||||
<?php
|
||||
if (file_exists(SITE . "/img/logo.webp"))
|
||||
echo '<img src="img/logo.webp" ' . getimagesize(SITE . "/img/logo.webp")[3] . ' alt="' . SITE_TITLE . '" />';
|
||||
else
|
||||
echo SITE_TITLE;
|
||||
?>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<?php
|
||||
|
||||
} else {
|
||||
|
||||
?>
|
||||
<a id="lienHeader" href=".">
|
||||
<div class="logo"><?= SITE ?></div>
|
||||
</a>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
|
|
@ -1,55 +1,10 @@
|
|||
|
||||
</main>
|
||||
<?php if (SITE === "antopie") { ?>
|
||||
<footer class="antopie">
|
||||
<div class="liensfooter centre">
|
||||
<div class="lienfooter">
|
||||
<a href="<?php formerUrlLocale("contact"); ?>" class="bouton">
|
||||
Me contacter
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php if (DESTINATION === "onion") { ?>
|
||||
<?php
|
||||
if (file_exists(SITE . "/end.inc.html"))
|
||||
require SITE . "/end.inc.html";
|
||||
?>
|
||||
|
||||
<div class="lienfooter">
|
||||
<a href="https://antopie.org/<?= $pathParts['filename'] ?>" class="bouton">
|
||||
Accès <abbr title="Domain Name System">DNS</abbr>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<div class="lienfooter">
|
||||
<a href="http://antopieee25qeh4bvllwomq5pzrjmpvldbn2b653okyopkq5h7f7ilad.onion/<?= $pathParts['filename'] ?>" class="bouton">
|
||||
Accès Onion
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<div class="interlude">
|
||||
<div class="traitinterlude">
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="textefooter">
|
||||
Services auto-hébergés avec datalove à Paris.
|
||||
<br>
|
||||
Le <a href="<?php echo clearnetOrOnion("https://code.antopie.org", "http://antcode5h4tntfei362x7eydifyxdjskjisv5pezk2othlh7oho2zhyd.onion"); ?>/miraty/web">code source de ce site</a> est publié sous <abbr title="GNU Affero General Public License version 3 ou toute version ultérieure"><a href="LICENSE.html">AGPLv3</a>+</abbr>.
|
||||
<br>
|
||||
Kopimi · <a href="<?= $pathParts['filename'] ?>.md">Document source</a>
|
||||
</div>
|
||||
</footer>
|
||||
<?php } else if (SITE === "docs") { ?>
|
||||
<footer>
|
||||
Site créé avec Base Antopie
|
||||
<br>
|
||||
Documentation sous <abbr title="Creative Commons Attribution et Partage dans les mêmes conditions">CC BY-SA</abbr>.
|
||||
<br>
|
||||
<a href="<?= $pathParts['filename'] ?>.md">Source du contenu</a> | Kopimi
|
||||
</footer>
|
||||
|
||||
<?php } ?>
|
||||
</body>
|
||||
</html>
|
||||
|
|
147
style.less
147
style.less
|
@ -174,7 +174,7 @@ strong {
|
|||
|
||||
pre, code, var, samp {
|
||||
font-family: monospace;
|
||||
overflow: scroll;
|
||||
overflow: scroll;
|
||||
padding: 5px;
|
||||
border-radius: 10px;
|
||||
font-style: normal;
|
||||
|
@ -216,77 +216,6 @@ p {
|
|||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.action::before {
|
||||
content: "➡ ";
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
grid-gap: 30px;
|
||||
|
||||
@media (min-width: 2500px) {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (min-width: 3000px) {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 1500px) {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.metaService {
|
||||
margin: 6px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.metasService {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
.logoService {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.elLogoServ {
|
||||
max-width: 150px;
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.descService {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.domService {
|
||||
font-family: monospace;
|
||||
overflow-wrap: anywhere;
|
||||
margin-top: -6px;
|
||||
font-size: 0.8em;
|
||||
@media @light {
|
||||
color: @darkerColor;
|
||||
}
|
||||
@media @dark {
|
||||
color: @lightlessColor;
|
||||
}
|
||||
}
|
||||
|
||||
.centre {
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
|
@ -315,75 +244,23 @@ article {
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.interlude {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.traitinterlude > hr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.traitinterlude {
|
||||
border-top: 2px gray dashed;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
footer.antopie {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.logofooter {
|
||||
padding-left: 6%;
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.liensfooter {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.lienfooter {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
/* ----------------------- HEADER ------------------------ */
|
||||
|
||||
#lienHeader {
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
padding-bottom: 20px;
|
||||
margin-left: 35px;
|
||||
margin-right: 35px;
|
||||
|
||||
@media (max-width: 600px) {
|
||||
padding: 0px;
|
||||
margin-top: 20px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
// ----- TITRES -----
|
||||
// ----- TITLES -----
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: normal;
|
||||
line-height: 100%;
|
||||
}
|
||||
|
||||
h1:not(.titreService) {
|
||||
h1 {
|
||||
font-size: 250%;
|
||||
text-align: center;
|
||||
margin: 0px;
|
||||
|
@ -391,12 +268,6 @@ h1:not(.titreService) {
|
|||
padding-top: 15px;
|
||||
}
|
||||
|
||||
h1.titreService {
|
||||
font-size: 1.3em;
|
||||
text-align: center;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 200%;
|
||||
margin-top: 50px;
|
||||
|
@ -422,15 +293,3 @@ h5 {
|
|||
h6 {
|
||||
font-size: 107%;
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
|
||||
.basfooter {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.logofooter {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Reference in a new issue