remove vagrant + index and blog page

Signed-off-by: Superkooka <aymeric.gueracague@gmail.com>
This commit is contained in:
Aymeric GUERACAGUE 2023-12-11 16:04:33 +01:00
parent 67053a4251
commit 8e5880a022
7 changed files with 248 additions and 33 deletions

5
.gitignore vendored
View File

@ -1,3 +1,6 @@
.idea
.vscode
public/~blog/**/*
public/~notes/**/*
public/flux.rss
@ -7,5 +10,3 @@ raw/~blog/**/*
raw/~notes/**/*
!.gitkeep
ubuntu-bionic-18.04-cloudimg-console.log

31
Vagrantfile vendored
View File

@ -1,31 +0,0 @@
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provision "shell" do |s|
s.inline = <<-SHELL
sudo apt update -y
sudo apt install -y build-essential
# Installation of Janet from source
git clone https://github.com/janet-lang/janet.git
cd janet
sudo make
sudo make test
sudo cp build/janet /usr/local/bin/
cd ..
# Installation of Perl from source
git clone https://github.com/Perl/perl5
cd perl5
./Configure -des -Dprefix=/usr/local -Dusedevel
make test
make install
SHELL
end
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 4
end
end

View File

@ -0,0 +1,85 @@
#!/usr/bin/env janet
(defn read-from-file [file-path]
(let [f (file/open file-path :r)
content (file/read f :all)]
(file/close f)
content))
(def md-to-ast
"A custom markdown flavored grammar"
~{
# Symbole
:end-of-line (* (? "\r") "\n")
:space "\u0020"
:code-block-tag "```"
:list-item-starter (+ "*" "-")
:paragraph (some (if-not :end-of-line 1))
# Block
:heading (cmt (* (<- (between 1 6 "#")) :space (<- :paragraph)),|[:heading (length $0) $1])
:hr (cmt (at-least 3 (+ "-" "_" "*")),|[:hr])
:code-block (cmt (* :code-block-tag (? (<- :paragraph)) :end-of-line (<- (some (if-not :code-block-tag 1))) :code-block-tag),|[:code-block $0 $1])
:quote (cmt (* ">" :space (<- :paragraph)),|[:quote $0])
:list-item (cmt (* :list-item-starter :space (<- :paragraph)),|[:list-item $0])
:list (cmt (some (* :list-item (? :end-of-line))),|[:list $&])
# :table-cel ""
:table-row (* "|" (cmt (some (* (<- (some (if-not "|" 1))) "|")),|[:table-row (map string/trim $&)]) :end-of-line)
:table-delimiter (* "|" (cmt (some (* (any :space) (at-least 3 "-") (any :space) "|")),|[:delimiter]) :end-of-line) # Delimiter Row <https://github.github.com/gfm/#delimiter-row>
:table # <https://github.github.com/gfm/#table>
(cmt (*
:table-row
:table-delimiter
(some :table-row)),|[:table $&])
:line (cmt (<- :paragraph),|[:line $0])
:block (+ :heading
:hr
:code-block
:quote
:list
:table
:table-row
:line
:end-of-line)
:main (some (* :block (? :end-of-line)))})
(defn to-html
"Convert AST to HTML"
[ast]
(if ast
(string/join
(map
|(match $0
[:heading level value]
(string "<h" level ">" value "</h" level ">")
[:quote value]
(string "<blockquote>" value "</blockquote>")
[:list items]
(string/join @["<ul>"
;(map |(string "<li>" $0 "</li>") (get items 0))
"</ul>"] "\n")
[:line value]
(string "<p>" value "</p>")
[:code-block lang value]
(string "<pre><code>" value "</code></pre>")
_
(error (string "Invalid symbol: " (get $0 0))))
ast) "\n" )))
(defn pp-ast
"Pretty prints the Mardown AST (as provided by (peg/match md-to-ast))"
[ast]
(if ast
(do
(print "[")
(map |(printf "\t%q" $0) ast)
(print "]"))))
(defn main [bin & args]
(pp-ast (peg/match md-to-ast (read-from-file "raw/~notes/blog.md"))))
# (print (to-html (peg/match md-to-ast (read-from-file "raw/~notes/blog.md")))))

View File

63
index.html Normal file
View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
'sans': ['"Source Sans 3"'],
},
}
}
}
</script>
<title>Meow</title>
</head>
<body class="flex flex-row my-8">
<nav class="my-8 ml-16 text-xl">
<div class="flex flex-row">
<ul class="flex flex-col mr-6">
<li class="p-1 w-max"><a href="index.html">Blog</a></li>
<li class="p-1 w-max"><a href="~blog/sample.html">Portfolio</a></li>
<li class="p-1 w-max"><a href="~blog/sample.html">À Propos de moi</a></li>
</ul>
<span class="after:content-[''] after:w-[1px] after:bg-black after:my-2 after:h-4/5 after:block"></span>
</div>
</nav>
<main class="my-8 ml-24">
<section class="flex flex-col mb-4">
<time class="text-slate-600 ">Il y a un jour</time>
<a class="hover:underline" href="~blog/sample.html">BCrypt, MD5, Argon2Id... Quoi choisir pour hasher ses mots de passe</a>
</section>
<section class="flex flex-col mb-4">
<time class="text-slate-600 ">Il y a une semaine</time>
<a class="hover:underline" href="~blog/sample.html">Les intermittents de laudiovisuel en grève : « On demande juste le rattrapage de nos salaires »</a>
</section>
<section class="flex flex-col mb-4">
<time class="text-slate-600 ">Le 07/11/2023</time>
<a class="hover:underline" href="~blog/sample.html">Laffaire du sénateur Guerriau menace tout un « système » local</a>
</section>
<section class="flex flex-col mb-4">
<time class="text-slate-600 ">Le 12/05/2022</time>
<a class="hover:underline" href="~blog/sample.html">En Israël, les proches des otages à Gaza militent contre loubli</a>
</section>
</main>
<footer class="w-full fixed m-1 left-0 bottom-0 flex justify-center">
<a class="mx-1 underline" href="#">Flux RSS</a>
<span class="mx-1" >&bull;</span>
<a class="mx-1 underline" href="#">Inspirer de Sidey</a>
<span class="mx-1" >&bull;</span>
<a class="mx-1 underline" href="#">GitHub</a>
<span class="mx-1" >&bull;</span>
<a class="mx-1 underline" href="#">Instagram</a>
</footer>
</body>
</html>

View File

97
sample.html Normal file
View File

@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
'sans': ['"Source Sans 3"'],
},
}
}
}
</script>
<title>Meow</title>
</head>
<body class="flex flex-row my-8">
<nav class="my-8 ml-16 text-xl">
<div class="flex flex-row">
<ul class="flex flex-col mr-6">
<li class="p-1 w-max"><a href="../index.html">Blog</a></li>
<li class="p-1 w-max"><a href="index.html">Portfolio</a></li>
<li class="p-1 w-max"><a href="index.html">À Propos de moi</a></li>
</ul>
<span class="after:content-[''] after:w-[1px] after:bg-black after:my-2 after:h-4/5 after:block"></span>
</div>
</nav>
<main class="my-8 ml-24 mr-[38rem]">
<h1 class="text-3xl my-4">Suspendisse quam dolor, sollicitudin nec velit sodales, tempus iaculis elit.</h1>
<h2 class="text-xl text-[#747474] italic my-4">Neque porro quisquam est qui dolorem ipsum quia dolor sit amet,
consectetur, adipisci velit...</h2>
<div class="text-[#404852]">
<p class="my-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus porta erat non maximus
porttitor. Etiam massa felis,
luctus at eros nec, vestibulum sodales dolor. Donec pellentesque, tellus eu pharetra fringilla, arcu
sapien fringilla
nulla, eget gravida arcu mi eu diam. In hac habitasse platea dictumst. Vestibulum neque mauris, faucibus
eget hendrerit
molestie, ultrices sed purus. In porttitor scelerisque euismod. Sed ultrices efficitur interdum.
Maecenas massa urna,
lobortis ac arcu ac, hendrerit ultricies turpis. Nulla in consectetur justo, sit amet elementum lacus.
</p>
<p class="my-3">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vitae consequat massa. Aliquam
egestas pellentesque
elementum. Ut efficitur justo eu libero vestibulum dapibus. Etiam vitae turpis nunc. Maecenas sit amet
elementum dolor.
In luctus tellus non rhoncus dictum. Mauris laoreet velit velit, in pellentesque enim auctor a. Nulla at
lacus vel magna
lacinia tincidunt. Ut aliquet suscipit tincidunt.
Nulla arcu tortor, aliquet quis congue in, vestibulum vitae arcu. Duis nisi ex, tincidunt quis
condimentum in,
sollicitudin quis nisi. In fringilla ultricies venenatis. Aliquam a quam eros. Curabitur eget tincidunt
orci. Quisque
hendrerit porta augue, eget venenatis diam pellentesque sed. Sed pellentesque vitae urna blandit
lobortis. Sed tellus
nulla, rutrum rhoncus ante at, lacinia efficitur augue. Pellentesque habitant morbi tristique senectus
et netus et
malesuada fames ac turpis egestas. Nam eget dolor ut augue commodo lacinia et at dolor. Sed ut vehicula
lacus. Integer
semper vehicula dignissim.
</p>
<h3 class="text-black text-xl">Donec vitae nisl in sem viverra cursus.</h3>
<p class="my-3">Suspendisse dictum urna nunc, non laoreet tortor vulputate eget. Praesent sit amet risus a
lacus eleifend bibendum.
Vivamus et placerat tellus, ut tristique nibh. Maecenas porttitor ex ac turpis interdum iaculis. Etiam
egestas erat non
metus vehicula, viverra vulputate est condimentum. Interdum et malesuada fames ac ante ipsum primis in
faucibus. Nam
vehicula diam sed pharetra malesuada. Etiam non libero et risus viverra volutpat. Donec in justo tortor.
Mauris gravida
finibus sem eget lacinia. Praesent lacinia posuere lacus eget dignissim. Morbi tempus mauris id ante
aliquet finibus.
Quisque ut dignissim neque, ut accumsan urna. Morbi interdum erat eu erat tempus finibus.
</p>
</div>
</main>
<footer class="w-full fixed m-1 left-0 bottom-0 flex justify-center">
<a class="mx-1 underline" href="#">Flux RSS</a>
<span class="mx-1">&bull;</span>
<a class="mx-1 underline" href="#">Inspirer de Sidey</a>
<span class="mx-1">&bull;</span>
<a class="mx-1 underline" href="#">GitHub</a>
<span class="mx-1">&bull;</span>
<a class="mx-1 underline" href="#">Instagram</a>
</footer>
</body>
</html>