Compare commits

...

2 Commits

@ -0,0 +1 @@
use nix

3
.gitignore vendored

@ -1,4 +1,5 @@
_cache/
_site/
.stack-work/
.DS_Store
.direnv/
.stack-work/

@ -0,0 +1,19 @@
<!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 href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/rstrtt.css" />
<title>Newtype</title>
</head>
<body class="rstrtt">
<div class="main container">
<h1>
new<span class="red">t</span><span class="yellow">y</span><span class="green">p</span><span class="cyan">e</span><span class="purple" >6</span><span class="pink">4</span>
</h1>
$body$
</div>
</body>
</html>

@ -0,0 +1,2 @@
html{font-size:12px}*{-webkit-box-sizing:border-box;box-sizing:border-box;text-rendering:geometricPrecision}body{word-wrap:break-word;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;font-size:1rem;line-height:1.5rem;margin:0}h1,h2,h3,h4,h5,h6{line-height:1.3em}fieldset{border:none;margin:0;padding:0}pre{background-color:#fff;border:1px solid #ccc;margin:1.75rem 0;overflow:auto;padding:2rem}code[class*=language-],pre[class*=language-],pre code{font-weight:100;margin:1.75rem 0;text-shadow:none}p{color:#222}h1,h2,h3,h4,h5,h6,strong{color:#000}a{color:#00f;cursor:pointer}a,a:visited{-webkit-text-decoration:underline solid .1em;text-decoration:underline solid .1em}a:visited{color:purple}a:hover{background-color:#00f;color:#fff}a:hover:visited{background-color:purple}b{font-weight:700}em{font-style:italic}u{text-decoration:underline}.rstrtt,.rstrtt blockquote,.rstrtt code,.rstrtt em,.rstrtt h1,.rstrtt h2,.rstrtt h3,.rstrtt h4,.rstrtt h5,.rstrtt h6,.rstrtt strong{font-family:Fira Code,Jetbrains Mono;-webkit-font-feature-settings:"calt" 1;font-feature-settings:"calt" 1;margin:0;text-rendering:optimizeLegibility}.rstrtt h1{font-size:3rem}.rstrtt h2{font-size:2rem}.rstrtt h3{font-size:1.8rem}.rstrtt h4{font-size:1.6rem}.rstrtt h5{font-size:1.4rem}.rstrtt h6{font-size:1.2rem}.rstrtt,.rstrtt blockquote,.rstrtt code,.rstrtt em,.rstrtt strong{font-size:1rem}.rstrtt,.rstrtt blockquote,.rstrtt code,.rstrtt h1,.rstrtt h2,.rstrtt h3,.rstrtt h4,.rstrtt h5,.rstrtt h6{font-style:normal}.rstrtt blockquote,.rstrtt code,.rstrtt em,.rstrtt strong{line-height:20px}.rstrtt blockquote,.rstrtt code,.rstrtt footer,.rstrtt h1,.rstrtt h2,.rstrtt h3,.rstrtt h4,.rstrtt h5,.rstrtt h6,.rstrtt header,.rstrtt li,.rstrtt ol,.rstrtt p,.rstrtt section,.rstrtt ul{float:none;margin:0;padding:0}.rstrtt blockquote,.rstrtt h1,.rstrtt ol,.rstrtt p,.rstrtt ul{margin-bottom:20px;margin-top:20px}.rstrtt h1,.rstrtt h2,.rstrtt h3,.rstrtt h4,.rstrtt h5,.rstrtt h6{margin-bottom:1.75rem;position:relative}.rstrtt h1:before,.rstrtt h2:before,.rstrtt h3:before,.rstrtt h4:before,.rstrtt h5:before,.rstrtt h6:before{color:rgba(95,95,95,.78);display:inline}.rstrtt h1:before{content:"# "}.rstrtt h2:before{content:"## "}.rstrtt h3:before{content:"### "}.rstrtt h4:before{content:"#### "}.rstrtt h5:before{content:"##### "}.rstrtt h6:before{content:"###### "}.rstrtt li{display:block;padding-left:20px;position:relative}.rstrtt li:after{left:0;position:absolute;top:0}.rstrtt ul>li:after{content:"-"}.rstrtt ol{counter-reset:ol}.rstrtt ol>li:after{content:counter(ol) ".";counter-increment:ol}.rstrtt ol li:nth-child(n+10):after{left:-7px}.rstrtt em:after,.rstrtt em:before{color:rgba(95,95,95,.78);content:"_";display:inline}.rstrtt strong:after,.rstrtt strong:before{color:rgba(95,95,95,.78);content:"**";display:inline}.rstrtt pre code:after,.rstrtt pre code:before{content:""}.rstrtt code{font-weight:700}.rstrtt code:after,.rstrtt code:before{color:rgba(95,95,95,.78);content:"`";display:inline}.rstrtt hr{border:.1rem solid #000}@-moz-document url-prefix(){.rstrtt h1{display:block}}.rstrtt-ones ol>li:after{content:"1."}p{margin:0 0 1.75rem}.container{max-width:70rem}.container,.container-fluid{margin:0 auto;padding:0 1rem}.inner{padding:1rem}.inner2x{padding:2rem}.pull-left{float:left}.pull-right{float:right}@media screen and (max-width:768px){.form-group label{border-bottom:none;display:block;width:100%}.form-group.form-textarea label:after{display:none}.form-control{width:100%}textarea.form-control{border-left:none;padding:.5rem 0}pre::-webkit-scrollbar{height:3px}}@media screen and (max-width:480px){.form{width:100%}}.cyan,.green,.pink,.purple,.red,.yellow{background:#000;color:#fff;-webkit-text-decoration:underline solid .05em;text-decoration:underline solid .05em;text-decoration-skip-ink:none}.cyan:hover,.green:hover,.pink:hover,.purple:hover,.red:hover,.yellow:hover{-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.red{-webkit-text-decoration-color:#eb4747;text-decoration-color:#eb4747}.red:hover{background:#eb4747}.yellow{-webkit-text-decoration-color:#ebeb47;text-decoration-color:#ebeb47}.yellow:hover{background:#ebeb47}.green{-webkit-text-decoration-color:#47eb47;text-decoration-color:#47eb47}.green:hover{background:#47eb47}.cyan{-webkit-text-decoration-color:#47ebeb;text-decoration-color:#47ebeb}.cyan:hover{background:#47ebeb}.purple{-webkit-text-decoration-color:#4747eb;text-decoration-color:#4747eb}.purple:hover{background:#4747eb}.pink{-webkit-text-decoration-color:#eb47eb;text-decoration-color:#eb47eb}.pink:hover{background:#eb47eb}
/*# sourceMappingURL=rstrtt.css.map */

@ -1,374 +0,0 @@
@media (max-width: 455.98px) {
html {
font-size: 11px;
}
}
@media (min-width: 456px) and (max-width: 575.98px) {
html {
font-size: 12px;
}
}
@media (min-width: 576px) and (max-width: 767.98px) {
html {
font-size: 14px;
}
}
@media (min-width: 768px) and (max-width: 991.98px) {
html {
font-size: 16px;
}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
html {
font-size: 18px;
}
}
@media (min-width: 1200px) {
html {
font-size: 20px;
}
}
body {
font-size: 1rem;
line-height: 1.5rem;
margin: 0;
font-family: "Fira Code", "Roboto Mono", "Menlo", "Monaco", "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
font-feature-settings: "calt" 1;
/* Enable ligatures for IE 10+, Edge */
text-rendering: optimizeLegibility;
/* Force ligatures for Webkit, Blink, Gecko */
min-width: 300px;
min-height: 100vh;
display: flex;
flex-direction: column;
padding: 0 16px;
background: white;
}
a {
word-break: break-all;
}
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.3em;
font-weight: 500;
}
fieldset {
border: none;
padding: 0;
margin: 0;
}
pre {
padding: 2rem;
margin: 1.75rem 0;
background-color: black;
border: 1px solid #ccc;
overflow: auto;
}
code[class*="language-"],
pre[class*="language-"],
pre code {
font-weight: 100;
text-shadow: none;
margin: 1.75rem 0;
}
p {
color: rgba(0, 0, 0, 0.8);
}
h1,
h2,
h3,
h4,
h5,
h6,
strong {
color: black;
}
footer {
color: rgba(0, 0, 0, 0.6);
}
a {
cursor: pointer;
color: blue;
text-decoration: none;
}
a:visited {
color: purple;
}
a:hover {
background-color: blue;
color: white;
}
a:hover:visited {
background-color: purple;
}
.hack,
.hack blockquote,
.hack code,
.hack em,
.hack h1,
.hack h2,
.hack h3,
.hack h4,
.hack h5,
.hack h6,
.hack strong {
font-style: normal;
}
.hack blockquote,
.hack code,
.hack em,
.hack strong {
line-height: 20px;
}
.hack blockquote,
.hack code,
.hack footer,
.hack h1,
.hack h2,
.hack h3,
.hack h4,
.hack h5,
.hack h6,
.hack header,
.hack li,
.hack ol,
.hack p,
.hack section,
.hack ul {
float: none;
margin: 0;
padding: 0;
}
.hack blockquote,
.hack h1,
.hack ol,
.hack p,
.hack ul {
margin-top: 20px;
margin-bottom: 20px;
}
.hack h1,
.hack h2,
.hack h3,
.hack h4,
.hack h5,
.hack h6 {
position: relative;
margin-bottom: 1.75rem;
}
.hack li {
position: relative;
display: block;
padding-left: 20px;
}
.hack li:after {
position: absolute;
top: 0;
left: 0;
}
.hack ul > li:after {
content: "-";
}
.hack ol {
counter-reset: a;
list-style-type:decimal;
list-style-position:outside;
}
.hack ol > li:after {
content: counter(a) ".";
counter-increment: a;
padding:0 0 0 0px;
/* Add some space between numbering and content. */
margin:0 0 0 -0.3em;
}
.hack ol li:nth-child(n + 10):after {
left: -7px;
}
.hack em {
font-style: italic;
}
.hack pre code:after,
.hack pre code:before {
content: "";
}
.hack code {
font-weight: 700;
}
.hack code:after,
.hack code:before {
content: "`";
display: inline;
}
@-moz-document url-prefix() {
.hack h1 {
display: block;
}
}
.hack-ones ol > li:after {
content: "1.";
}
p {
margin: 0 0 1.75rem;
}
.container {
width: 100%;
flex: 1;
}
.inner {
padding: 1rem;
}
.inner2x {
padding: 2rem;
}
.pull-left {
float: left;
}
.pull-right {
float: right;
}
.hack h1 {
font-size: 3rem;
}
.hack h2 {
font-size: 2rem;
padding: 32px 0 0;
}
.hack h3 {
font-size: 1.5rem;
}
b {
font-weight: bold;
}
u {
text-decoration: underline;
}
#T, #Y, #P, #E, #bropen, #brclose {
background: black;
text-decoration: underline;
}
#T:hover, #Y:hover, #P:hover, #E:hover, #brclose:hover, #bropen:hover {
color: white;
}
#T {
color: hsl(0, 80%, 60%);
}
#T:hover {
background: hsl(0, 80%, 60%);
}
#Y {
color: hsl(60, 80%, 60%);
}
#Y:hover {
background: hsl(60, 80%, 60%);
}
#P {
color: hsl(120, 80%, 60%);
}
#P:hover {
background: hsl(120, 80%, 60%);
}
#E {
color: hsl(180, 80%, 60%);
}
#E:hover {
background: hsl(180, 80%, 60%);
}
#bropen {
color: hsl(240, 80%, 60%);
}
#bropen:hover {
background: hsl(240, 80%, 60%);
}
#brclose {
color: hsl(300, 80%, 60%);
}
#brclose:hover {
background: hsl(300, 80%, 60%);
}
#hidden {
color: white;
white-space: nowrap;
}
h1 {
overflow: hidden;
}
#T u, #Y u, #P u, #E u, #brclose u, #bropen u {
color: white;
text-decoration: none;
}
#T u:hover, #Y u:hover, #P u:hover, #E u:hover, #brclose u:hover, #bropen u:hover {
color: black;
}
hr {
border: 2px solid black;
}

@ -1,22 +0,0 @@
<p>
<a href="https://github.com/NicolasHov">Nicolas Hovart</a>
<a href="https://github.com/RaitoBezarius">Ryan Lahfa</a>
<a href="https://github.com/yvan-sraka">Yvan Sraka</a>
<strike><a href="https://github.com/naominitel">Naomi Nitel</strike></a>
<strike><a href="https://github.com/darnuria">Axel Viala</strike></a>
</p>
<p>
What we do:
<ul>
<li>Rust | WebAssembly</li>
<li>Nix | NixOS | NixOps</li>
<li>React.js | React Native</li>
<li>IPv6(-only) deployments | Tunnel technologies (WireGuard, IPsec) | Multiprotocol BGP</li>
<li>Security | Pentest</li>
</ul>
</p>
<p>-> <a href="mailto:contact@newtype.fr">contact@newtype.fr</a></p>
<p>
<em>This website was proudly generated by <a href="https://jaspervdj.be/hakyll">hakyll</a>.</em>
Sources are available <a href="https://git.newtype.fr/newtype/website">here</a>!
</p>

@ -0,0 +1,21 @@
[Gauvain Roussel-Tarbouriech](https://code.govanify.com/) •
[Nicolas Hovart](https://github.com/NicolasHov) •
[Ryan Lahfa](https://github.com/RaitoBezarius) •
[Yvan Sraka](https://github.com/yvan-sraka) •
~~[Axel Viala](https://github.com/darnuria)~~ •
~~[Naomi Nitel](https://github.com/naominitel)~~
What we do:
- Rust \| WebAssembly
- Nix \| NixOS \| NixOps
- React.js \| React Native
- IPv6(-only) deployments \| Tunnel technologies (WireGuard, IPsec) \|
Multiprotocol BGP
- Security \| Pentest
-\> <contact@newtype.fr>
*This website was proudly generated by
[hakyll](https://jaspervdj.be/hakyll).* Sources are available
[here](https://git.newtype.fr/newtype/website)!

@ -0,0 +1,8 @@
{ pkgs ? import <nixpkgs> { }, ghc ? pkgs.ghc }:
pkgs.haskell.lib.buildStackProject {
name = "newtype.fr";
inherit ghc;
buildInputs = with pkgs; [ zlib ];
LANG = "en_US.UTF-8";
TMPDIR = "/tmp";
}

@ -7,16 +7,14 @@ import Hakyll
--------------------------------------------------------------------------------
main :: IO ()
main = hakyll $ do
match "css/*" $ do
match "assets/css/*" $ do
route idRoute
compile compressCssCompiler
match "index.html" $ do
route idRoute
compile $ do
getResourceBody
>>= applyAsTemplate indexCtx
>>= loadAndApplyTemplate "templates/default.html" indexCtx
>>= relativizeUrls
match "index.md" $ do
route $ setExtension "html"
compile $ pandocCompiler
>>= loadAndApplyTemplate "_layouts/default.html" defaultContext
>>= relativizeUrls
match "templates/*" $ compile templateBodyCompiler
match "_layouts/*" $ compile templateBodyCompiler

@ -1,66 +1,42 @@
# This file was automatically generated by 'stack init'
#
# Some commonly used options have been documented as comments in this file.
# For advanced use and comprehensive documentation of the format, please see:
# https://docs.haskellstack.org/en/stable/yaml_configuration/
# For more information, see: http://docs.haskellstack.org/en/stable/yaml_configuration.html
# Resolver to choose a 'specific' stackage snapshot or a compiler version.
# A snapshot resolver dictates the compiler version and the set of packages
# to be used for project dependencies. For example:
#
# resolver: lts-3.5
# resolver: nightly-2015-09-21
# resolver: ghc-7.10.2
#
# The location of a snapshot can be provided as a file or url. Stack assumes
# a snapshot provided as a file might change, whereas a url resource does not.
#
# resolver: ./custom-snapshot.yaml
# resolver: https://example.com/snapshots/2018-01-01.yaml
resolver: nightly-2020-05-06
# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
resolver: lts-17.14
# User packages to be built.
# Various formats can be used as shown in the example below.
#
# packages:
# - some-directory
# - https://example.com/foo/bar/baz-0.0.2.tar.gz
# subdirs:
# - auto-update
# - wai
# Local packages, usually specified by relative directory name
packages:
- .
# Dependency packages to be pulled from upstream that are not in the resolver.
# These entries can reference officially published versions as well as
# forks / in-progress versions pinned to a git hash. For example:
#
# extra-deps:
# - acme-missiles-0.3
# - git: https://github.com/commercialhaskell/stack.git
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
#
# extra-deps: []
- '.'
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
extra-deps:
- hakyll-4.13.4.1@sha256:af3096c611bcb164143df2d9543e88f1eaabe76e8f0261423aff8382f10368c3
- pandoc-citeproc-0.17.0.2@sha256:39c5c60a5eca2c1cb50ae9a00dc7093ca1baac78ad5be4e222505de257dce456
# Override default flag values for local packages and extra-deps
# flags: {}
flags: {}
# Extra package databases containing global packages
# extra-package-dbs: []
extra-package-dbs: []
# Control whether we use the GHC we find on the path
# system-ghc: true
#
# Require a specific version of stack, using version ranges
# require-stack-version: -any # Default
# require-stack-version: ">=2.1"
#
# require-stack-version: >= 1.0.0
# Override the architecture used by stack, especially useful on Windows
# arch: i386
# arch: x86_64
#
# Extra directories used by stack for building
# extra-include-dirs: [/path/to/dir]
# extra-lib-dirs: [/path/to/dir]
#
# Allow a newer minor version of GHC than the snapshot specifies
# compiler-check: newer-minor
nix:
enable: true
pure: true
shell-file: shell.nix

@ -3,10 +3,24 @@
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
packages: []
packages:
- completed:
hackage: hakyll-4.13.4.1@sha256:af3096c611bcb164143df2d9543e88f1eaabe76e8f0261423aff8382f10368c3,9212
pantry-tree:
size: 7842
sha256: 2cf57f61b0eb6f30beb01f78a65078138bfee0e4a4d8b6630ac4ddd91c7de6db
original:
hackage: hakyll-4.13.4.1@sha256:af3096c611bcb164143df2d9543e88f1eaabe76e8f0261423aff8382f10368c3
- completed:
hackage: pandoc-citeproc-0.17.0.2@sha256:39c5c60a5eca2c1cb50ae9a00dc7093ca1baac78ad5be4e222505de257dce456,8737
pantry-tree:
size: 25684
sha256: 8a5f6398d750902d79c215a4c8f85c74f3e7ea572dd1f950d57e784669ac7a48
original:
hackage: pandoc-citeproc-0.17.0.2@sha256:39c5c60a5eca2c1cb50ae9a00dc7093ca1baac78ad5be4e222505de257dce456
snapshots:
- completed:
size: 521183
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2020/5/6.yaml
sha256: 8f91f3cd1ba1a7e0d478773969dc64236c76d8b0231e8ca3e0550f0593c15f57
original: nightly-2020-05-06
size: 567677
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/14.yaml
sha256: 3740f22286bf5e6e3d82f88125e1c708b6e27847211f956b530aa5d83cf39383
original: lts-17.14

@ -1,24 +0,0 @@
<!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">
<title>Newtype</title>
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/default.css" />
</head>
<body class="hack">
<div class="main container">
<h1>
new<b id="T"><u>t</u></b
><b id="Y"><u>y</u></b
><b id="P"><u>p</u></b
><b id="E"><u>e</u></b
><b id="bropen" ><u>(</u></b
><b id="brclose"><u>)</u></b><span id="hidden"> { newtype | newtype& }; newtype</span>
</h1>
$body$
</div>
</body>
</html>
Loading…
Cancel
Save