]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Add history page
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 7 Jun 2020 16:24:25 +0000 (18:24 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 7 Jun 2020 17:13:08 +0000 (19:13 +0200)
25 files changed:
history [new symlink]
modules/private/websites/immae/history/.gitignore [new file with mode: 0644]
modules/private/websites/immae/history/Gemfile [new file with mode: 0644]
modules/private/websites/immae/history/Gemfile.lock [new file with mode: 0644]
modules/private/websites/immae/history/LICENSE [new file with mode: 0644]
modules/private/websites/immae/history/_config.yml [new file with mode: 0644]
modules/private/websites/immae/history/_data/categories.yml [new file with mode: 0644]
modules/private/websites/immae/history/_includes/footer.html [new file with mode: 0644]
modules/private/websites/immae/history/_includes/head.html [new file with mode: 0644]
modules/private/websites/immae/history/_includes/header.html [new file with mode: 0644]
modules/private/websites/immae/history/_includes/post.html [new file with mode: 0644]
modules/private/websites/immae/history/_includes/scripts.html [new file with mode: 0644]
modules/private/websites/immae/history/_layouts/default.html [new file with mode: 0644]
modules/private/websites/immae/history/_layouts/post.html [new file with mode: 0644]
modules/private/websites/immae/history/_posts/2020-06-07-historique.md [new file with mode: 0644]
modules/private/websites/immae/history/_sass/style.scss [new file with mode: 0644]
modules/private/websites/immae/history/_sass/syntex.scss [new file with mode: 0644]
modules/private/websites/immae/history/_sass/variables.scss [new file with mode: 0644]
modules/private/websites/immae/history/assets/css/main.scss [new file with mode: 0644]
modules/private/websites/immae/history/assets/js/script.js [new file with mode: 0644]
modules/private/websites/immae/history/default.nix [new file with mode: 0644]
modules/private/websites/immae/history/gemset.nix [new file with mode: 0644]
modules/private/websites/immae/history/index.html [new file with mode: 0644]
modules/private/websites/immae/production.nix
modules/private/websites/tools/tools/landing/config.yml

diff --git a/history b/history
new file mode 120000 (symlink)
index 0000000..4cec33c
--- /dev/null
+++ b/history
@@ -0,0 +1 @@
+modules/private/websites/immae/history/_posts
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/.gitignore b/modules/private/websites/immae/history/.gitignore
new file mode 100644 (file)
index 0000000..64af247
--- /dev/null
@@ -0,0 +1,3 @@
+_site
+.sass-cache
+.jekyll-metadata
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/Gemfile b/modules/private/websites/immae/history/Gemfile
new file mode 100644 (file)
index 0000000..35f655f
--- /dev/null
@@ -0,0 +1,31 @@
+source "https://rubygems.org"
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+#     bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "~> 3.8.5"
+
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+gem "minima", "~> 2.0"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+  gem "jekyll-feed", "~> 0.6"
+  gem 'jekyll-paginate-v2', '1.9.0'
+end
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.0" if Gem.win_platform?
+
diff --git a/modules/private/websites/immae/history/Gemfile.lock b/modules/private/websites/immae/history/Gemfile.lock
new file mode 100644 (file)
index 0000000..9a3cb5e
--- /dev/null
@@ -0,0 +1,75 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    colorator (1.1.0)
+    concurrent-ruby (1.1.6)
+    em-websocket (0.5.1)
+      eventmachine (>= 0.12.9)
+      http_parser.rb (~> 0.6.0)
+    eventmachine (1.2.7)
+    ffi (1.13.0)
+    forwardable-extended (2.6.0)
+    http_parser.rb (0.6.0)
+    i18n (0.9.5)
+      concurrent-ruby (~> 1.0)
+    jekyll (3.8.7)
+      addressable (~> 2.4)
+      colorator (~> 1.0)
+      em-websocket (~> 0.5)
+      i18n (~> 0.7)
+      jekyll-sass-converter (~> 1.0)
+      jekyll-watch (~> 2.0)
+      kramdown (~> 1.14)
+      liquid (~> 4.0)
+      mercenary (~> 0.3.3)
+      pathutil (~> 0.9)
+      rouge (>= 1.7, < 4)
+      safe_yaml (~> 1.0)
+    jekyll-feed (0.13.0)
+      jekyll (>= 3.7, < 5.0)
+    jekyll-paginate-v2 (1.9.0)
+      jekyll (~> 3.0)
+    jekyll-sass-converter (1.5.2)
+      sass (~> 3.4)
+    jekyll-seo-tag (2.6.1)
+      jekyll (>= 3.3, < 5.0)
+    jekyll-watch (2.2.1)
+      listen (~> 3.0)
+    kramdown (1.17.0)
+    liquid (4.0.3)
+    listen (3.2.1)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
+    mercenary (0.3.6)
+    minima (2.5.1)
+      jekyll (>= 3.5, < 5.0)
+      jekyll-feed (~> 0.9)
+      jekyll-seo-tag (~> 2.1)
+    pathutil (0.16.2)
+      forwardable-extended (~> 2.6)
+    public_suffix (4.0.5)
+    rb-fsevent (0.10.4)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
+    rouge (3.19.0)
+    safe_yaml (1.0.5)
+    sass (3.7.4)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  jekyll (~> 3.8.5)
+  jekyll-feed (~> 0.6)
+  jekyll-paginate-v2 (= 1.9.0)
+  minima (~> 2.0)
+  tzinfo-data
+
+BUNDLED WITH
+   2.1.4
diff --git a/modules/private/websites/immae/history/LICENSE b/modules/private/websites/immae/history/LICENSE
new file mode 100644 (file)
index 0000000..0e87543
--- /dev/null
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2019 bansal.io
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_config.yml b/modules/private/websites/immae/history/_config.yml
new file mode 100644 (file)
index 0000000..56da0e4
--- /dev/null
@@ -0,0 +1,47 @@
+title: Historique d’ImmaeEu
+heading: Mises à jour
+logo: /logo.jpg
+website: https://www.immae.eu
+
+# the base hostname & protocol for your site, 
+# e.g. https://updates.changelog.site
+# Note Don't put trailing slash https://updates.changelog.site/
+url: "https://www.immae.eu"  # (required)
+
+baseurl: '/history' # optional
+
+rss-feed-icon: true #(optional)
+
+defaults:
+  -
+    scope:
+      path: "_posts"
+      type: "posts"
+    values:
+      layout: "post"
+  -
+    scope:
+      path: "assets"
+    values:
+      sitemap: false 
+
+permalink: /:title/
+markdown: kramdown
+highlighter: rouge
+sass:
+  sass_dir:         _sass
+  style:            compressed
+
+exclude: [ "Gemfile", "Gemfile.lock", "gemset.nix", "LICENSE", "default.nix", "shell.nix", "readme.md" ]
+
+plugins:
+  - jekyll-feed
+  - jekyll-paginate-v2
+
+pagination:
+  enabled: true
+  per_page: 20
+  title: ':title - page :num of :max'
+  limit: 0
+  sort_field: 'date'
+  sort_reverse: true
diff --git a/modules/private/websites/immae/history/_data/categories.yml b/modules/private/websites/immae/history/_data/categories.yml
new file mode 100644 (file)
index 0000000..fa7189b
--- /dev/null
@@ -0,0 +1,13 @@
+# Available colors: blue, red, orange, green, purple
+- name: Nouveautés
+  color: green
+
+- name: Pannes
+  color: red
+
+- name: Informations
+  color: blue
+
+- name: Maintenance
+  color: purple
+
diff --git a/modules/private/websites/immae/history/_includes/footer.html b/modules/private/websites/immae/history/_includes/footer.html
new file mode 100644 (file)
index 0000000..a6adafb
--- /dev/null
@@ -0,0 +1,5 @@
+<footer class="p-3 text-center mt-5">
+    <div class="w-25 border-top mb-3 mx-auto"></div>
+    <a href="https://changelog.site">Powered By ChangeLog.Site</a>
+</footer>
+{% include scripts.html %}
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_includes/head.html b/modules/private/websites/immae/history/_includes/head.html
new file mode 100644 (file)
index 0000000..cd9112e
--- /dev/null
@@ -0,0 +1,18 @@
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>{% if page.title %}{{ page.title }}{% else %}{{ site.name }}{% endif %}</title>
+    <link rel="icon" type="image/png" href="/favicon.png">
+    <!-- CSS -->
+    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+    <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css" type="text/css">
+  
+    <!-- Font -->
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro">
+
+    <link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
+    <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
+  
+  </head>
+
+  
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_includes/header.html b/modules/private/websites/immae/history/_includes/header.html
new file mode 100644 (file)
index 0000000..42eda83
--- /dev/null
@@ -0,0 +1,36 @@
+  <nav class="bg-light border-bottom px-5 py-3">
+
+    <div class="w-75 mx-auto">
+
+      <div class="row">
+        <div class="col-md-6">
+          <div class="d-flex align-items-center">
+            <a href="{{ site.website }}">
+              <img src="{{ site.logo }}" alt="{{ site.name }}" class="logo" alt="Logo">
+            </a>
+            <a href="{{ site.url }}">
+              <span class="text-muted mx-3">
+                Changes
+              </span>
+            </a>
+          </div>
+        </div>
+
+        <div class="col-md-6 ml-auto  d-flex align-items-center justify-content-end">
+          {% if site.rss-feed-icon %}
+          <a href="{{ site.baseurl }}/feed.xml"
+            class="inline-block  mt-3 mt-md-0 text-orange d-flex align-items-center">
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 22 22" fill="none"
+              stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"
+              class="feather feather-rss">
+              <path d="M4 11a9 9 0 0 1 9 9"></path>
+              <path d="M4 4a16 16 0 0 1 16 16"></path>
+              <circle cx="5" cy="19" r="1"></circle>
+            </svg>
+          </a>
+          {% endif %}
+        </div>
+      </div>
+
+    </div>
+  </nav>
diff --git a/modules/private/websites/immae/history/_includes/post.html b/modules/private/websites/immae/history/_includes/post.html
new file mode 100644 (file)
index 0000000..04f4a77
--- /dev/null
@@ -0,0 +1,26 @@
+<div class="row p-3">
+    <div class="col-md-3 mb-3">
+      <a href="{{ include.url | prepend: site.baseurl | replace: '//', '/' }}" class="post-date text-muted">
+        {{ include.date | date: '%F' }}
+      </a>
+    </div>
+    <div class="col-md-9">
+      <h2 class="title">
+        {{ include.title }}
+      </h2>
+      <div>
+        {% if include.category %}
+
+          {% for category in site.data.categories %}
+          {% if category.name == include.category %}
+          {% assign color = category.color | downcase | prepend: 'bg-' %}
+          {% endif %}
+          {% endfor %}
+          <span class="category {% if color %}{{ color }}{% endif %}">{{ include.category }}</span>
+        {% endif %}
+      </div>
+        <div class="post-content my-4 text-grey-darker leading-normal text-base font-thin">
+          {{ include.content }}
+        </div>
+    </div>
+  </div>
diff --git a/modules/private/websites/immae/history/_includes/scripts.html b/modules/private/websites/immae/history/_includes/scripts.html
new file mode 100644 (file)
index 0000000..b566db8
--- /dev/null
@@ -0,0 +1,3 @@
+<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
+<script src="//unpkg.com/jscroll/dist/jquery.jscroll.min.js"></script>
+<script src="{{ site.baseurl }}/assets/js/script.js"></script>
diff --git a/modules/private/websites/immae/history/_layouts/default.html b/modules/private/websites/immae/history/_layouts/default.html
new file mode 100644 (file)
index 0000000..24c76ed
--- /dev/null
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+{% include head.html %}
+
+<body>
+
+<div id="fb-root"></div>
+
+    {% include header.html %}
+    <div class="p-4">
+        <div class="row no-gutters">
+            <div class="col-md-7 offset-md-2">
+                    {% if page.name == 'index.html' %}
+                <div class="d-flex">
+                    <a href="javascript:void(0);" id="expand-list" class="text-muted ml-auto"><svg
+                            xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"
+                            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
+                            class="feather feather-list">
+                            <line x1="8" y1="6" x2="21" y2="6"></line>
+                            <line x1="8" y1="12" x2="21" y2="12"></line>
+                            <line x1="8" y1="18" x2="21" y2="18"></line>
+                            <line x1="3" y1="6" x2="3" y2="6"></line>
+                            <line x1="3" y1="12" x2="3" y2="12"></line>
+                            <line x1="3" y1="18" x2="3" y2="18"></line>
+                        </svg></a>
+                    <a href="javascript:void(0);" id="collapse-list" class="text-muted ml-3"><svg
+                            xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none"
+                            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
+                            class="feather feather-server">
+                            <rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect>
+                            <rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect>
+                            <line x1="6" y1="6" x2="6" y2="6"></line>
+                            <line x1="6" y1="18" x2="6" y2="18"></line>
+                        </svg></a>
+                </div>
+                {% endif %}
+                <div class=" pt-5">
+                    {{ content }}
+                </div>
+            </div>
+        </div>
+    </div>
+
+    {% include footer.html %}
+</body>
+
+</html>
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_layouts/post.html b/modules/private/websites/immae/history/_layouts/post.html
new file mode 100644 (file)
index 0000000..664eaed
--- /dev/null
@@ -0,0 +1,7 @@
+---
+layout: default
+---
+{% include post.html title=page.title category=page.category url=page.url date=page.date content=content %}
+
+<hr>
+
diff --git a/modules/private/websites/immae/history/_posts/2020-06-07-historique.md b/modules/private/websites/immae/history/_posts/2020-06-07-historique.md
new file mode 100644 (file)
index 0000000..7fc9abe
--- /dev/null
@@ -0,0 +1,8 @@
+---
+title: "Nouvelle page d’historique"
+category: Nouveautés
+date: 2020-06-07
+---
+ImmaeEu intègre dorénavant une page d’historique, pour lister l’ensemble
+des changements importants de l’infrastructure : pannes, nouveautés,
+maintenance, etc.
diff --git a/modules/private/websites/immae/history/_sass/style.scss b/modules/private/websites/immae/history/_sass/style.scss
new file mode 100644 (file)
index 0000000..cb2702a
--- /dev/null
@@ -0,0 +1,127 @@
+body {
+    font-family: $primary-font;
+    font-size: 16px;
+    line-height: 1.8;
+    min-height: 100vh;
+    color: $text-color-primary;
+}
+
+.logo {
+    max-height: 45px;
+}
+
+footer a {
+    color: rgba(0, 0, 0, 0.4);
+    font-size: 0.8rem;
+}
+
+.category {
+    padding: 3px 10px;
+    background: $primary-color;
+    color: rgba(255, 255, 255, 0.9);
+    border-radius: 20px;
+    font-size: 12px;
+    line-height: 1.2;
+}
+
+@each $color,
+$value in $tag-colors {
+    .text-#{$color} {
+        color: $value;
+    }
+
+    .bg-#{$color} {
+        background-color: $value;
+    }
+}
+
+.title {
+    color: rgba(0, 0, 0, 0.9);
+    font-weight: 600;
+    font-size: 1.8rem;
+}
+
+.post-content {
+
+
+    h1,
+    h2,
+    h3,
+    h4,
+    h5,
+    h6 {
+        margin-top: 1.5rem;
+        margin-bottom: 0.8rem;
+    }
+
+    strong{
+        color: darken($text-color-primary, 50%);
+        font-weight: 600;
+    }
+
+    table {
+        border: 1px solid $border-color;
+        width: 100%;
+        margin-bottom: 1rem;
+        border-collapse: collapse;
+
+        th,
+        td {
+            border: 1px solid $border-color;
+            padding: .75rem;
+            vertical-align: top;
+            border-top: 1px solid $border-color;
+        }
+
+        thead {
+
+            th,
+            td {
+                border-bottom-width: 2px;
+                padding: .75rem;
+                vertical-align: top;
+                border-top: 1px solid $border-color;
+            }
+        }
+    }
+
+    // Blockquote
+
+    blockquote {
+        background: $bg-light;
+        font-style: italic;
+        border-left: 8px solid $border-color;
+        padding: 20px;
+        margin: 20px 0px;
+        box-sizing: border-box;
+    }
+
+    a {
+        color: $primary-color;
+        &:hover {
+            color: darken($primary-color, 15%);
+        }
+    }
+
+
+
+    p code,
+    li code {
+        font-size: .8rem;
+        line-height: 1.8571;
+        color: rgba(0, 0, 0, 1);
+        background-color: $bg-light;
+        border: 1px solid $border-color;
+        -webkit-border-radius: 4px;
+        -moz-border-radius: 4px;
+        border-radius: 4px;
+        margin: 0 2px;
+        padding: 0 5px;
+    }
+
+    img {
+        max-width: 100%;
+        height: auto;
+        margin: 10px 0px;
+    }
+}
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_sass/syntex.scss b/modules/private/websites/immae/history/_sass/syntex.scss
new file mode 100644 (file)
index 0000000..d09a98f
--- /dev/null
@@ -0,0 +1,38 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight  { background: #f8f8f8; padding: 0.5em 1em; border-radius: 4px; margin-bottom: 0em;}
+.highlight .c { color: #008000 } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #0000ff } /* Keyword */
+.highlight .ch { color: #008000 } /* Comment.Hashbang */
+.highlight .cm { color: #008000 } /* Comment.Multiline */
+.highlight .cp { color: #0000ff } /* Comment.Preproc */
+.highlight .cpf { color: #008000 } /* Comment.PreprocFile */
+.highlight .c1 { color: #008000 } /* Comment.Single */
+.highlight .cs { color: #008000 } /* Comment.Special */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gh { font-weight: bold } /* Generic.Heading */
+.highlight .gp { font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { font-weight: bold } /* Generic.Subheading */
+.highlight .kc { color: #0000ff } /* Keyword.Constant */
+.highlight .kd { color: #0000ff } /* Keyword.Declaration */
+.highlight .kn { color: #0000ff } /* Keyword.Namespace */
+.highlight .kp { color: #0000ff } /* Keyword.Pseudo */
+.highlight .kr { color: #0000ff } /* Keyword.Reserved */
+.highlight .kt { color: #2b91af } /* Keyword.Type */
+.highlight .s { color: #a31515 } /* Literal.String */
+.highlight .nc { color: #2b91af } /* Name.Class */
+.highlight .ow { color: #0000ff } /* Operator.Word */
+.highlight .sa { color: #a31515 } /* Literal.String.Affix */
+.highlight .sb { color: #a31515 } /* Literal.String.Backtick */
+.highlight .sc { color: #a31515 } /* Literal.String.Char */
+.highlight .dl { color: #a31515 } /* Literal.String.Delimiter */
+.highlight .sd { color: #a31515 } /* Literal.String.Doc */
+.highlight .s2 { color: #a31515 } /* Literal.String.Double */
+.highlight .se { color: #a31515 } /* Literal.String.Escape */
+.highlight .sh { color: #a31515 } /* Literal.String.Heredoc */
+.highlight .si { color: #a31515 } /* Literal.String.Interpol */
+.highlight .sx { color: #a31515 } /* Literal.String.Other */
+.highlight .sr { color: #a31515 } /* Literal.String.Regex */
+.highlight .s1 { color: #a31515 } /* Literal.String.Single */
+.highlight .ss { color: #a31515 } /* Literal.String.Symbol */
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/_sass/variables.scss b/modules/private/websites/immae/history/_sass/variables.scss
new file mode 100644 (file)
index 0000000..5719431
--- /dev/null
@@ -0,0 +1,16 @@
+$primary-font: 'Source Sans Pro', sans-serif;
+$primary-color: #0775F8;
+$text-color-primary: #48586b;
+$border-color: #dae1e7;
+$bg-light: #f1f5f8;
+$blue: #0775F8;
+$purple: #6D75F1;
+$green: #00CECE;
+$red: #F7444E;
+$orange: #F27013;
+
+$tag-colors: ("blue": $blue,
+    "purple": $purple,
+    "green": $green,
+    "red": $red,
+    "orange": $orange);
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/assets/css/main.scss b/modules/private/websites/immae/history/assets/css/main.scss
new file mode 100644 (file)
index 0000000..7df8776
--- /dev/null
@@ -0,0 +1,6 @@
+---
+sitemap: false
+---
+@import "variables";
+@import "syntex";
+@import "style";
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/assets/js/script.js b/modules/private/websites/immae/history/assets/js/script.js
new file mode 100644 (file)
index 0000000..65115d3
--- /dev/null
@@ -0,0 +1,17 @@
+$(function() {
+    var options = {
+        padding: 0,
+        nextSelector: 'a.next-page:last',
+        contentSelector: '.post_list',
+        autoTrigger: false,
+        debug: true
+    };
+
+    $('.post_list').jscroll(options);
+    $(document).on('click', '#expand-list', function(){
+        $('.post-content').hide();
+    });
+    $(document).on('click', '#collapse-list', function(){
+        $('.post-content').show();
+    });
+});
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/default.nix b/modules/private/websites/immae/history/default.nix
new file mode 100644 (file)
index 0000000..2335627
--- /dev/null
@@ -0,0 +1,27 @@
+{ lib, bundlerEnv, ruby, stdenv }:
+
+# rebuild with bundix -l
+let
+  jekyll = bundlerEnv rec {
+    name = pname + "-" + version;
+    pname = "jekyll";
+    version = (import ./gemset.nix).jekyll.version;
+
+    inherit ruby;
+    gemdir = ./.;
+  };
+in
+  stdenv.mkDerivation rec {
+    pname = "changelog";
+    version = "1";
+    src = ./.;
+    buildInputs = [ jekyll ];
+    phases = [ "unpackPhase" "buildPhase" "installPhase"];
+    buildPhase = ''
+      jekyll build
+    '';
+
+    installPhase = ''
+      cp -a _site $out
+    '';
+  }
diff --git a/modules/private/websites/immae/history/gemset.nix b/modules/private/websites/immae/history/gemset.nix
new file mode 100644 (file)
index 0000000..55bb74a
--- /dev/null
@@ -0,0 +1,297 @@
+{
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  colorator = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  concurrent-ruby = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
+      type = "gem";
+    };
+    version = "1.1.6";
+  };
+  em-websocket = {
+    dependencies = ["eventmachine" "http_parser.rb"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3";
+      type = "gem";
+    };
+    version = "0.5.1";
+  };
+  eventmachine = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  ffi = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1y9y4pkfbjvzp7fdvikz5nxccan8v1x0ppb18a5333v0z3pv3y86";
+      type = "gem";
+    };
+    version = "1.13.0";
+  };
+  forwardable-extended = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v";
+      type = "gem";
+    };
+    version = "2.6.0";
+  };
+  "http_parser.rb" = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3";
+      type = "gem";
+    };
+    version = "0.9.5";
+  };
+  jekyll = {
+    dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13gi6v6ib925v9r0w3a3dqvbhj9rrwbbpkr3slisfxwpwy6k0kyp";
+      type = "gem";
+    };
+    version = "3.8.7";
+  };
+  jekyll-feed = {
+    dependencies = ["jekyll"];
+    groups = ["jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lx8nvkhd8l1wm3b6s506rycwbmpbzbsbjl65p21asjz6vbwf1ir";
+      type = "gem";
+    };
+    version = "0.13.0";
+  };
+  jekyll-paginate-v2 = {
+    dependencies = ["jekyll"];
+    groups = ["jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hkl5vfgrz4p0j5dgji0rhnv081y4mrvsy2lnnzl0zv9rd5gqsn7";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
+  jekyll-sass-converter = {
+    dependencies = ["sass"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
+  jekyll-seo-tag = {
+    dependencies = ["jekyll"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p9fl2r4ni10lbx143zp41caldjs4hg27az5wg42sbwzb7s6z66m";
+      type = "gem";
+    };
+    version = "2.6.1";
+  };
+  jekyll-watch = {
+    dependencies = ["listen"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w";
+      type = "gem";
+    };
+    version = "2.2.1";
+  };
+  kramdown = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
+      type = "gem";
+    };
+    version = "1.17.0";
+  };
+  liquid = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by";
+      type = "gem";
+    };
+    version = "4.0.3";
+  };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
+      type = "gem";
+    };
+    version = "3.2.1";
+  };
+  mercenary = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  minima = {
+    dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gk7jmriiswda1ykjzpsw9cpiya4m9n0yrh0h6xnrc8zcfy543jj";
+      type = "gem";
+    };
+    version = "2.5.1";
+  };
+  pathutil = {
+    dependencies = ["forwardable-extended"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4";
+      type = "gem";
+    };
+    version = "0.16.2";
+  };
+  public_suffix = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g";
+      type = "gem";
+    };
+    version = "4.0.5";
+  };
+  rb-fsevent = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
+      type = "gem";
+    };
+    version = "0.10.4";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+      type = "gem";
+    };
+    version = "0.10.1";
+  };
+  rouge = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "102rc07d78k5bkl0s9nd1gw6wz0w0zcvg4g5sl7z9xxi4r793c35";
+      type = "gem";
+    };
+    version = "3.19.0";
+  };
+  safe_yaml = {
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  sass = {
+    dependencies = ["sass-listen"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
+      type = "gem";
+    };
+    version = "3.7.4";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default" "jekyll_plugins"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
+}
\ No newline at end of file
diff --git a/modules/private/websites/immae/history/index.html b/modules/private/websites/immae/history/index.html
new file mode 100644 (file)
index 0000000..e9226e4
--- /dev/null
@@ -0,0 +1,18 @@
+---
+layout: default
+permalink: /
+pagination:
+  permalink: /page/:num/
+  enabled: true
+  indexpage: 'index'
+---
+<div class="post_list">
+{% for post in paginator.posts %}
+    {% include post.html title=post.title category=post.category url=post.url date=post.date content=post.content %}
+    <hr>
+{% endfor %}
+
+  {% if paginator.next_page %}
+    <a href="{{ paginator.next_page_path | replace: 'index.html', '' | prepend: site.baseurl }}" class="d-block text-center p-3 text-muted next-page">Load More Updates</a>
+  {% endif %}
+</div>
\ No newline at end of file
index dc89ae33b0895d19b6b7974bb9ef512da3669d15..ae4abe0a1157244ca60e6aa0692ce88749f7e0d6 100644 (file)
@@ -5,6 +5,7 @@ let
   coursDir = "/var/lib/buildbot/outputs/cours";
   rechercheDir = "/var/lib/buildbot/outputs/recherche";
   recettesDir = "/var/lib/buildbot/outputs/recettes";
+  historyDir = pkgs.callPackage ./history {};
   env = config.myEnv.websites.immae;
 in {
   options.myServices.websites.immae.production.enable = lib.mkEnableOption "enable Immae's website";
@@ -65,6 +66,13 @@ in {
           AllowOverride All
           Require all granted
         </Directory>
+
+        Alias /history ${historyDir}
+        <Directory ${historyDir}>
+          DirectoryIndex index.html
+          AllowOverride None
+          Require all granted
+        </Directory>
         ''
       ];
     };
index 81a99d5e4e51878322598fd7332c3bb7c9c6f76a..f3de6fcb8ce33e991fca5fb58138e184a5320f3d 100644 (file)
@@ -129,6 +129,9 @@ services:
       - name: "Page principale"
         icon: "fas fa-user"
         url: "https://www.immae.eu"
+      - name: "Historique infrastructure / Changelog"
+        icon: "fas fa-history"
+        url: "https://www.immae.eu/history"
       - name: "Atelier d’écriture"
         icon: "fas fa-pen"
         url: "https://www.immae.eu/atelier"