Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Mohamed Hernouf
www
Commits
0ed30bf4
Commit
0ed30bf4
authored
Nov 08, 2021
by
Dario Pinto
Browse files
add [/tag/ -> /blog/tag/] redirection, fix CI error, add bash to .yml
parent
bd33cc8c
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
159 additions
and
6 deletions
+159
-6
.gitlab-ci.yml
.gitlab-ci.yml
+1
-1
src/content/blog/2020_05_19_ocaml_solidity_parser_with_menhir.md
...tent/blog/2020_05_19_ocaml_solidity_parser_with_menhir.md
+1
-1
src/content/blog/2020_06_09_a_dune_love_story_from_liquidity_to_love.md
...og/2020_06_09_a_dune_love_story_from_liquidity_to_love.md
+1
-1
src/server.ml
src/server.ml
+6
-1
src/urls.ml
src/urls.ml
+150
-2
No files found.
.gitlab-ci.yml
View file @
0ed30bf4
...
...
@@ -18,7 +18,7 @@ build:
stage
:
build
image
:
registry.ocamlpro.com/ocamlpro/ocaml-docker-images:4.12
before_script
:
-
sudo apk add openssl-libs-static
-
sudo apk add
bash
openssl-libs-static
-
if [ -d _opam ]; then opam install . --deps-only --locked --depext-only -td;
else opam switch create . ocaml-system --deps-only --locked -td; fi
script
:
...
...
src/content/blog/2020_05_19_ocaml_solidity_parser_with_menhir.md
View file @
0ed30bf4
...
...
@@ -2,7 +2,7 @@ title=A Solidity parser in OCaml with Menhir
authors=David Declerck
date=2020-05-19
category=Blockchains
tags=blockains,solidity,parser
tags=block
ch
ains,solidity,parser
<p
align=
"center"
>
<a
href=
"/blog/2020_05_19_ocaml_solidity_parser_with_menhir"
>
...
...
src/content/blog/2020_06_09_a_dune_love_story_from_liquidity_to_love.md
View file @
0ed30bf4
...
...
@@ -2,7 +2,7 @@ title=A Dune Love story: From Liquidity to Love
authors=Steven De Oliveira
date=2020-06-09
category=Blockchains
tags=blockchain,smart contracts,love,liquidity
tags=blockchain
s
,smart contracts,love,liquidity
<div
align=
"center"
>
...
...
src/server.ml
View file @
0ed30bf4
...
...
@@ -208,6 +208,11 @@ let () =
let
something
=
Dream
.
param
"something"
request
in
let
url
=
Format
.
sprintf
"%s/"
something
in
redirect_loader
""
url
request
)
(* REDIRECTS TAGS PAGES WITH TRAILING / *)
;
Dream
.
get
"/tag/:something/"
(
fun
request
->
let
something
=
Dream
.
param
"something"
request
in
let
url
=
Format
.
sprintf
"tag/%s/"
something
in
redirect_loader
""
url
request
)
(* REDIRECTS FR STATIC PAGES WITH TRAILING / *)
;
Dream
.
get
"/fr/:something/"
(
fun
request
->
let
something
=
Dream
.
param
"something"
request
in
...
...
@@ -250,7 +255,7 @@ let () =
let
article
=
Dream
.
param
"article"
request
in
let
url
=
Format
.
sprintf
"fr/%s/%s/%s/%s/"
year
month
day
article
in
redirect_loader
""
url
request
)
(* REDIRECTS ALL URLS WITH NO TAILING / *)
(* REDIRECTS ALL URLS WITH NO T
R
AILING / *)
;
Dream
.
get
"/**"
(
Dream
.
static
~
loader
:
redirect_loader
""
)
]
@@
Dream
.
not_found
src/urls.ml
View file @
0ed30bf4
...
...
@@ -106,7 +106,151 @@ let old_to_new =
;
(
"/fr/category/ocaml-fr/"
,
"/blog/category/ocaml"
)
]
(*TAGS*)
@
[]
@
[
(
"/tag/3-12/"
,
"/blog/"
)
;
(
"/tag/4-01"
,
"/blog/"
)
;
(
"/tag/4-01-en/"
,
"/blog/"
)
;
(
"/tag/4-02/"
,
"/blog/"
)
;
(
"/tag/4-02-en/"
,
"/blog/"
)
;
(
"/tag/4-08-1/"
,
"/blog/"
)
;
(
"/tag/4-10-en/"
,
"/blog/"
)
;
(
"/tag/4-10/"
,
"/blog/"
)
;
(
"/tag/alt-ergo/"
,
"/blog/tag/altergo"
)
;
(
"/tag/alt-ergo-en/"
,
"/blog/tag/altergo"
)
;
(
"/tag/alt-ergo-spider-web-en/"
,
"/blog/tag/altergo"
)
;
(
"/tag/alt-ergo-spider-web/"
,
"/blog/tag/altergo"
)
;
(
"/tag/backward-compatibility/"
,
"/blog/tag/backwardcompatibility"
)
;
(
"/tag/backward-compatibility-en/"
,
"/blog/tag/backwardcompatibility"
)
;
(
"/tag/blockchain/"
,
"/blog/tag/blockchains"
)
;
(
"/tag/blockchains/"
,
"/blog/tag/blockchains"
)
;
(
"/tag/blog/"
,
"/blog/tag/ocamlpro"
)
;
(
"/tag/build-manager/"
,
"/blog/"
)
;
(
"/tag/build-manager-en/"
,
"/blog/"
)
;
(
"/tag/bware-en/"
,
"/blog/"
)
;
(
"/tag/bytes/"
,
"/blog/"
)
;
(
"/tag/bytes-en/"
,
"/blog/"
)
;
(
"/tag/cheat-sheets/"
,
"/blog/tag/cheatsheets"
)
;
(
"/tag/cheat-sheets-en/"
,
"/blog/tag/cheatsheets"
)
;
(
"/tag/compiler/"
,
"/blog/tag/compiler"
)
;
(
"/tag/compiler-en/"
,
"/blog/tag/compiler"
)
;
(
"/tag/compiler-optimization-en/"
,
"/blog/tag/optimization"
)
;
(
"/tag/compiler-optimization/"
,
"/blog/tag/optimisation"
)
;
(
"/tag/cumulus/"
,
"/blog/tag/cumulus"
)
;
(
"/tag/cumulus-en/"
,
"/blog/tag/cumulus"
)
;
(
"/tag/devleopment-tools/"
,
"/blog/tag/developmenttools"
)
;
(
"/tag/devleopment-tools-en/"
,
"/blog/tag/developmenttools"
)
;
(
"/tag/dune-network/"
,
"/blog/tag/blockchains"
)
;
(
"/tag/editor-en/"
,
"/blog/tag/developmenttools"
)
;
(
"/tag/flambda2/"
,
"/blog/tag/flambda2"
)
;
(
"/tag/flambda2-en/"
,
"/blog/tag/flambda2"
)
;
(
"/tag/formal-methods/"
,
"/blog/category/formal_methods"
)
;
(
"/tag/functor-en/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/gc/"
,
"/blog/tag/gc"
)
;
(
"/tag/gc-en/"
,
"/blog/tag/gc"
)
;
(
"/tag/generic-syntax-extension-en/"
,
"/blog/tag/generic"
)
;
(
"/tag/generic-syntax-extension/"
,
"/blog/tag/generic"
)
;
(
"/tag/hacking-sessions/"
,
"/blog/tag/hackingsessions"
)
;
(
"/tag/hacking-sessions-en/"
,
"/blog/tag/hackingsessions"
)
;
(
"/tag/highlights/"
,
"/blog/tag/highlights"
)
;
(
"/tag/highlights-en/"
,
"/blog/tag/highlights"
)
;
(
"/tag/indentation-en/"
,
"/blog/tag/indentation"
)
;
(
"/tag/inlining-en/"
,
"/blog/tag/inlining"
)
;
(
"/tag/intel-backend/"
,
"/blog/tag/intel"
)
;
(
"/tag/intel-backend-en/"
,
"/blog/tag/intel"
)
;
(
"/tag/javascript/"
,
"/blog/tag/javascript"
)
;
(
"/tag/javascript-en/"
,
"/blog/tag/javascript"
)
;
(
"/tag/jfla/"
,
"/blog/tag/jfla"
)
;
(
"/tag/js_of_ocaml/"
,
"/blog/tag/javascript"
)
;
(
"/tag/js_of_ocaml-en/"
,
"/blog/tag/javascript"
)
;
(
"/tag/liquidity/"
,
"/blog/tag/liquidity"
)
;
(
"/tag/liquidity-fr/"
,
"/blog/tag/liquidity"
)
;
(
"/tag/love/"
,
"/blog/tag/love"
)
;
(
"/tag/memory/"
,
"/blog/tag/memory"
)
;
(
"/tag/memory-en/"
,
"/blog/tag/memory"
)
;
(
"/tag/memprof/"
,
"/blog/tag/memprof"
)
;
(
"/tag/memprof-en/"
,
"/blog/tag/memprof"
)
;
(
"/tag/multi-runtime/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/multi-runtime-en/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/namespaces-en/"
,
"/blog/tag/namespaces"
)
;
(
"/tag/ocaml/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocaml-en/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocaml-memory-profiler/"
,
"/blog/tag/profiler"
)
;
(
"/tag/ocamlpro/"
,
"/blog/category/ocamlpro"
)
;
(
"/tag/ocamlpro-en/"
,
"/blog/category/ocamlpro"
)
;
(
"/tag/ocamlres/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocamlres-en/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocamltop/"
,
"/blog/tag/ocamltop"
)
;
(
"/tag/ocamltop-en/"
,
"/blog/tag/ocamltop"
)
;
(
"/tag/ocp-cmicomp/"
,
"/blog/category/ocaml"
)
;
(
"/tag/ocp-cmicomp-en/"
,
"/blog/category/ocaml"
)
;
(
"/tag/ocp-indent-en/"
,
"/blog/tag/ocpindent"
)
;
(
"/tag/ocp-index/"
,
"/blog/tag/ocpindent"
)
;
(
"/tag/ocp-index-en/"
,
"/blog/tag/ocpindent"
)
;
(
"/tag/ocp-manager/"
,
"/blog/tag/ocpmanager"
)
;
(
"/tag/ocp-manager-en/"
,
"/blog/tag/ocpmanager"
)
;
(
"/tag/ocp-memprof/"
,
"/blog/tag/memprof"
)
;
(
"/tag/ocp-memprof-en/"
,
"/blog/tag/memprof"
)
;
(
"/tag/ocp-pack/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocp-pack-en/"
,
"/blog/tag/ocaml"
)
;
(
"/tag/ocsigen/"
,
"/blog/tag/ocsigen"
)
;
(
"/tag/ocsigen-en/"
,
"/blog/tag/ocsigen"
)
;
(
"/tag/opam/"
,
"/blog/tag/opam"
)
;
(
"/tag/opam-en/"
,
"/blog/tag/opam"
)
;
(
"/tag/opam-build/"
,
"/blog/tag/opam"
)
;
(
"/tag/opam-build-en/"
,
"/blog/tag/opam"
)
;
(
"/tag/opam-weather-services/"
,
"/blog/tag/weather"
)
;
(
"/tag/opam-weather-services-en/"
,
"/blog/tag/weather"
)
;
(
"/tag/optimization/"
,
"/blog/tag/optimization"
)
;
(
"/tag/optimization-en/"
,
"/blog/tag/optimization"
)
;
(
"/tag/packing/"
,
"/blog/tag/tooling"
)
;
(
"/tag/packing-en/"
,
"/blog/tag/tooling"
)
;
(
"/tag/plot/"
,
"/blog/tag/tezos"
)
;
(
"/tag/plot-en/"
,
"/blog/tag/tezos"
)
;
(
"/tag/private-en/"
,
"/blog/tag/private"
)
;
(
"/tag/profiler/"
,
"/blog/tag/profiler"
)
;
(
"/tag/profiler-en/"
,
"/blog/tag/profiler"
)
;
(
"/tag/profiling/"
,
"/blog/tag/profiling"
)
;
(
"/tag/profiling-en/"
,
"/blog/tag/profiling"
)
;
(
"/tag/release/"
,
"/blog/tag/release"
)
;
(
"/tag/release-en/"
,
"/blog/tag/release"
)
;
(
"/tag/rust/"
,
"/blog/tag/rust"
)
;
(
"/tag/safe-string/"
,
"/blog/tag/tooling"
)
;
(
"/tag/safe-string-en/"
,
"/blog/tag/tooling"
)
;
(
"/tag/scanf/"
,
"/blog/tag/scanf"
)
;
(
"/tag/scanf-en/"
,
"/blog/tag/scanf"
)
;
(
"/tag/scilab/"
,
"/blog/tag/tooling"
)
;
(
"/tag/scilab-en/"
,
"/blog/tag/tooling"
)
;
(
"/tag/smart-contract/"
,
"/blog/tag/smartcontracts"
)
;
(
"/tag/smart-contracts/"
,
"/blog/tag/smartcontracts"
)
;
(
"/tag/solidity/"
,
"/blog/tag/solidity"
)
;
(
"/tag/solver-en/"
,
"/blog/category/formal_methods"
)
;
(
"/tag/source-code/"
,
"/blog/tag/sourcecode"
)
;
(
"/tag/source-code-en/"
,
"/blog/tag/sourcecode"
)
;
(
"/tag/spark/"
,
"/blog/tag/altergo"
)
;
(
"/tag/spark-en/"
,
"/blog/tag/altergo"
)
;
(
"/tag/string-en/"
,
"/blog/tag/string"
)
;
(
"/tag/tezos-en/"
,
"/blog/tag/tezos"
)
;
(
"/tag/tools/"
,
"/blog/tag/tooling"
)
;
(
"/tag/tools-en/"
,
"/blog/tag/tooling"
)
;
(
"/tag/try-altergo/"
,
"/blog/tag/altergo"
)
;
(
"/tag/try-altergo-en/"
,
"/blog/tag/altergo"
)
;
(
"/tag/try-ocaml/"
,
"/blog/tag/tryocaml"
)
;
(
"/tag/try-ocaml-en/"
,
"/blog/tag/tryocaml"
)
;
(
"/tag/tryocaml/"
,
"/blog/tag/tryocaml"
)
;
(
"/tag/tzscan/"
,
"/blog/tag/tzscan"
)
;
(
"/tag/windows-en/"
,
"/blog/tag/windows"
)
;
(
"/tag/wxocaml/"
,
"/blog/tag/wxocaml"
)
;
(
"/tag/wxocaml-en/"
,
"/blog/tag/wxocaml"
)
;
(
"/tag/4-10-fr/"
,
"/blog/tag/bestfit"
)
;
(
"/tag/gc-fr/"
,
"/blog/tag/fr"
)
;
(
"/tag/ocaml-fr/"
,
"/blog/tag/fr"
)
;
(
"/tag/alt-ergo-fr/"
,
"/blog/tag/fr"
)
;
(
"/tag/smart-contracts-fr/"
,
"/blog/tag/fr"
)
;
(
"/tag/tezos-fr/"
,
"/blog/tag/fr"
)
;
(
"/tag/stat-memprof/"
,
"/blog/tag/memprof"
)
;
(
"/tag/memory-profiler/"
,
"/blog/tag/memprof"
)
;
(
"/tag/"
,
"/blog/"
)
]
(* BLOG *)
@
[
(
"/blog/"
,
"/blog"
)
;
(
"/fr/blog-fr/"
,
"/blog"
)
...
...
@@ -384,3 +528,7 @@ let redirection_hash =
|
Some
_new_url
->
Blog
.
error
(
Format
.
sprintf
"%s has a duplicate redirection."
oldu
)
)
old_to_new
;
tbl
let
find_tag
_given_tag
=
Format
.
printf
"YOOOOO@."
;
raise
Blog
.
ContentDoesntExistSoPleaseRaiseA404
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment