From c577bfb9bbe7d165cf8c300a2d53a972b6ce803a Mon Sep 17 00:00:00 2001 From: Suwako Moriya Date: Sat, 17 Jun 2023 14:39:37 +0300 Subject: [PATCH] Initial commit --- 404.html | 25 ++++++ Dockerfile | 7 ++ Gemfile | 33 +++++++ Gemfile.lock | 84 ++++++++++++++++++ Jenkinsfile | 91 ++++++++++++++++++++ Makefile | 5 ++ _config.yml | 56 ++++++++++++ _layouts/document.html | 26 ++++++ _posts/2023-06-11-welcome-to-jekyll.markdown | 29 +++++++ _sass/main.scss | 29 +++++++ about.markdown | 18 ++++ assets/style.scss | 4 + index.markdown | 6 ++ 13 files changed, 413 insertions(+) create mode 100644 404.html create mode 100644 Dockerfile create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 Jenkinsfile create mode 100644 Makefile create mode 100644 _config.yml create mode 100644 _layouts/document.html create mode 100644 _posts/2023-06-11-welcome-to-jekyll.markdown create mode 100644 _sass/main.scss create mode 100644 about.markdown create mode 100644 assets/style.scss create mode 100644 index.markdown diff --git a/404.html b/404.html new file mode 100644 index 0000000..086a5c9 --- /dev/null +++ b/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..70ebe57 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM jekyll/jekyll +RUN apk add sudo +RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +RUN gpasswd -a jekyll wheel +RUN apk add openssh +RUN apk add rsync +CMD ["/bin/bash"] diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..ff2c342 --- /dev/null +++ b/Gemfile @@ -0,0 +1,33 @@ +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", "~> 4.3.2" +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" +# 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.12" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +platforms :mingw, :x64_mingw, :mswin, :jruby do + gem "tzinfo", ">= 1", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..56e2584 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,84 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) + colorator (1.1.0) + concurrent-ruby (1.2.2) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.15.5) + forwardable-extended (2.6.0) + google-protobuf (3.23.2-x86_64-linux) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (4.3.2) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + 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 (5.0.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (4.1.2) + safe_yaml (1.0.5) + sass-embedded (1.63.3-x86_64-linux-gnu) + google-protobuf (~> 3.23) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.4.2) + webrick (1.8.1) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + http_parser.rb (~> 0.6.0) + jekyll (~> 4.3.2) + jekyll-feed (~> 0.12) + minima (~> 2.5) + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1.1) + +BUNDLED WITH + 2.3.26 diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..d4bde58 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,91 @@ +pipeline { + agent { + dockerfile { + args '-u root --net=host -v $HOME/docker_volumes/gem:/usr/gem -v $HOME/docker_volumes/bundle/:/usr/local/bundle -v $HOME/docker_volumes/.cache/:/root/.cache/' + } + } + environment { + JEKYLL_UID = '1001' + JEKYLL_GID = '1001' + JEKYLL_ENV = 'production' + DEPLOY_HOST = 'webroot@colabois.fr' + PROJECT_NAME = 'cuisine.colabois.fr' + DOMAIN = 'cuisine.colabois.fr' + DEV_DOMAIN = "www-dev.${env.DOMAIN}" + WEBSITE = "https://${env.DOMAIN}" + DEV_WEBSITE = "https://${env.DEV_DOMAIN}" + DEPLOY_SITE_PATH = "www/${env.PROJECT_NAME}" + DEPLOY_DEV_PATH = "www/www-dev.${env.PROJECT_NAME}" + TAG_NAME = """${TAG_NAME ?: ""}""" + WEBHOOK_URL = credentials('webhook_colabois.fr') + } + stages { + stage('Build sources') { + steps { + sh 'mkdir -p _site' + sh 'chmod -R o+rwx .' + sh 'bundle install --jobs $(nproc)' + sh 'bundle exec jekyll build' + } + post { + failure { + sh 'ls -al' + } + } + } + + stage('Deploy website to production') { + when { + anyOf { + branch 'main' + } + } + steps { + sshagent(credentials: ['pk_webroot']) { + sh 'echo ${TAG_NAME:-${GIT_BRANCH#*/}}' + sh 'echo ${DEPLOY_HOST}:${DEPLOY_DOC_PATH}${TAG_NAME:-${GIT_BRANCH#*/}}/' + sh 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes ${DEPLOY_HOST} mkdir -p ${DEPLOY_SITE_PATH}/' + sh '''rsync -aze 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes' \ + --log-file=rsync-doc.log \ + --delete \ + _site/ ${DEPLOY_HOST}:${DEPLOY_SITE_PATH}/''' + } + } + post { + failure { + sh 'cat rsync-doc.log' + } + } + } + + stage('Deploy website to www-dev') { + when { + anyOf { + branch 'dev' + } + } + steps { + sshagent(credentials: ['pk_webroot']) { + sh 'echo ${TAG_NAME:-${GIT_BRANCH#*/}}' + sh 'echo ${DEPLOY_HOST}:${DEPLOY_DOC_PATH}${TAG_NAME:-${GIT_BRANCH#*/}}/' + sh 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes ${DEPLOY_HOST} mkdir -p ${DEPLOY_DEV_PATH}/' + sh '''rsync -aze 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes' \ + --log-file=rsync-doc.log \ + --delete \ + _site/ ${DEPLOY_HOST}:${DEPLOY_DEV_PATH}/''' + } + } + post { + failure { + sh 'cat rsync-doc.log' + } + } + } + } + post { + always { + sh 'rm -vrf *' +// discordSend description: env.TAG_NAME ? "Le tag ${env.TAG_NAME} a fini d'exécuter :\n - [${env.DOMAIN}](${env.WEBSITE + '/'})" : env.BRANCH_NAME == 'main' || env.BRANCH_NAME == 'jenkins_tests' ? "La branche ${env.BRANCH_NAME} a fini d'exécuter :\n - [${env.DOMAIN}](${env.WEBSITE + '/'})" : env.BRANCH_NAME == 'dev' ? "La branche ${env.BRANCH_NAME} a fini d'exécuter :\n - [${env.DEV_DOMAIN}](${env.DEV_WEBSITE + '/'})" : '*pour plus de détail, voir lien au dessus.*', footer: currentBuild.durationString.replace(" and counting",""), link: env.RUN_DISPLAY_URL, result: currentBuild.currentResult, title:"[${currentBuild.currentResult}] ${currentBuild.fullDisplayName}", webhookURL: env.WEBHOOK_URL + } + } +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..359bddf --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +build: + bundle exec jekyll build + +run: + bundle exec jekyll serve diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..91823eb --- /dev/null +++ b/_config.yml @@ -0,0 +1,56 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Cuisine +email: suwako@colabois.fr +description: >- # this means to ignore newlines until "baseurl:" + Recettes de cuisine de suwako +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://cuisine.colabois.fr" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: suwakommh +github_username: suwakommh +sass: + style: compressed + +# Build settings +# theme: minima +# plugins: +# - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: + # - Gemfile + # - Gemfile.lock + # - Mafefile +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_layouts/document.html b/_layouts/document.html new file mode 100644 index 0000000..1cbb8f7 --- /dev/null +++ b/_layouts/document.html @@ -0,0 +1,26 @@ + + + + + + + {{ page.title }} | Cuisine + + + + + + + + +
+ {{ page.content }} +
+ + + diff --git a/_posts/2023-06-11-welcome-to-jekyll.markdown b/_posts/2023-06-11-welcome-to-jekyll.markdown new file mode 100644 index 0000000..be93af2 --- /dev/null +++ b/_posts/2023-06-11-welcome-to-jekyll.markdown @@ -0,0 +1,29 @@ +--- +layout: document +title: "Welcome to Jekyll!" +date: 2023-06-11 18:19:43 +0300 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +Jekyll requires blog post files to be named according to the following format: + +`YEAR-MONTH-DAY-title.MARKUP` + +Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: https://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_sass/main.scss b/_sass/main.scss new file mode 100644 index 0000000..a7f7ff2 --- /dev/null +++ b/_sass/main.scss @@ -0,0 +1,29 @@ +$main-color: #c36eff; +$accent-color: blue; +$bg-main-color: #bcbcbc; + + + +body { + font-family: sans-serif; + margin: 0; + padding: 0; +} + +nav { + display: flex; + background-color: $main-color; + padding:0; + margin: 0; + a { + margin: 0; + padding: 1.5em 1em; + color: #e1e1e1; + } +} + +.content { + margin: 3em; + padding: 3em; + background-color: $bg-main-color; +} diff --git a/about.markdown b/about.markdown new file mode 100644 index 0000000..8b4e0b2 --- /dev/null +++ b/about.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) + +You can find the source code for Minima at GitHub: +[jekyll][jekyll-organization] / +[minima](https://github.com/jekyll/minima) + +You can find the source code for Jekyll at GitHub: +[jekyll][jekyll-organization] / +[jekyll](https://github.com/jekyll/jekyll) + + +[jekyll-organization]: https://github.com/jekyll diff --git a/assets/style.scss b/assets/style.scss new file mode 100644 index 0000000..1f10224 --- /dev/null +++ b/assets/style.scss @@ -0,0 +1,4 @@ +--- +--- + +@import "main" diff --git a/index.markdown b/index.markdown new file mode 100644 index 0000000..0671507 --- /dev/null +++ b/index.markdown @@ -0,0 +1,6 @@ +--- +# Feel free to add content and custom Front Matter to this file. +# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: home +---