Compare commits

..

45 Commits
0.1.0 ... dev

Author SHA1 Message Date
iGor milhit 9036561668
scss: improve citation block spacing
Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-11-11 10:16:49 +01:00
iGor milhit 7019bf427e
fonts: serve woff2 instead of ttf
- Serves a compressed version of the Lilex fonts, to improve the page
  loading and lower it's weight. The compression was done with the help
  of https://github.com/google/woff2 as found on
  https://stackoverflow.com/a/73105293.
- Fixes #39.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-11-02 08:36:36 +01:00
iGor milhit 00e50f9055
layout: display the 5 last post on homepage
- Renames index.html to home.html.
- Adds a section, if the home_post_list parameter is set to true, that
  list the 5 last posts.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-11-01 15:04:23 +01:00
iGor milhit f4703cf789
scss: replace value by a pico variable
- Replaces a spacing value in the medias SCSS file by the pico variable.
- Fixes the IDs of the personal and professional contact headers, to
  ease linking.
- Rewrite the indentation of a shortcode.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-11-01 15:00:56 +01:00
iGor milhit 47ccca91d1
scss: improve spacing of header navigation
- Improves the spacing of the header navigation item, in order to ease
  their use.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-10-30 17:04:47 +01:00
iGor milhit 61c2446bdd
scss: set smaller font size for track lists
- Sets a smaller font size for track lists in post publishing lives.
  This suppose to use pandoc as markup converter, and to add a `<div>`
  around the list to specify the `.tracklist` class.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-10-30 09:19:04 +01:00
iGor milhit b33d73f63a
scss: add a bottom border to post-infos content
- Adds a bottom border to post-infos content to improve readability.
- Improves the boder rules to comply with the proposed order of the
  border specification (width, style, color).

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-10-28 10:33:26 +01:00
iGor milhit 93934b2502
theme: improve spacings
- Improves spacings by using the pico theme variables.
- Restores a space after separator in post informations component.
- Updates the screenshot of the README.
- Closes #38.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-10-20 20:36:41 +02:00
iGor milhit 2f094a431d
picocss: implement the pico css framework
- Updates the picocss dependency.
- Imports pico in the sass hugo pipe.
- Uses dart-sass as transpiler.
- Implements a new logo in SVG, with color adapted to the prefered
  colorsheme.
- Adapts my styles to the pico css theme.
- Updates the changelog.
- Closes #29.
- Closes #15.
- Closes #16.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-10-19 14:59:06 +02:00
iGor milhit c2ac1f5ed1
dependencies: add picocss as a dependency
* Adds picocss as a dependency.
* Upgrade dependencies.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-09-02 08:13:54 +02:00
iGor milhit a5ee40adb7
rss: add an updated date
- Adds an uptdated date to the item feed.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-08-26 12:18:32 +02:00
iGor milhit 75086bc831
layouts: update author metadata
- As `.Site.Author` is deprecated, I need to update the way this
  metadata is fetched from the site configuration file.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-08-26 08:25:16 +02:00
iGor milhit 91837de4f7 layouts: move `.Site` (deprecated) to `hugo`
Co-Authored-by: iGor milhit <igor@milhit.ch>
2024-08-15 08:26:33 +02:00
iGor milhit 9fc7238ea7
i18n: extract, translate strings to be translated
- Extracts stings to be translated.
- Translates these strings in English and French.
- Improves some comments in the templates.
- Updates the auto-changelog configuration according to the new git
  repository URL.
- Updates the CHANGELOG.
- Documents the changelog generation in the README.
- Fixes #18.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-11-27 12:15:46 +01:00
iGor milhit 282b6bcd85
documentation: update the README to new git repo
- Update the README according to the new git repository URL.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-11-07 08:36:51 +01:00
iGor milhit 1aaa6b02b5
gitInfo: configuration of the git repository
- Enables to set the git repository URL and type in the site
  configuration.
- Updates the footer to use that information.
- Updates the contact partial to use the configuration information of a
  custom git website.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-11-06 20:50:30 +01:00
iGor milhit 989343ea59
scss: improve the `verse` text layout
- Increase space between paragraph on large screens, except for the last
  paragraph.
- Add a bigger left margin on large screens.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-09-05 14:51:34 +02:00
iGor milhit 0c21f00b67
post image: get the image in the atom xml file
* Moves the image from the post header to the main content.
* Fixes an error in the publication date in the atom file.
* Adapts the style of the figure when it's a post image.
* Comments the single page template.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-01-02 20:24:06 +01:00
iGor milhit e78fd961ae
text: set font style to em nested in blockquote
* Sets the em font style to normal when it's nested in a blockquote as
  the blockquote font style is already italic.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-29 21:58:21 +01:00
iGor milhit 40da59a1eb
text: style the new citation block
- Styles the citation block.
- Clarify some rules for figures, but this is not finished yet.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-29 13:56:36 +01:00
iGor milhit 7a2aa2d1a9
homepage: move the CV file to the personal data
* Moves the CV file from the professional data to the personal data, as
  the CV is related to the person, not the job position.
* This also prepare the creation of a dedicated CV page.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-23 10:45:14 +01:00
iGor milhit 897b8e6ecf
style: add a stylesheet for printing
* Install the gutenberg framework with yarn.
* Copy the stylesheet to assets/css.
* Configure the resource in the head.html.
* Adapt the templates to hide elements on print.
* Closes #28.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-04 18:24:16 +01:00
iGor milhit a7c87c947f
layout: fix medias integration
* Limit the figure width for large screens.
* Add a small border to figures.
* Update the changelog.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-04 11:24:47 +01:00
iGor milhit 64c93b72d6
release: v0.2.0
Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-03 17:04:38 +01:00
iGor milhit c96ebbf4e9
documentation: fill in the README
* Documents the theme in the README file.
* Add discogs to the online section of the frontpage.
* Closes #6.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-03 16:51:15 +01:00
iGor milhit ad3ee27f0a
header: restore and adapt the avatar image
Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-03 11:16:28 +01:00
iGor milhit 07d9577e8c
colors: move the visited property up the others
* Moves the visited pseudo-element property before the other
  pseudo-element properties, in order to allow the latters to overwrite
  the former.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-02 22:07:46 +01:00
iGor milhit 52a8e251f9
colors: colorizes the link on hover
* Disables the changing of the font weight on hover, as it is a bad
  idea.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-02 21:51:28 +01:00
iGor milhit d3dab3c3b1
theme: simplify the main layout
* Simplifies the header and menu layout for all screen width.
* Uses only one background color (Darkest Polar).
* Change the main text color to Snow Light Grey.
* Change the header and footer text color to Snow Lightest Grey.
* Add a color for active and focused links (Frost Lighter Green).
* Simplifies the figure layout and colors.
* Adds a font-family variable and set it to the body. It uses the system
  default font.
* Tries to set all font properties in the _fonts.scss file.
* Removes the links decoration on the header and footer.
* Harmonizes the footer accordingly to the header.
* Uses the hugo regular method to generate the footer menu.
* Stops centering the content on large screens.
* Adds the content max width and content left margin to the variables.
* Sets the font weight to bold for hovered links.
* Suppress the main HTML tag of the index template, and set the
  correct classes on the main HTML tag of the baseof template.
* Uses a second level header for the title of the page, as the first
  level is used for the website title.
* Improves the layout of definition lists on the home page, with a
  better (and simpler) rendering on small screens.
* Prevents to use the post information partial on static page. This is
  done through a test on the layout property `static` of the front
  header.
* Reorders the sections of the home page and adds anchors to the section
  headers.
* Closes #8, #11.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-11-02 19:18:31 +01:00
iGor milhit c0f6de2ab1
menu: improve the menu
* Uses a regular method to generate the menu (`config.toml`).
* Improves the test to provide the good atom link according to the
  homepage, a section or a post.
* Provides a title to improve identification of the atom link.
* Adapts the menu style to mobile or wider screens.
* Adds and uses a mixin for inline lists.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-10-24 19:19:00 +02:00
iGor milhit 7bba092f68
post: display the postimage if it exists
Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-09-12 15:07:16 +02:00
iGor milhit 9ac94f1d5c
layouts: use details for the post informations
* Wraps the post informations inside a details HTML tag.
* Reduces the bottom margin of the post main heading.
* Reorders the SCSS rules in order to set the post-info class to the
  details HTML tags.
* Add the permalink to the post informations.
* Uses the i18n mechanism for the new layout strings, such as
  "post-infos" or "permalink".
* Updates the changelog.
* Closes #17.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-06-06 18:46:06 +02:00
iGor milhit e7de77b3ad
head: improve the metadata exposed
* Improves the metadata exposed, such as site or post description, site
  or post image. Make use of <https://matuzo.at/blog/html-boilerplate>.
* Removes extra empty lines or identation due to badly written layout.
  However, minifying at build could be a good idea.
* Improves very slightly the webmanifest file.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-06-05 22:02:08 +02:00
iGor milhit 029a3ac174
content: improve verses layout for small screens
* Improves the line-height globally.
* Adds the verse class to the content block according to the layout key
  of the front matter.
* Styles the verses.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-04-01 22:05:59 +02:00
iGor milhit 0190c233e9
footer: add link to the last commit
* Adds a link, if .gitInfo is set, to the last commit that modified the
  current page. The git repository URL is still hardcoded.
* Upgrades auto-changelog.
* Updates the CHANGELOG.md file.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-01-31 17:11:12 +01:00
iGor milhit 36a334cab9
list: fix date variable on the lists and sections
* Restores the Publisdate displayed on posts lists instead of Date
  (creation date).
* Restores the post-taxonomies class on the item list of the post
  information categories.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-01-31 08:32:20 +01:00
iGor milhit 817756034b
layout: improve post info in single or list pages
* Adds a lists-footer partial.
* Uses breakpoints to adapt how the post informations is aligned and
  separated when the screen gets bigger.
* Adds some space between posts in a list or section, to improve
  readability.
* Removes useless article level and renames a section into article in
  the list template.
* Uses breakpoints to adapt the navigation font-size when the screen
  gets bigger.
* Improves the font-size variables, in order to get a font-size-small
  smaller.
* Restores the section template that wasn't right, I don't know what
  I've done when rebasing and resolving conflicts…

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2021-01-30 22:56:01 +01:00
iGor milhit e1cf9185f3
shortcodes: adds an audio player with album cover
* Adds a shortcodes with an image.
* Updates the audio, stream and published shortcodes to group the
  figcaption under the audio player.
* Adds a SCSS partial for grid construction that only contains for now a
  breakpoint mixin'.
* Displays the cover above the player by default, and on the left side
  for bigger screens.
* Fixes the SCSS files according to SCSS linting.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2021-01-30 12:23:40 +01:00
iGor milhit e56fddc6e0
head: add a favicon
The favicon, used to display the little icon in the browser tab and some
other places elsewhere, has been prepared by

@Troll https://maly.io/@Troll

* Creates the static directory.
* Places the favicon's files in that directory.
* Updates the head partial template with appropriate links

Co-Authored-by: Igor Milhit <igor@milhit.ch>
Co-Authored-by: @troll <Troll@maly.io>
2020-07-17 18:48:52 +02:00
iGor milhit 26b0b8cf51
data: sort terms in post information
Sorts alphabetically the categories and tags in the post information.

Fixes #13.

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-06-15 18:25:06 +02:00
iGor milhit e541ece884
style: Implements nord color scheme
* Lists available colors in the _variables.scss file.
* Adds a _colors.scss file to set the colors.
* Sets the colors.
* Sets the width of container larger, removes header and footer borders,
  to improve display when using different colors.
* Fixes #7.

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-06-14 20:05:01 +02:00
iGor milhit ab91d9b590
RSS: Improves the RSS template
Reuses the latest Hugo embedded RSS template and adapts it with full
content and publish date.

Fixes #9, thus restoring a RSS feed different for the entire site, the
section, taxonomy terms, and so on.

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-06-01 16:03:27 +02:00
iGor milhit 31b27df95f
documentation: add a changelog and auto-changelog
* Adds auto-changelog as a node dev dependency with yarn.
* Adds .auto-changelog config file.
* Generates the first version of the changelog.

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-06-01 15:24:12 +02:00
iGor milhit 16891aa840
layout: improve list of post taxonomy terms
Wraps the flex of the taxonomy term list to prevent the content being
larger than small screens. Also improves the solution for the coma
separator, to get a coma after a term (and not before), and not after
the last item of the list.

Closes #10

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-05-25 20:29:17 +02:00
iGor milhit 920fe4d156
lists: sort list by reverse publication date
Ensures that lists and sections are sorting the blog post by publication
date, and reversely ordered. Term lists are sorted alphabetically, which
is fine.

Co-Authored-by: Igor Milhit <igor@milhit.ch>
2020-05-24 12:54:19 +02:00
65 changed files with 2900 additions and 454 deletions

8
.auto-changelog 100644
View File

@ -0,0 +1,8 @@
{
"remote": "changelog",
"output": "CHANGELOG.md",
"template": "keepachangelog",
"unreleased": true,
"commitLimit": false,
"sortCommits": "date-desc"
}

5
.gitignore vendored
View File

@ -3,4 +3,7 @@
*.css.map *.css.map
*.sass.map *.sass.map
*.scss.map *.scss.map
assets/css/
### Node, Yarn ###
node_modules/

109
CHANGELOG.md 100644
View File

@ -0,0 +1,109 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
## [Unreleased](https://git.milhit.ch/igor/portfoligor/compare/v0.2.0...HEAD)
### Fixed
- theme: improve spacings [`#38`](https://git.milhit.ch/igor/portfoligor/issues/38)
- picocss: implement the pico css framework [`#29`](https://git.milhit.ch/igor/portfoligor/issues/29) [`#15`](https://git.milhit.ch/igor/portfoligor/issues/15) [`#16`](https://git.milhit.ch/igor/portfoligor/issues/16)
- i18n: extract, translate strings to be translated [`#18`](https://git.milhit.ch/igor/portfoligor/issues/18)
- style: add a stylesheet for printing [`#28`](https://git.milhit.ch/igor/portfoligor/issues/28)
### Commits
- rss: add an updated date [`a5ee40a`](https://git.milhit.ch/igor/portfoligor/commit/a5ee40adb7d5530e6b2a912348910cbc743c163b)
- layouts: update author metadata [`75086bc`](https://git.milhit.ch/igor/portfoligor/commit/75086bc831a5c1273f8fcbb400a9d07d07e6e592)
- layouts: move `.Site` (deprecated) to `hugo` [`91837de`](https://git.milhit.ch/igor/portfoligor/commit/91837de4f73f55bfde1947382daeee32bf0195fd)
- documentation: update the README to new git repo [`282b6bc`](https://git.milhit.ch/igor/portfoligor/commit/282b6bcd85b9843eab18190ac5cb808624358e8c)
- gitInfo: configuration of the git repository [`1aaa6b0`](https://git.milhit.ch/igor/portfoligor/commit/1aaa6b02b5cab985ffc3e66aaceeeb91fd8bf134)
- scss: improve the `verse` text layout [`989343e`](https://git.milhit.ch/igor/portfoligor/commit/989343ea597de5d892530e70b038dff1e6a69511)
- post image: get the image in the atom xml file [`0c21f00`](https://git.milhit.ch/igor/portfoligor/commit/0c21f00b671865f392a27a156b7d036fb7e3949e)
- dependencies: add picocss as a dependency [`c2ac1f5`](https://git.milhit.ch/igor/portfoligor/commit/c2ac1f5ed1a583477245f72e6acdd01c627e3918)
- text: set font style to em nested in blockquote [`e78fd96`](https://git.milhit.ch/igor/portfoligor/commit/e78fd961ae14a4b69e181f8c199ea002d2691404)
- text: style the new citation block [`40da59a`](https://git.milhit.ch/igor/portfoligor/commit/40da59a1eb073f231087ee133397e649ee2bf552)
- homepage: move the CV file to the personal data [`7a2aa2d`](https://git.milhit.ch/igor/portfoligor/commit/7a2aa2d1a9f5e1951cf7977e662888af4db33da9)
- layout: fix medias integration [`a7c87c9`](https://git.milhit.ch/igor/portfoligor/commit/a7c87c947f1ca9ed56b38dd40091484ebae3c742)
## [v0.2.0](https://git.milhit.ch/igor/portfoligor/compare/0.1.1...v0.2.0) - 2021-11-03
### Fixed
- documentation: fill in the README [`#6`](https://git.milhit.ch/igor/portfoligor/issues/6)
- theme: simplify the main layout [`#8`](https://git.milhit.ch/igor/portfoligor/issues/8)
- layouts: use details for the post informations [`#17`](https://git.milhit.ch/igor/portfoligor/issues/17)
- data: sort terms in post information [`#13`](https://git.milhit.ch/igor/portfoligor/issues/13)
- style: Implements nord color scheme [`#7`](https://git.milhit.ch/igor/portfoligor/issues/7)
### Commits
- release: v0.2.0 [`64c93b7`](https://git.milhit.ch/igor/portfoligor/commit/64c93b72d6522ab6ce1ebec42ee81e0809f8cb17)
- header: restore and adapt the avatar image [`ad3ee27`](https://git.milhit.ch/igor/portfoligor/commit/ad3ee27f0a2391cd0ae3893da238c86e9ed26feb)
- colors: move the visited property up the others [`07d9577`](https://git.milhit.ch/igor/portfoligor/commit/07d9577e8cbeaf7710833e6267148cabff837cc4)
- colors: colorizes the link on hover [`52a8e25`](https://git.milhit.ch/igor/portfoligor/commit/52a8e251f9bcee37de941010bd2715125116deaa)
- menu: improve the menu [`c0f6de2`](https://git.milhit.ch/igor/portfoligor/commit/c0f6de2ab1977de839ade035c4d60596e3cea331)
- post: display the postimage if it exists [`7bba092`](https://git.milhit.ch/igor/portfoligor/commit/7bba092f68488116a7b010ee4bdddd7c1cbee071)
- head: improve the metadata exposed [`e7de77b`](https://git.milhit.ch/igor/portfoligor/commit/e7de77b3ad3f67c1833bdc3030cad034e5d0d5c6)
- content: improve verses layout for small screens [`029a3ac`](https://git.milhit.ch/igor/portfoligor/commit/029a3ac1745580c999b75ae6fd9b68e520514a91)
- footer: add link to the last commit [`0190c23`](https://git.milhit.ch/igor/portfoligor/commit/0190c233e9eb54638ddddf9cccb87405391b3c7b)
- list: fix date variable on the lists and sections [`36a334c`](https://git.milhit.ch/igor/portfoligor/commit/36a334cab9d4e2bf746214571287d35a29bdf6eb)
- shortcodes: adds an audio player with album cover [`e1cf918`](https://git.milhit.ch/igor/portfoligor/commit/e1cf9185f3f7c3cba4e97c6b2371fb9a465017da)
- head: add a favicon [`e56fddc`](https://git.milhit.ch/igor/portfoligor/commit/e56fddc6e0c15bb6839c9cfc6277df5eb8f46d03)
- layout: improve post info in single or list pages [`8177560`](https://git.milhit.ch/igor/portfoligor/commit/817756034b5c3338ea47a2108780ba0b7f47e383)
## [0.1.1](https://git.milhit.ch/igor/portfoligor/compare/0.1.0...0.1.1) - 2020-06-01
### Fixed
- RSS: Improves the RSS template [`#9`](https://git.milhit.ch/igor/portfoligor/issues/9)
- layout: improve list of post taxonomy terms [`#10`](https://git.milhit.ch/igor/portfoligor/issues/10)
### Commits
- documentation: add a changelog and auto-changelog [`31b27df`](https://git.milhit.ch/igor/portfoligor/commit/31b27df95ffcab2b5857fa63346e6a8a6998b5d1)
- lists: sort list by reverse publication date [`920fe4d`](https://git.milhit.ch/igor/portfoligor/commit/920fe4d1566b9755b2551854a6042beec8f8905a)
## 0.1.0 - 2020-05-23
### Fixed
- template: add metadata to the html head [`#3`](https://git.milhit.ch/igor/portfoligor/issues/3)
- template: compare lastmod and publishdate [`#5`](https://git.milhit.ch/igor/portfoligor/issues/5)
- style: fix wrong flex property for the main nav [`#4`](https://git.milhit.ch/igor/portfoligor/issues/4)
- shorcodes: add a smallcaps shotcode [`#1`](https://git.milhit.ch/igor/portfoligor/issues/1)
### Commits
- shortcodes: improve smallcaps shortcodes [`c6ea77b`](https://git.milhit.ch/igor/portfoligor/commit/c6ea77b4293986ac430d8ce35513207126478b2e)
- shortcodes: add audio shortcode for external src [`21d0ca2`](https://git.milhit.ch/igor/portfoligor/commit/21d0ca2e200bfd79c23f71b5476fcd21e7f090b6)
- shortcodes: add shortcodes for audio & streaming [`9f142a2`](https://git.milhit.ch/igor/portfoligor/commit/9f142a22b4ef12326d11f77a59e670bad85373e8)
- fonts: set the line height for content [`74abde3`](https://git.milhit.ch/igor/portfoligor/commit/74abde3ad20af531d26ebf544f60be9b6a3ce1d1)
- post info: improve punctuation and space usage [`9fb6836`](https://git.milhit.ch/igor/portfoligor/commit/9fb6836788489518b0a5bb39dd36e58e9fff94ff)
- navigation: add a RSS link [`84a2435`](https://git.milhit.ch/igor/portfoligor/commit/84a2435161b04ccf8fdf498591f0878ba8646edb)
- section: improve sections, lists and navigation [`c44eb75`](https://git.milhit.ch/igor/portfoligor/commit/c44eb759f0270e1c6938b8b50ec5ad10e1fa783f)
- style: start using SASS and assets [`a7a017b`](https://git.milhit.ch/igor/portfoligor/commit/a7a017b68a0719b2d21f6315729dc6f2e377b620)
- page: deactivate pagination [`cabdffa`](https://git.milhit.ch/igor/portfoligor/commit/cabdffa8ac38c9ad4c0aba8716e8bd4bdaa0b57b)
- RSS: update template with regular page variable [`8fb2022`](https://git.milhit.ch/igor/portfoligor/commit/8fb20228e9fd0e9902009ff9b2989a4d620367da)
- documentation: clean the theme.toml file [`0077387`](https://git.milhit.ch/igor/portfoligor/commit/00773873a2658638eb651916aed8300a2c84a6f9)
- layout: improve taxonomies pages [`b5dc649`](https://git.milhit.ch/igor/portfoligor/commit/b5dc64935a0fd69afdae9980feac1151e07e8b99)
- style: add rules for figure tag [`09fbaa0`](https://git.milhit.ch/igor/portfoligor/commit/09fbaa06f90ddbd0ec75424e7c0e7130dc32aefb)
- layout: improve dates logic [`74181ec`](https://git.milhit.ch/igor/portfoligor/commit/74181ecd54e27a892faf8ef0739ee175ad207ffd)
- style: set overflow to auto for pre tag [`f3189b4`](https://git.milhit.ch/igor/portfoligor/commit/f3189b44787d58fac71c286257ce34ed9df60301)
- layout: improve date displayed [`55dadc7`](https://git.milhit.ch/igor/portfoligor/commit/55dadc702cbe691c63ad12f48d03a489cd862169)
- layout: add a partial for blog post data [`02d6d2f`](https://git.milhit.ch/igor/portfoligor/commit/02d6d2f08623ed894085ee4f0594c383fba9c167)
- layout: remove the base href [`38566ba`](https://git.milhit.ch/igor/portfoligor/commit/38566ba1064dc94f9cc641ba8f5094015ed43d24)
- style: add rules for code and footnotes [`e27f8a9`](https://git.milhit.ch/igor/portfoligor/commit/e27f8a9d46843146a603c581766bd8fd13b6e4f6)
- rss: add the default rss template [`f0549ca`](https://git.milhit.ch/igor/portfoligor/commit/f0549ca0dd276be6a0d4a856944e063fb8b23373)
- layout: set the viewport meta tag [`2c7e6cf`](https://git.milhit.ch/igor/portfoligor/commit/2c7e6cf2d716edd0fda6881375ce76ff0b137f7e)
- style: add minimal stylesheet rules [`909c3ca`](https://git.milhit.ch/igor/portfoligor/commit/909c3caa9717faa009c85e815309d129228bcd71)
- layout: display basic taxonomies information [`4477b30`](https://git.milhit.ch/igor/portfoligor/commit/4477b3033ee9ada7eb3fb89f2ded351a2b16f1bb)
- layout: add default and partials [`498a724`](https://git.milhit.ch/igor/portfoligor/commit/498a724195695c837eb31d612df0d0365a9a6e1b)
- homepage: structure the homepage content [`9b7e39a`](https://git.milhit.ch/igor/portfoligor/commit/9b7e39acd22202b39c1988dd5db8e73e281796a0)
- homepage: personnal data [`788c7c6`](https://git.milhit.ch/igor/portfoligor/commit/788c7c621bba53a0bff03441518bc43259a09d3c)
- theme: initialize new hugo theme [`3b7347c`](https://git.milhit.ch/igor/portfoligor/commit/3b7347cdee8d2a7bf5fa1a412bdb15ea906dd0c3)

154
README.md
View File

@ -1,3 +1,153 @@
# portfoliGor # [portfoliGor][1]
Yet another HUGO portfolio theme, that I will use for igor.milhit.ch. Yet another HUGO portfolio theme, that I'm writing to my own purpose on
<https://igor.milhit.ch>, published with the regular [MIT license][6].
It displays on the front page a personal and professional description, and ways
to contact the person. It has a blog section too.
The HTML `<head>` has a metadata section to expose metadata that are useful for
reference manager as Zotero (in Dublin Core) or to social media (see
[below][5]).
As the release version can tell, this theme is still in development and misses
lot of things [see the opened [issues][2]].
You can install it as the [HUGO documentation][4] recommends.
![Screenshot][7]
## Configuration
### List of last posts on the homepage
If you want the 5 last posts being listed on the homepage, add the
`home_post_list` to the configuration. Set it to true.
### Personal and professional description
The homepage displays, if it exists, the content of the main index markdown
file that could be placed at the root of the content directory [[HUGO's
documentation][3]].
There's also three sections that can be displayed:
- The online presence.
- The personal contacts.
- The professional contacts.
It depends on the data provided by the site configuration, in the `params`
section. Below a comprehensive example:
```toml
[params]
# Professional contact data
[params.contactsPro]
address = ""
phone = "[as-used-by-a-phone]"
mobile = "[as-used-by-a-phone]"
email = ""
cv = "[file-added-in-static-directory]"
publickey = "[file-added-in-static-directory]"
fingerprint = ""
# Personal contact data
[params.contactsPriv]
address = ""
phone = "[as-used-by-a-phone]"
mobile = "[as-used-by-a-phone]"
email = ""
publickey = "[file-added-in-static-directory]"
fingerprint = ""
xmpp = "[handle]"
# Web accounts
[params.online]
github = "[username]"
framagit = "[username]"
mastodon = "[URL]"
twitter = "[username]"
keybase = "[username]"
wikipedia = "[french-site-username]"
openstreetmap = "[username]"
discogs = "[username]"
```
### Layout configuration
- Add `layout: verse` to the front header of a specific content to improve
format for text in verse. Verse should be separated by a line break, strophes
are paragraphs.
- Add `layout: static` to the front header of a static page, thus preventing to
display the post metadata such as the publication date.
### Date management
You should set `enableGitInfo` to `True`, as it is used by the post metadata
display for the last modification date, and in the footer to provide a link to
the last commit modifying the content (still hard coded though, #14).
The publication date uses the `date` field of the front matter, that should be
automatically set by the `hugo new` command. If the content is published later,
you can add the `publishdate` field manually, and it will override the `date`
data.
All further modification dates should be provided by the `git` metadata. But
you can also set manually the `lastmod` date in the front matter.
To make it work, in the site configuration file, you should configure the date
management as below:
```toml
[frontmatter]
date = ["date", "publishDate"]
lastmod = [":git", "lastmod"]
```
### Social media metadata
An image for the website can be defined in the site configuration. Place an
image optimized for the web, in the 1200 × 600 pixels resolution, in the
`static/images/` directory. Then provide in the site configuration it's file
name and image description (max 80 chars, with a trailing dot):
```toml
[params]
Description = "[Small website description]"
Image = "mySite.jpg"
ImageDescription = "[Alternate text]"
```
For each content (blog post), a social media image can be defined in the front
matter. The image have to be placed in the same directory (`static/images/`),
same resolution. The frontmatter is as follow:
```toml
description: "[post-description]"
postimage: "[file-name.extension]"
postimagedescription: "[Alternate text]"
```
## Changelog
The Changelog is described in [`CHANGELOG.md`][8]. It's generated by
[`auto-changelog`][9]. The configuration is in [`.auto-changelog`][10].
To generate it, use the following command:
```bash
yarn auto-changelog
```
[1]: https://git.milhit.ch/igor/portfoligor
[2]: https://git.milhit.ch/igor/portfoligor/issues
[3]: https://gohugo.io/templates/homepage/#add-content-and-front-matter-to-the-homepage
[4]: https://gohugo.io/getting-started/quick-start/#step-3-add-a-theme
[5]: #social-media-metadata
[6]: https://git.milhit.ch/igor/portfoligor/src/branch/dev/LICENSE
[7]: screenshots/theme-example-v030.png "Screenshot of my own site using this theme"
[8]: ./CHANGELOG.md
[9]: https://github.com/CookPete/auto-changelog
[10]: ./.auto-changelog

View File

@ -0,0 +1,574 @@
/*!
* Gutenberg
*
* MIT Fabien Sa
* https://github.com/BafS/Gutenberg
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */ }
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0; }
/**
* Render the `main` element consistently in IE.
*/
main {
display: block; }
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0; }
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box;
/* 1 */
height: 0;
/* 1 */
overflow: visible;
/* 2 */ }
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */ }
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent; }
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none;
/* 1 */
text-decoration: underline;
/* 2 */
text-decoration: underline dotted;
/* 2 */ }
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder; }
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */ }
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%; }
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline; }
sub {
bottom: -0.25em; }
sup {
top: -0.5em; }
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none; }
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-size: 100%;
/* 1 */
line-height: 1.15;
/* 1 */
margin: 0;
/* 2 */ }
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
/* 1 */
overflow: visible; }
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
/* 1 */
text-transform: none; }
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button; }
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0; }
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; }
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em; }
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box;
/* 1 */
color: inherit;
/* 2 */
display: table;
/* 1 */
max-width: 100%;
/* 1 */
padding: 0;
/* 3 */
white-space: normal;
/* 1 */ }
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline; }
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto; }
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
/* 1 */
padding: 0;
/* 2 */ }
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto; }
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */ }
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none; }
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */ }
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block; }
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item; }
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none; }
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none; }
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box; }
*,
*:before,
*:after,
p:first-letter,
div:first-letter,
blockquote:first-letter,
li:first-letter,
p:first-line,
div:first-line,
blockquote:first-line,
li:first-line {
background: transparent !important;
box-shadow: none !important;
text-shadow: none !important; }
html {
font-size: 16px;
margin: 0;
padding: 0; }
body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
background: #fff !important;
color: #000 !important;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 1rem;
line-height: 1.5;
margin: 0 auto;
text-rendering: optimizeLegibility; }
p,
blockquote,
table,
ul,
ol,
dl {
margin-bottom: 1.5rem;
margin-top: 0; }
p:last-child,
ul:last-child,
ol:last-child {
margin-bottom: 0; }
h1,
h2,
h3,
h4,
h5,
h6 {
color: #000;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
line-height: 1.2;
margin-bottom: 0.75rem;
margin-top: 0; }
h1 {
font-size: 2.5rem; }
h2 {
font-size: 2rem; }
h3 {
font-size: 1.75rem; }
h4 {
font-size: 1.5rem; }
h5 {
font-size: 1.25rem; }
h6 {
font-size: 1rem; }
a, a:visited {
color: #000;
text-decoration: underline;
word-wrap: break-word; }
table {
border-collapse: collapse; }
thead {
display: table-header-group; }
table,
th,
td {
border-bottom: 1px solid #000; }
td,
th {
padding: 8px 16px;
page-break-inside: avoid; }
code,
pre,
kbd {
border: 1px solid #bbb;
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
font-size: 85%; }
code,
kbd {
padding: 3px; }
pre {
margin-bottom: 1.5rem;
padding: 10px 12px; }
pre code,
pre kbd {
border: 0; }
::-webkit-input-placeholder {
color: transparent; }
:-moz-placeholder {
color: transparent; }
::-moz-placeholder {
color: transparent; }
:-ms-input-placeholder {
color: transparent; }
blockquote {
border: 0;
border-left: 5px solid #bbb;
margin-left: 1px;
padding: 12px 1.5rem; }
[dir='rtl'] blockquote {
border-left: 0;
border-right: 5px solid #bbb;
margin-left: 0;
margin-right: 1px; }
blockquote:first-child {
margin-top: 0; }
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0; }
blockquote footer {
display: block;
font-size: 80%; }
img {
border: 0;
display: block;
max-width: 100% !important;
vertical-align: middle; }
hr {
border: 0;
border-bottom: 2px solid #bbb;
height: 0;
margin: 2.25rem 0;
padding: 0; }
dt {
font-weight: bold; }
dd {
margin: 0;
margin-bottom: 0.75rem; }
abbr[title],
acronym[title] {
border: 0;
text-decoration: none; }
table,
blockquote,
pre,
code,
figure,
li,
hr,
ul,
ol,
a,
tr {
page-break-inside: avoid; }
h2,
h3,
h4,
p,
a {
orphans: 3;
widows: 3; }
h1,
h2,
h3,
h4,
h5,
h6 {
page-break-after: avoid;
page-break-inside: avoid; }
h1 + p,
h2 + p,
h3 + p {
page-break-before: avoid; }
img {
page-break-after: auto;
page-break-before: auto;
page-break-inside: avoid; }
pre {
white-space: pre-wrap !important;
word-wrap: break-word; }
body {
padding-bottom: 2.54cm;
padding-left: 1.8cm;
padding-right: 1.8cm;
padding-top: 2.54cm; }
a[href^='http']:after, a[href^='ftp']:after {
content: " (" attr(href) ")";
font-size: 80%; }
a[href$='.jpg']:after, a[href$='.jpeg']:after, a[href$='.gif']:after, a[href$='.png']:after {
display: none; }
abbr[title]:after,
acronym[title]:after {
content: " (" attr(title) ")"; }
.page-break,
.break-before,
.page-break-before {
page-break-before: always; }
.break-after,
.page-break-after {
page-break-after: always; }
.avoid-break-inside {
page-break-inside: avoid; }
.no-print {
display: none; }
a.no-reformat:after {
content: ''; }
abbr[title].no-reformat:after,
acronym[title].no-reformat:after {
content: ''; }
.no-reformat abbr:after,
.no-reformat acronym:after,
.no-reformat a:after {
content: ''; }

View File

@ -0,0 +1 @@
html,body{font-size:1.25rem}code,figure p,.footnotes,.footnote-ref,.main-footer,nav,.post-info,.posts-list footer{font-size:1rem}#content{line-height:1.4}.main-footer ul{display:flex;align-items:center;justify-content:flex-end;border-top:solid .1em #e1e1e1;padding-top:1em;margin-bottom:1em}.main-footer li{list-style:none;margin-right:.5em}.smallcaps{font-variant:small-caps}.main-header section{display:flex;flex-direction:column;border-bottom:solid .1em #e1e1e1;padding-bottom:1em}.main-header header{flex-grow:1}.title{display:flex;align-items:center}.avatar{border-radius:50%;width:5rem;margin-right:1rem}nav{margin-right:.5em;align-self:flex-end}.container{max-width:35rem;margin:0 auto}body{display:flex;flex-direction:column;height:100vh}main{flex-grow:1}.posts-list{display:flex;flex-direction:column;margin-bottom:.5em}dl{display:inline-flex;flex-flow:row;flex-wrap:wrap;width:100%;overflow:visible}dt{flex:0 0 39%;word-wrap:anywhere}dt::after{content:":"}dd{flex:0 0 59%;margin-left:auto;text-align:left}.contents{padding:0}.contents li{list-style:none}.audio audio,.stream audio{width:100%;border-radius:.5rem}.audio figcaption p,.stream figcaption p{text-align:left;font-size:1rem;padding-left:.5rem}.audio>p,.stream>p{font-size:1rem;font-variant:small-caps}figure{background-color:#d3d3d3;padding:.4rem;border-radius:5px;margin-right:.4rem;margin-left:.4rem}figure img{width:100%}figure p{text-align:center;margin:.2rem 0}.post-header{margin:1em 0 1em 0}.post-header h1{margin:0}.post-info{display:flex;flex-wrap:wrap;padding:0;margin-top:0}.post-info>li{padding-right:.5rem}.post-info li{list-style:none;display:flex}.post-info li>ul{display:flex;padding:0;white-space:pre}.post-info li>ul:before{content:" ";white-space:pre}.post-taxonomies+.post-taxonomies:before{content:", "}code,pre{background-color:#d3d3d3;border-radius:5px;padding:.2rem}pre{overflow:auto;max-width:95vw}.terms{display:flex;flex-wrap:wrap}.term{margin-right:1rem}/*# sourceMappingURL=style.css.map */

View File

@ -1,24 +1,62 @@
/* ///////////////////
* ************** * // //
* FONTS * // FONT-FACE //
* ************** * // //
*/ ///////////////////
html, body { @font-face {
font-size: $font-size-base; font-family: "mylilex";
font-weight: 100;
src: url("/fonts/Lilex-Thin.woff2") format('woff2');
} }
@font-face {
font-family: "mylilex";
font-weight: 200;
src: url("/fonts/Lilex-ExtraLight.woff2") format('woff2');
}
@font-face {
font-family: "mylilex";
font-weight: 400;
src: url("/fonts/Lilex-Regular.woff2") format('woff2');
}
@font-face {
font-family: "mylilex";
font-weight: 700;
src: url("/fonts/Lilex-Bold.woff2") format('woff2');
}
///////////////////
// //
// FONTS //
// //
///////////////////
code, code,
figure p, figure figcaption,
.footnotes, .footnotes,
.footnote-ref, .footnote-ref,
.list-footer,
.main-footer, .main-footer,
nav, nav,
.post-info, .post-info,
.posts-list footer { .posts-list footer {
font-size: $font-size-small; font-size: smaller;
} }
#content { blockquote {
line-height: 1.4; // TODO: fix homepage font-style: italic;
}
.smallcaps,
#licence {
font-variant: small-caps;
}
.home-lists {
dt {
font-weight: 700;
}
} }

View File

@ -1,26 +1,20 @@
/* ///////////////////
* ************** * // //
* FOOTER * // FOOTER //
* ************** * // //
*/ ///////////////////
.main-footer { .main-footer {
nav {
ul { ul {
display: flex; flex-grow: 1;
align-items: center; justify-content: space-evenly;
justify-content: flex-end;
border-top: solid .1em #e1e1e1;
padding-top: 1em;
margin-bottom: 1em;
} }
li {
list-style: none; a {
margin-right: .5em; text-decoration: none;
}
} }
} }
.smallcaps {
font-variant: small-caps;
}

View File

@ -1,34 +1,40 @@
/* ///////////////////
* ************** * // //
* HEADER * // MAIN HEADER //
* ************** * // //
*/ ///////////////////
.main-header { .logo {
section { height: 3rem;
display: flex; margin-right: .5em;
flex-direction: column;
// align-items: center;
border-bottom: solid .1em #e1e1e1;
padding-bottom: 1em;
}
header {
flex-grow: 1;
}
} }
.title { .title {
text-decoration: none;
}
.main-header {
nav {
display: flex; display: flex;
align-items: center; flex-direction: column;
}
.avatar { ul {
border-radius: 50%; align-self: center;
width: 5rem; }
margin-right: 1rem;
}
nav { a {
margin-right: .5em;
align-self: flex-end; h1 {
margin: 0;
}
}
.header-navigation {
width: 100%;
justify-content: space-evenly;
}
}
} }

View File

@ -1,13 +1,8 @@
/* //////////////////
* ************** * // //
* LAYOUT * // LAYOUT //
* ************** * // //
*/ //////////////////
.container {
max-width: 35rem; /* 960px */
margin: 0 auto;
}
body { body {
display: flex; display: flex;
@ -18,5 +13,3 @@ body {
main { main {
flex-grow: 1; flex-grow: 1;
} }

View File

@ -1,12 +1,133 @@
/* ///////////////////
* ************** * // //
* LISTS * // LISTS //
* ************** * // //
*/ ///////////////////
/* Lists of posts (like in categories page) */
.posts-list { .posts-list {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: .5em; margin-bottom: .5em;
> article {
padding-bottom: .5rem;
}
} }
/* List of last posts, on the home page*/
.home-posts-list {
padding-bottom: var(--pico-spacing);
border-bottom: var(--pico-muted-border-color) solid var(--pico-border-width);
article {
display: inline-block;
}
article:not(:last-child) {
&::after {
content: ' / ';
white-space: pre;
}
}
}
/* Lists of the main page, for contact */
.home-lists {
margin: 0;
@media (min-width: 768px) {
display: inline-flex;
flex-flow: row;
flex-wrap: wrap;
overflow: visible;
width: 100%; // set the container width
dt {
flex: 0 0 24%;
word-wrap: anywhere;
}
dd {
flex: 0 0 74%;
margin-left: auto;
text-align: left;
}
}
dd {
margin-left: .5rem;
}
dt::after {
content: ':';
}
}
/* List under the post information summary */
.post-info {
summary,
ol,
ul,
li {
margin: 0;
}
ul {
padding: 0 0 calc(var(--pico-spacing)/1) 0;
}
li {
display: flex;
> ul {
display: flex;
flex-wrap: wrap;
padding: 0;
white-space: pre;
}
> ul::before {
content: ' ';
white-space: pre;
}
}
}
details[open] > ul {
border-bottom: var(--pico-border-width) solid var(--pico-muted-border-color);
}
@media (min-width: 576px) {
.post-info > ul {
display: flex;
flex-wrap: wrap;
> li:not(:last-child) {
&::after {
content: ' / ';
white-space: pre;
}
}
}
}
.post-taxonomies:not(:last-child) {
&::after {
content: ', ';
}
}
.tracklist {
font-size: smaller;
}
.list-footer {
padding-left: .5em;
}

View File

@ -1,39 +0,0 @@
/*
* ************** *
* MAIN *
* ************** *
*/
dl {
display: inline-flex;
flex-flow: row;
flex-wrap: wrap;
width: 100%; /* set the container width*/
overflow: visible;
}
dt {
flex: 0 0 39%;
word-wrap: anywhere;
}
dt::after {
content: ":";
}
dd {
flex:0 0 59%;
margin-left: auto;
text-align: left;
}
.contents {
padding: 0;
li {
list-style: none;
}
}
blockquote {
font-style: italic;
}

View File

@ -1,30 +1,89 @@
.audio, .stream { ///////////////////
// //
// MEDIAS //
// //
///////////////////
@use "@picocss/pico/scss/colors/index" as *;
.audio,
.stream {
border: var(--pico-border-width) solid $purple-200 ;
audio { audio {
border-radius: var(--pico-border-radius);
width: 100%; width: 100%;
border-radius: .5rem;
} }
figcaption p { figcaption p {
font-size: smaller;
padding-left: .5em;
text-align: left; text-align: left;
font-size: $font-size-small;
padding-left: .5rem;
}
> p {
font-size: $font-size-small;
font-variant: small-caps;
} }
} }
.audio-with-image {
display: flex;
flex-direction: column;
@media (min-width: 768px) {
flex-direction: row;
img {
width: 8em;
}
div {
align-content: space-between;
display: flex;
flex-flow: wrap;
}
}
@media (min-width: 1024px) {
div {
flex-grow: 4;
}
}
audio {
border-radius: 0;
}
}
figure { figure {
background-color: lightgrey; border-radius: var(--pico-border-radius);
padding: .4rem; margin: var(--pico-spacing) auto;
border-radius: 5px; padding: .4em;
margin-right: .4rem; border: var(--pico-border-width) solid $purple-200 ;
margin-left: .4rem; width: 80%;
img { img {
width: 100%; width: 100%;
} }
figcaption {
font-size: smaller;
p { p {
margin: .2em 0;
text-align: center; text-align: center;
margin: .2rem 0; }
}
}
.post-image {
border: none;
width: 100%;
padding-left: 0;
@media (min-width: 768px) {
max-width: 97%;
padding-right: 0;
} }
} }

View File

@ -0,0 +1,39 @@
/////////////////////////
// //
// Pico CSS //
// https://picocss.com //
// //
/////////////////////////
@use "@picocss/pico/scss/pico" with (
$theme-color: "purple",
$enable-semantic-container: true,
$enable-responsive-spacings: true,
$modules: (
// deactive unused modules
"forms/input-color": false,
"forms/input-date": false,
"forms/input-file": false,
"forms/input-range": false,
"forms/input-search": false,
"components/card": false,
"components/dropdown": false,
"components/loading": false,
"components/modal": false,
"components/progress": false,
"components/tooltip": false,
),
// Limit the viewport width for large screen
$breakpoints: (
lg: (
viewport: 43rem,
),
xl: (
viewport: 43rem,
),
xxl: (
viewport: 43rem,
),
)
);

View File

@ -1,40 +0,0 @@
/*
* ************** *
* POST *
* ************** *
*/
.post-header {
margin: 1em 0 1em 0;
h1 {
margin: 0;
}
}
.post-info {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 0;
margin-top: 0;
> li {
padding-right: .5rem;
}
li {
list-style: none;
display: flex;
> ul {
display: flex;
padding: 0;
white-space: pre;
}
> ul:before {
content: " ";
white-space: pre;
}
}
}
.post-taxonomies + .post-taxonomies:before {
content: ", ";
}

View File

@ -0,0 +1,54 @@
////////////////////
// //
// Texts //
// //
////////////////////
@use "@picocss/pico/scss/colors/index" as *;
.verse {
line-height: var(--line-height-verse);
@media (min-width: 768px) {
margin-left: 3em;
}
p:not(:last-child) {
margin-bottom: var(--verse-p-bottom-space);
@media (min-width: 768px) {
margin-bottom: var(--verse-p-bottom-space-larger);
}
}
br {
margin-bottom: calc(var(--pico-spacing)/2);
}
}
mark {
background-color: $purple-100;
}
.citation {
border: none;
width: initial;
blockquote {
margin: 0;
margin-left: calc(var(--pico-spacing)/2);
padding: 0 0 0 calc(var(--pico-spacing)/2);
p {
text-align: left;
margin: .4em 0;
}
em {
font-style: normal;
}
figcaption {
text-align: right;
margin-top: var(--pico-spacing);
}
}
}

View File

@ -1,2 +1,42 @@
$font-size-base: 1.25rem; // Overide pico variables
$font-size-small: 1rem;
:root {
--pico-font-family-monospace: "mylilex",
monospace,
var(--pico-font-family-emoji);
--pico-font-family: "mylilex", serif, var(--pico-font-family-emoji);
--pico-font-weight: 400;
--line-height-verse: 1.4;
--verse-p-bottom-space: 2em;
--verse-p-bottom-space-larger: 3em;
}
h1,
h2,
h3,
h4,
h5,
h6,
thead th,
thead td,
tfoot th,
tfoot td {
--pico-font-weight: 700;
}
// Adapt the SVG logo color to the colorscheme
[data-theme=light],
:root:not([data-theme=dark]) {
--logo-color: var(--pico-color);
}
@media only screen and (prefers-color-scheme: dark) {
:root:not([data-theme]) {
--logo-color: var(--pico-color);
}
}
[data-theme=dark] {
--logo-color: var(--pico-color);
}

View File

@ -1,41 +1,15 @@
/* ////////////////////
* ************** * // //
* Includes * // Includes //
* ************** * // //
*/ ////////////////////
@import '_variables.scss'; @use "picocss"; /* The pico css framework, customized */
@import '_fonts.scss'; @use "fonts"; /* The font face and fonts settings */
@import '_footer.scss'; @use "variables"; /* Overrides the pico css variables and sets others */
@import '_header.scss'; @use "layout"; /* Main structure display */
@import '_layout.scss'; @use "header";
@import '_lists.scss'; @use "footer";
@import '_main_body.scss'; @use "lists"; /* Lists, post-infos, posts-lists */
@import '_medias.scss'; @use "medias"; /* Audio, streams, figures, post-images */
@import '_post.scss'; @use "texts";
/*
* ************** *
* DIVERS *
* ************** *
*/
code, pre {
background-color: lightgrey;
border-radius: 5px;
padding: .2rem;
}
pre {
overflow: auto;
max-width: 95vw;
}
.terms {
display: flex;
flex-wrap: wrap;
}
.term {
margin-right: 1rem;
}

26
i18n/en.toml 100644
View File

@ -0,0 +1,26 @@
address = "Address"
audioDownload = "Your browser does not support the audio tag, you can access the file directly with"
categories = "Categories"
contactsPriv = "Personal contacts"
contactsPro = "Professional contacts"
cv = "cv"
defaultImageAlt = "Grayish sheep portrait"
e-mail = "e-mail"
fingerprint = "Fingerprint"
lastCommit = "Last commit modifying this page"
lastPosts = "Last Posts"
lastUpdate = "Last update"
mobile = "Mobile"
online = "Online"
permalink = "Permalink"
post-infos = "Post information"
pubkey = "Public key"
published = "Published on"
subscribe = "Subscribe"
subscribeToPublications = "Subscribe to posts"
tags = "Tags"
tel = "Phone"
thisLink = "this link"
toSection = "from this section"
toWebsite = "from the website"
xmpp = "xmpp"

26
i18n/fr.toml 100644
View File

@ -0,0 +1,26 @@
address = "Adresse"
audioDownload = "Ton navigateur ne supporte pas la balise audio, tu peux télécharger le fichier avec"
categories = "Catégories"
contactsPriv = "Contacts personnels"
contactsPro = "Contacts professionnels"
cv = "cv"
defaultImageAlt = "Portrait de mouton en nuances de gris"
e-mail = "e-mail"
fingerprint = "Empreinte"
lastCommit = "Dernier commit modifiant cette page"
lastPosts = "Derniers billets"
lastUpdate = "Dernière mise à jour"
mobile = "Téléphone mobile"
online = "En ligne"
permalink = "Permalien"
post-infos = "Informations sur le billet"
pubkey = "Clé publique"
published = "Publié le"
subscribe = "S'abonner"
subscribeToPublications = "S'abonner aux publications"
tags = "Tags"
tel = "Téléphone"
thisLink = "ce lien"
toSection = "de cette section"
toWebsite = "du site"
xmpp = "xmpp"

View File

@ -1,11 +1,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ .Language.Lang }}" prefix="og: http://ogp.me/ns#"> <html lang="{{ .Language.Lang }}" prefix="og: http://ogp.me/ns#">
{{- partial "head.html" . -}} {{ partial "head.html" . }}
<body> <body>
{{- partial "header.html" . -}} {{- partial "header.html" . -}}
<main class="container"> <main aria-role="main" class="container"
itemscope itemtype="https://schema.org/Person">
{{- block "main" . }}{{- end }} {{- block "main" . }}{{- end }}
</main> </main>
{{- partial "footer.html" . -}} {{- partial "footer.html" . -}}
</body> </body>
</html> </html>

View File

@ -0,0 +1,33 @@
{{ define "main" }}
<!-- List the 5 last posts if the home_post_list parameters is set to true -->
{{ if .Site.Params.home_post_list }}
<section class="home-posts-list">
<h2>{{ i18n "lastPosts" }}</h2>
<!--
Ranges regular pages by the publish date, in reverse order, to display the
post titles of the section from most recent to older, and the category.
-->
{{ range first 5 .Site.RegularPages.ByPublishDate.Reverse }}
<article>
<a href="{{ .Permalink }}">
{{- .Title -}}
</a>
</article>
{{ end }}
</section>
{{ end }}
<section class="home-content">
<!-- Content for home.html, as a sort of list page,
is pulled from content/_index.md -->
{{.Content}}
{{ if .Site.Params.online }}
{{ partial "online" . }}
{{ end }}
{{ if .Site.Params.contactsPriv }}
{{ partial "perso" .}}
{{ end }}
{{ if .Site.Params.contactsPro }}
{{ partial "pro" . }}
{{ end }}
</section>
{{ end }}

View File

@ -1,22 +1,20 @@
{{ define "main" }} {{ define "main" }}
<main class="container">
<header> <header>
<h1>{{.Title}}</h1> <h2>{{.Title}}</h2>
</header> </header>
<!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> <!-- "{{.Content}}" pulls from the markdown content of the corresponding
_index.md -->
{{.Content}} {{.Content}}
<article class="posts-list"> <section class="grid posts-list">
<!-- Ranges through content/posts/*.md --> <!-- Ranges through content/posts/*.md in reverse order, then displays
{{ range .Pages }} the post title, the date and categories (list-footer template) -->
<article class="posts-list"> {{ range .Pages.ByPublishDate.Reverse }}
<article> <article>
<a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> <a href="{{.Permalink}}">{{.Title}}</a>
</article> {{ partial "lists-footer.html" . }}
<footer>
{{ if isset .Params "publishdate" }}
{{.PublishDate.Format "2006-01-02"}}
{{ end }}
</footer>
</article> </article>
{{ end }} {{ end }}
</article> </section>
</main>
{{ end }} {{ end }}

View File

@ -1,24 +1,39 @@
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }} {{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel> <channel>
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title> <title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link> <link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description> <description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }} <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }} <language>{{.}}</language>{{end}}{{ with .Site.Params.author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }} <managingEditor>{{.}}{{ with $.Site.Params.author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }} <webMaster>{{.}}{{ with $.Site.Params.author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }} <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }} <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{ with .OutputFormats.Get "RSS" }} {{ with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }} {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }} {{ end }}
{{ range .Site.RegularPages }} {{ range $pages }}
<item> <item>
<title>{{ .Title }}</title> <title>{{ .Title }}</title>
<link>{{ .Permalink }}</link> <link>{{ .Permalink }}</link>
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> <pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}} {{ if (and (isset .Params "lastmod") (gt (dateFormat "2006-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
<updated>{{ .Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</updated>
{{ end }}
{{ with .Site.Params.author.email }}<author>{{.}}{{ with $.Site.Params.author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid> <guid>{{ .Permalink }}</guid>
<description>{{ .Content | html }}</description> <description>{{ .Content | html }}</description>
</item> </item>

View File

@ -1,31 +1,27 @@
{{ define "main" }} {{ define "main" }}
<header> <header>
<h1>{{.Title}}</h1> <h2>{{.Title}}</h2>
</header> </header>
<!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> <!-- "{{.Content}}" pulls from the markdown content of the corresponding
<section> _index.md -->
<main>
<header> <header>
{{.Content }} {{.Content }}
</header> </header>
<section class="posts-list"> <section class="posts-list">
{{ range .Pages }} <!--
<article class="posts-list"> Ranges pages by the publish date, in reverse order, to display the
post titles of the section from most recent to older. It adds to
the title the date and categories (from lists-footer.html)
-->
{{ range .Pages.ByPublishDate.Reverse }}
<article> <article>
<a href="{{ .Permalink }}"> <a href="{{ .Permalink }}">
{{.Title}} {{.Title}}
</a> </a>
</article> {{ partial "lists-footer.html" . }}
<footer>
{{ .PublishDate.Format "2006-01-02" }}
{{ with .Params.categories }}
{{ range . }}
/ <a href="{{ "categories" | absURL}}/{{ . | urlize }}">{{ . }}</a>
{{ end }}
{{ end }}
</footer>
</article> </article>
{{ end }} {{ end }}
</section> </section>
</section> </main>
{{ end }} {{ end }}

View File

@ -1,10 +1,31 @@
{{ define "main" }} {{ define "main" }}
<header class="post-header"> <header class="post-header">
<h1 id="title">{{ .Title }}</h1> <h1 id="title">{{ .Title }}</h1>
<!--
If it's a static page, then the post information is useless and
therefore not displayed. The test checks if the page IS NOT a static
page.
-->
{{- if ne .Layout "static" }}
{{- partial "post-info.html" . -}} {{- partial "post-info.html" . -}}
{{ end }}
</header> </header>
<article id="content"> <!--
{{ .Content }} If in the front matter, the layout key is set to verse, then the class is
added.
-->
<article {{ if eq .Layout "verse" }} class="content, {{ .Layout }}"
{{ else }} class="content" {{ end -}}>
<!--
Displays the image associated to the post, if set in the front matter.
-->
{{ if .Params.postimage -}}
<figure class="post-image">
<img src="/images/{{ .Params.postimage }}"
alt="{{ .Params.postimagedescription }}">
</figure>
{{ end }}
{{ .Content -}}
</article> </article>
{{ end }} {{ end -}}

View File

@ -1,13 +1,18 @@
{{ define "main" }} {{ define "main" }}
<header> <header>
<h1>{{.Title}}</h1> <h2>{{.Title}}</h2>
</header> </header>
<!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md --> <!-- "{{.Content}}" pulls from the markdown content of the corresponding
_index.md -->
{{.Content}} {{.Content}}
<article class="terms"> <article class="terms">
<!-- Ranges throught categories, alphabetically, then displays the posts
title with the number of item in the category -->
{{ range .Data.Terms.Alphabetical }} {{ range .Data.Terms.Alphabetical }}
<article class="term"> <article class="term">
<p><a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Count }})</p> <p>
<a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Count }})
</p>
</article> </article>
{{ end }} {{ end }}
</article> </article>

View File

@ -1,15 +0,0 @@
{{ define "main" }}
<main aria-role="main" class="container" itemscope itemtype="https://schema.org/Person">
{{if not .Site.Params.contactsPriv.hide }}
{{ partial "perso" .}}
{{ end }}
{{if not .Site.Params.contactsPro.hide }}
{{ partial "pro" . }}
{{ end }}
<!-- Note that the content for index.html, as a sort of list page, will pull from content/_index.md -->
{{.Content}}
{{ if not .Site.Params.online.hide }}
{{ partial "online" . }}
{{ end }}
</main>
{{ end }}

View File

@ -1,9 +1,31 @@
<footer class="main-footer"> {{ $currentPage := . -}}
<ul class="container"> {{ $siteSources := .Site.Params.siteSources }}
<li><a href="https://framagit.org/iGormilhit/igor.milhit">Sources</a></li> <footer class="container main-footer no-print">
<li><a href="http://creativecommons.org/licenses/by/4.0/"> <nav role="navigation" aria-label="Secondary">
<span class="smallcaps">cc-by</span> <ul>
</a> {{ range sort .Site.Menus.footer -}}
<li class="nav-item">
<a class="nav-item-link{{if or ($currentPage.IsMenuCurrent "footer" .) ($currentPage.HasMenuCurrent "footer" .) }} active{{end}}"
id="{{ .Identifier }}"
href="{{ .URL }}" title="{{ .Title }}">{{ .Name }}</a>
</li> </li>
{{ end -}}
{{ with .GitInfo }}
{{ $git := . }}
<li>
<code>
<a href="
{{- if eq $siteSources.type "gitlab" -}}
{{ $siteSources.url }}/-/
{{- else -}}
{{ $siteSources.url }}/
{{- end -}}
commit/{{- $git.Hash -}}"
title="{{ i18n "lastCommit" }}">
{{ $git.AbbreviatedHash }}
</a>
</code>
</li>
{{ end }}
</ul> </ul>
</footer> </footer>

View File

@ -1,20 +1,39 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width">
<title>{{ .Title }} | {{ .Site.Title }}</title> <title>{{ .Title }} - {{ .Site.Title }}</title>
<link rel="canonical" href="{{ .Permalink }}"> <link rel="canonical" href="{{ .Permalink }}">
{{- partial "metadata.html" . -}} {{- if hugo.IsServer -}}
{{ if .Site.IsServer }} {{- $options := (dict
{{ $options := (dict "targetPath" "styles.css" "enableSourceMap" true) }} "targetPath" "styles.css"
{{ $styles := resources.Get "scss/main.scss" | toCSS $options }} "transpiler" "dartsass"
"includePaths" (slice "node_modules")
"enableSourceMap" true
) -}}
{{- $styles := resources.Get "scss/main.scss" | toCSS $options }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen"> <link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen">
{{ else }} {{- else -}}
{{ $options := (dict "targetPath" "styles.css") }} {{- $options := (dict
{{ $styles := resources.Get "scss/main.scss" | toCSS $options | minify }} "transpiler" "dartsass"
"targetPath" "styles.css"
"includePaths" (slice "node_modules")
) -}}
{{- $styles := resources.Get "scss/main.scss" | toCSS $options | minify -}}
<link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen"> <link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen">
{{ end }} {{- end }}
<!-- <link rel="stylesheet" type="text/css" href="{{ .Site.BaseURL }}style.css"> --> {{ $options := (dict "targetPath" "print.css" ) -}}
{{ with .OutputFormats.Get "RSS" }} {{- $print := resources.Get "css/gutenberg.css" | toCSS $options | minify -}}
<link rel="stylesheet" href="{{ $print.Permalink }}" media="print">
{{ range .AlternativeOutputFormats }}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end }} {{ end }}
{{ partial "metadata.html" . -}}
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="shortcut icon" type="image/png" href="/favicon.ico">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head> </head>

View File

@ -1,19 +1,54 @@
<header class="main-header"> <header class="container main-header">
<section class="container"> <nav class="no-print" role="navigation" aria-label="Primary">
<header> <ul>
<a href="{{ .Site.BaseURL }}" class="title"> <li>
<img class="avatar" src="{{ .Site.BaseURL }}images/avatar.png"> <!-- Insert the logo in SVG xml -->
<h1>{{ .Site.Title }}</h1></a> <a href="{{ .Site.BaseURL }}"
</header> title="{{ .Site.Title }}">
<nav> {{ partial "logo.html" }}
<a href="{{ .Site.BaseURL }}blog">Blog</a> / </a>
<a href="{{ .Site.BaseURL }}categories">Catégories</a> </li>
{{ if .IsNode }} <li>
/ <a href="{{ .Permalink }}index.xml"><span class="smallcaps">rss</a> <a href="{{ .Site.BaseURL }}"
{{ end }} class="title no-reformat"
{{ if .IsPage }} title="{{ .Site.Title }}" >
/ <a href="{{ .Site.BaseURL }}index.xml"><span class="smallcaps">rss</a> <h1>{{ .Site.Title }}</h1>
{{ end }} </a>
</li>
</ul>
<ul class="header-navigation">
{{ $currentPage := . -}}
{{ range sort .Site.Menus.main -}}
<li class="nav-item secondary">
<a class="nav-item-link{{if or (
$currentPage.IsMenuCurrent "main" .
) (
$currentPage.HasMenuCurrent "main" .
) }} active{{end}}"
href="{{ .URL }}" title="{{ .Title }}">{{ .Name }}</a>
</li>
{{ end -}}
<li class="nav-item secondary">
{{ if .IsPage -}}
<a class="nav-item-link"
href="{{ .Site.BaseURL }}index.xml"
title="{{ i18n "subscribeToPublications" }} {{ i18n "toWebsite" }}">
{{ i18n "subscribe" }}
</a>
{{ else if .IsHome -}}
<a class="nav-item-link"
href="{{ .Site.BaseURL }}index.xml"
title="{{ i18n "subscribeToPublications" }} {{ i18n "toWebsite" }}">
{{ i18n "subscribe" }}
</a>
{{ else if .IsNode -}}
<a class="nav-item-link"
href="{{ .Permalink }}index.xml"
title="{{ i18n "subscribeToPublications" }} {{ i18n "toSection" }}">
{{ i18n "subscribe" }}
</a>
{{ end -}}
</li>
</ul>
</nav> </nav>
</section>
</header> </header>

View File

@ -0,0 +1,9 @@
<footer class="list-footer">
{{ .PublishDate.Format "2006-01-02" }}
{{ with .Params.categories }}
{{ range sort . }}
/ <a href="{{ "categories" | absURL}}/{{ . | urlize }}">{{ . }}</a>
{{ end }}
{{ end }}
</footer>

View File

@ -0,0 +1,21 @@
<!-- Logo color is set in the variable file, adapted to colorsheme -->
<svg
class="logo"
viewBox="0 0 25.91326 47.594673"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="layer1"
transform="translate(-104.95998,-80.24504)">
<path
style="fill:var(--logo-color);stroke:var(--logo-color);"
d="m 173.18931,352.15872 c -5.12,0 -8.704,-1.024 -10.752,-3.072 -2.048,-2.176 -3.072,-4.8 -3.072,-7.872 v -4.032 c 0,-3.072 1.024,-5.632 3.072,-7.68 2.048,-2.176 5.632,-3.264 10.752,-3.264 5.12,0 8.704,1.088 10.752,3.264 2.048,2.048 3.072,4.608 3.072,7.68 v 4.032 c 0,3.072 -1.024,5.696 -3.072,7.872 -2.048,2.048 -5.632,3.072 -10.752,3.072 z"
transform="matrix(0.26458333,0,0,0.26458333,62.926875,-5.94)"
/>
<path
d="m 287.55592,836.26743 v -134.016 h 25.152 l 21.312,54.528 h 1.344 l 21.12,-54.528 h 24 v 134.016 h -18.24 v -64.704 l 0.576,-40.704 h -1.728 l -27.072,68.928 -27.072,-68.928 h -1.728 l 0.576,40.704 v 64.704 z"
style="fill:var(--logo-color);stroke:var(--logo-color);"
transform="matrix(0.26458333,0,0,0.26458333,30.07125,-93.555)"
/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,35 +1,57 @@
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"> <meta name="description" content="{{ if .Params.description }}{{ .Params.description }}{{ else if .Site.Params.Description }}{{ .Site.Params.Description }}{{ else }}Personal portfolio{{ end }}">
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/"> <meta property="og:title" content="{{ .Title }} - {{ .Site.Title }}">
<meta property="og:site_name" content="{{ .Site.Title }}"> <meta property="og:site_name" content="{{ .Site.Title }}">
<meta property="og:url" content="{{ .Permalink }}"> <meta property="og:description" content="{{ if .Params.description }}{{ .Params.description }}{{ else if .Site.Params.Description }}{{ .Site.Params.Description }}{{ else }}Personal portfolio{{ end }}">
<meta name="DC.creator" content="{{ .Site.Author.name }}"> {{ if .Params.postimage -}}
<meta name="DC.language" content="{{ .Language.Lang }}"> <meta property="og:image" content="{{ .Site.BaseURL }}images/{{ .Params.postimage }}">
{{ if .IsNode }} {{- else if .Site.Params.Image -}}
<meta property="og:image" content="{{ .Site.BaseURL }}images/{{ .Site.Params.Image }}">
{{- else -}}
<meta property="og:image" content="{{ .Site.BaseURL }}images/site.jpg">
{{ end }}
{{ if .Params.postimagedescription -}}
<meta property="og:image:alt" content="{{ .Params.postimagedescription }}">
{{- else if .Site.Params.ImageDescription -}}
<meta property="og:image:alt" content="{{ .Site.Params.ImageDescription }}">
{{- else -}}
<meta property="og:image:alt" content="{{ i18n "defaultImageAlt" }}">
{{ end }}
<meta property="og:locale" content="{{ .Language.Lang }}">
{{- if .IsNode }}
<meta property="og:type" content="website">
{{- else }}
<meta property="og:type" content="blogPost">
{{ end -}}
<meta name="twitter:card" content="summary_large_image" />
<meta property="og:url" content="{{ .Permalink }}">
<link rel="canonical" href="{{ .Permalink }}">
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/">
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/">
<meta name="DC.creator" content="{{ .Site.Params.author.name }}">
<meta name="DC.language" content="{{ .Language.Lang }}">
{{- if .IsNode }}
<meta name="DC.title" content="{{ .Site.Title }}"> <meta name="DC.title" content="{{ .Site.Title }}">
{{ end }} {{ end }}
{{ if .IsPage }} {{- if .IsPage }}
<meta name="DC.type" content="blogPost"> <meta name="DC.type" content="blogPost">
<meta name="DC.title" content="{{ .Page.Title }}"> <meta name="DC.title" content="{{ .Page.Title }}">
<meta name="DC.created" <meta name="DC.created" content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}">
content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}"> <meta name="DC.date" content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}">
<meta name="DC.date" {{- if (and (isset .Params "lastmod") (gt (dateFormat "2016-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}">
{{ if (and (isset .Params "lastmod") (gt (dateFormat "2016-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
<meta name="DC.modified" content="{{ .Lastmod }}"> <meta name="DC.modified" content="{{ .Lastmod }}">
{{ end }} {{ end -}}
<meta name="og:article:published_time" <meta name="og:article:published_time" content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}">
content="{{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}"> {{- if (and (isset .Params "lastmod") (gt (dateFormat "2016-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
{{ if (and (isset .Params "lastmod") (gt (dateFormat "2016-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
<meta name="og.article:modified_time" content="{{ .Lastmod }}"> <meta name="og.article:modified_time" content="{{ .Lastmod }}">
{{ end }} {{ end -}}
{{ with .Params.categories }} {{- with .Params.categories }}
{{ range . }} {{- range . -}}
<meta name="DC.subject" content="{{ . }}"> <meta name="DC.subject" content="{{ . }}">
{{ end }} {{- end -}}
{{ end }} {{ end -}}
{{ with .Params.tags }} {{- with .Params.tags }}
{{ range . }} {{- range . -}}
<meta name="DC.subject" content="{{ . }}"> <meta name="DC.subject" content="{{ . }}">
{{ end }} {{ end -}}
{{ end }} {{ end -}}
{{ end }} {{ end -}}

View File

@ -1,20 +1,24 @@
<h2>Online</h2> <h2 id="online">{{ i18n "online" }}</h2>
<dl> <dl class="home-lists">
{{ with .Site.Params.online.git }}
<dt>Git</dt>
<dd><a href="{{ . }}" rel="me">{{ . }}</a></dd>
{{ end }}
{{ with .Site.Params.online.github }} {{ with .Site.Params.online.github }}
<dt>GitHub</dt> <dt>GitHub</dt>
<dd><a href="https://github.com/{{ . }}">{{ . }}</a></dd> <dd><a href="https://github.com/{{ . }}" rel="me">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.online.framagit }} {{ with .Site.Params.online.framagit }}
<dt>Framagit</dt> <dt>Framagit</dt>
<dd><a href="https://framagit.org/{{ . }}">{{ . }}</a></dd> <dd><a href="https://framagit.org/{{ . }}" rel="me">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.online.mastodon }} {{ with .Site.Params.online.mastodon }}
<dt>mastodon</dt> <dt>mastodon</dt>
<dd><a href="{{ . }}">{{ . }}</a></dd> <dd><a href="{{ . }}" rel="me">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.online.twitter }} {{ with .Site.Params.online.twitter }}
<dt>Twitter</dt> <dt>Twitter</dt>
<dd><a href="https://twitter.com/{{ . }}">@igor_milhit</a></dd> <dd><a href="https://twitter.com/{{ . }}">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.online.keybase }} {{ with .Site.Params.online.keybase }}
<dt>Keybase</dt> <dt>Keybase</dt>
@ -28,4 +32,8 @@
<dt>OpenStreetMap</dt> <dt>OpenStreetMap</dt>
<dd><a href="https://openstreetmap.org/user/{{ . }}">{{ . }}</a></dd> <dd><a href="https://openstreetmap.org/user/{{ . }}">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.online.discogs }}
<dt>Discogs</dt>
<dd><a href="https://www.discogs.com/user/{{ . }}">{{ . }}</a></dd>
{{ end }}
</dl> </dl>

View File

@ -1,30 +1,43 @@
<dl> <h2 id="contacts-priv">{{ i18n "contactsPriv" }}</h2>
<dl class="home-lists">
{{ with .Site.Params.contactsPriv.email }} {{ with .Site.Params.contactsPriv.email }}
<dt>e-mail</dt> <dt>{{ i18n "e-mail" }}</dt>
<dd><a href="mailto:{{ . }}" itemprop="email">{{ . }}</a></dd> <dd><a href="mailto:{{ . }}" itemprop="email">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.contactsPriv.address }} {{ with .Site.Params.contactsPriv.address }}
<dt>Adresse</dt> <dt>{{ i18n "address" }}</dt>
<dd><span itemprop="address">{{ . }}</span></dd> <dd><span itemprop="address">{{ . }}</span></dd>
{{ end }} {{ end }}
{{ with .Site.Params.contactsPriv.phone }} {{ with .Site.Params.contactsPriv.phone }}
<dt>Tél.</dt> <dt>{{ i18n "tel" }}</dt>
<dd><a href="tel:{{ replace . " " ""}}"><span itemprop="telephone">{{ . }}</span></a></dd> <dd>
<a href="tel:{{ replace . " " ""}}">
<span itemprop="telephone">{{ . }}</span>
</a>
</dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPriv.mobile }} {{ with .Site.Params.contactsPriv.mobile }}
<dt>Tél. mobile</dt> <dt>{{ i18n "mobile" }}</dt>
<dd><a href="tel:{{ replace . " " ""}}"><span itemprop="telephone">{{ . }}</span></a></dd> <dd>
<a href="tel:{{ replace . " " ""}}">
<span itemprop="telephone">{{ . }}</span>
</a>
</dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPriv.publickey }} {{ with .Site.Params.contactsPriv.publickey }}
<dt>Clé publique</dt> <dt>{{ i18n "pubkey" }}</dt>
<dd><a href="/{{ . }}">{{ . }}</a></dd> <dd><a href="/{{ . }}">{{ . }}</a></dd>
{{ end }} {{ end }}
{{ with .Site.Params.contactsPriv.fingerprint }} {{ with .Site.Params.contactsPriv.fingerprint }}
<dt>Empreinte</dt> <dt>{{ i18n "fingerprint" }}</dt>
<dd><code>{{ . }}</code></dd> <dd><code>{{ . }}</code></dd>
{{ end }} {{ end }}
{{ with .Site.Params.contactsPriv.xmpp }} {{ with .Site.Params.contactsPriv.xmpp }}
<dt>XMPP/jabber</dt> <dt class="smallcaps">{{ i18n "xmpp" }}</dt>
<dd>{{ . }}</dd> <dd>{{ . }}</dd>
{{ end }} {{ end }}
{{ with .Site.Params.contactsPriv.cv}}
<dt class="smallcaps">{{ i18n "cv" }}</dt>
<dd><a href="/{{ . }}">{{ . }}</a></dd>
{{end}}
</dl> </dl>

View File

@ -1,25 +1,28 @@
<ul class="post-info"> <details class="post-info no-print">
<li>Publié le&#x202F;: {{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}</li> <summary>{{ i18n "post-infos" }}</summary>
<ul>
<li>{{ i18n "published" }}: {{ dateFormat "2006-01-02" (default .Date (.PublishDate)) }}</li>
{{ if (and (isset .Params "lastmod") (gt (dateFormat "2006-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }} {{ if (and (isset .Params "lastmod") (gt (dateFormat "2006-01-02" (.Lastmod)) (dateFormat "2006-01-02" (.PublishDate)))) }}
<li>Dernière mise à jour&#x202F;: {{ .Lastmod.Format "2006-01-02" }}</li> <li>{{ i18n "lastUpdate" }}: {{ .Lastmod.Format "2006-01-02" }}</li>
{{ end }} {{ end }}
{{ with .Params.categories }} {{ with .Params.categories }}
<li>Catégories&#x202F;: <li>{{ i18n "categories" }}:
<ul> <ul>
{{ range . }} {{ range sort . }}
<li class="post-taxonomies"> <a href="{{ "categories" | absURL}}/{{ . | urlize }}">{{ . }}</a> </li> <li class="post-taxonomies"><a href="{{ "categories" | absURL}}/{{ . | urlize }}">{{ . }}</a></li>
{{ end }} {{ end }}
</ul> </ul>
</li> </li>
{{ end }} {{ end }}
{{ with .Params.tags }} {{ with .Params.tags }}
<li>Tags&#x202F;: <li>{{ i18n "tags" }}:
<ul> <ul>
{{ range . }} {{ range sort . }}
<li class="post-taxonomies"> <a href="{{ "tags" | absURL }}/{{ . | urlize }}">{{ . }}</a> </li> <li class="post-taxonomies"> <a href="{{ "tags" | absURL }}/{{ . | urlize }}">{{ . }}</a> </li>
{{ end }} {{ end }}
</ul> </ul>
</li> </li>
{{ end }} {{ end }}
</ul> <li><a href="{{ .Permalink }}">{{ i18n "permalink" }}</a></li>
</ul>
</details>

View File

@ -1,30 +1,35 @@
<dl> <h2 id="contacts-pro">{{ i18n "contactsPro" }}</h2>
<dl class="home-lists">
{{ with .Site.Params.contactsPro.email }} {{ with .Site.Params.contactsPro.email }}
<dt>e-mail</dt> <dt>{{ i18n "e-mail" }}</dt>
<dd><a href="mailto:{{ . }}" itemprop="email">{{ . }}</a></dt> <dd><a href="mailto:{{ . }}" itemprop="email">{{ . }}</a></dt>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.address }} {{ with .Site.Params.contactsPro.address }}
<dt>Adresse</dt> <dt>{{ i18n "address" }}</dt>
<dd><span itemprop="address">{{ . }}</span></dd> <dd><span itemprop="address">{{ . }}</span></dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.mobile}} {{ with .Site.Params.contactsPro.mobile}}
<dt>Mobile</dt> <dt>{{ i18n "mobile" }}</dt>
<dd><a href="tel:{{ replace . " " ""}}"><span itemprop="telephone">{{ . }}</span></a></dd> <dd>
<a href="tel:{{ replace . " " ""}}">
<span itemprop="telephone">{{ . }}</span>
</a>
</dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.phone}} {{ with .Site.Params.contactsPro.phone}}
<dt>Tél.</dt> <dt>{{ i18n "tel" }}</dt>
<dd><a href="tel:{{ replace . " " ""}}"><span itemprop="telephone">{{ . }}</span></a></dd> <dd>
<a href="tel:{{ replace . " " ""}}">
<span itemprop="telephone">{{ . }}</span>
</a>
</dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.publickey }} {{ with .Site.Params.contactsPro.publickey }}
<dt>Clé publique</dt> <dt>{{ i18n "pubkey" }}</dt>
<dd><a href="/{{ . }}">{{ . }}</a></dd> <dd><a href="/{{ . }}">{{ . }}</a></dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.fingerprint}} {{ with .Site.Params.contactsPro.fingerprint}}
<dt>Empreinte</dt> <dt>{{ i18n "fingerprint" }}</dt>
<dd><code>{{ . }}</code></dd> <dd><code>{{ . }}</code></dd>
{{end}} {{end}}
{{ with .Site.Params.contactsPro.cv}}
<dt>CV</dt>
<dd><a href="/{{ . }}">{{ . }}</a></dd>
{{end}}
</dl> </dl>

View File

@ -0,0 +1,21 @@
<figure class="audio audio-with-image">
<img src="/images/{{ .Get "img" }}" class="cover" \>
<div>
<audio controls preload="metadata">
<source src="/medias/{{ .Get "src" }}.opus" type="audio/opus" codecs="opus">
<source src="/medias/{{ .Get "src" }}.ogg" type="audio/ogg" codecs="vorbis">
<source src="/medias/{{ .Get "src" }}.mp3" type="audio/mpeg">
{{ i18n "audioDownload" }} <a href="/medias/{{ .Get "src" }}.mp3">
{{ i18n "thisLink" }}
</a>
</audio>
<figcaption>
<p>{{ .Get "legend" }}</p>
<p>
<a href="/medias/{{ .Get "src" }}.opus" class="smallcaps">opus</a> /
<a href="/medias/{{ .Get "src" }}.ogg" class="smallcaps">ogg</a> /
<a href="/medias/{{ .Get "src" }}.mp3" class="smallcaps">mp3</a>
</p>
</figcaption>
</div>
</figure>

View File

@ -1,15 +1,17 @@
<figure class="audio"> <figure class="audio">
<figcaption><p>{{ .Get "legend" }}</p></figcaption> <figcaption>
<p>{{ .Get "legend" }} /
<a href="/medias/{{ .Get "src" }}.opus" class="smallcaps">opus</a> /
<a href="/medias/{{ .Get "src" }}.ogg" class="smallcaps">ogg</a> /
<a href="/medias/{{ .Get "src" }}.mp3" class="smallcaps">mp3</a>
</p>
</figcaption>
<audio controls preload="metadata"> <audio controls preload="metadata">
<source src="/medias/{{ .Get "src" }}.opus" type="audio/opus" codecs="opus"> <source src="/medias/{{ .Get "src" }}.opus" type="audio/opus" codecs="opus">
<source src="/medias/{{ .Get "src" }}.ogg" type="audio/ogg" codecs="vorbis"> <source src="/medias/{{ .Get "src" }}.ogg" type="audio/ogg" codecs="vorbis">
<source src="/medias/{{ .Get "src" }}.mp3" type="audio/mpeg"> <source src="/medias/{{ .Get "src" }}.mp3" type="audio/mpeg">
Your browser does not support the audio tag, you can download the audio {{ i18n "audioDownload" }} <a href="/medias/{{ .Get "src"}}.mp3">
with <a href="/medias/{{ .Get "src" }}.mp3">this link</a> {{ i18n "thisLink"}}
</a>
</audio> </audio>
<p>
<a href="/medias/{{ .Get "src" }}.opus">opus</a> /
<a href="/medias/{{ .Get "src" }}.ogg">ogg</a> /
<a href="/medias/{{ .Get "src" }}.mp3">mp3</a>
</p>
</figure> </figure>

View File

@ -1,13 +1,15 @@
<figure class="audio"> <figure class="audio">
<figcaption><p>{{ .Get "legend" }}</p></figcaption> <figcaption>
<p>
{{ .Get "legend" }} /
<a href="{{ .Get "src" }}.opus" class="smallcaps">opus</a> /
<a href="{{ .Get "src" }}.ogg" class="smallcaps">ogg</a> /
<a href="{{ .Get "src" }}.mp3" class="smallcaps">mp3</a>
</p>
</figcaption>
<audio controls preload="metadata"> <audio controls preload="metadata">
<source src="{{ .Get "src" }}.opus" type="audio/opus" codecs="opus"> <source src="{{ .Get "src" }}.opus" type="audio/opus" codecs="opus">
<source src="{{ .Get "src" }}.ogg" type="audio/ogg" codecs="vorbis"> <source src="{{ .Get "src" }}.ogg" type="audio/ogg" codecs="vorbis">
<source src="{{ .Get "src" }}.mp3" type="audio/mpeg"> <source src="{{ .Get "src" }}.mp3" type="audio/mpeg">
</audio> </audio>
<p>
<a href="{{ .Get "src" }}.opus">opus</a> /
<a href="{{ .Get "src" }}.ogg">ogg</a> /
<a href="{{ .Get "src" }}.mp3">mp3</a>
</p>
</figure> </figure>

View File

@ -3,7 +3,8 @@
<audio controls> <audio controls>
<source src="https://id-libre.org/live/stream.ogg" type="audio/ogg"> <source src="https://id-libre.org/live/stream.ogg" type="audio/ogg">
<source src="https://id-libre.org/live/stream.mp3" type="audio/mpeg"> <source src="https://id-libre.org/live/stream.mp3" type="audio/mpeg">
Your browser does not support the audio tag, you can access the stream {{ i18n "audioDownload" }} <a href="https://id-libre.org/live/stream.mp3">
directly with <a href="https://id-libre.org/live/stream.mp3">this link</a> {{ i18n "thisLink" }}
</a>
</audio> </audio>
</figure> </figure>

257
package-lock.json generated 100644
View File

@ -0,0 +1,257 @@
{
"name": "portfoliGor",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "portfoliGor",
"version": "0.1.0",
"license": "MIT",
"dependencies": {
"gutenberg-css": "^0.6.1"
},
"devDependencies": {
"@picocss/pico": "2.0.6",
"auto-changelog": "^2.0.0"
}
},
"node_modules/@picocss/pico": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-2.0.6.tgz",
"integrity": "sha512-/d8qsykowelD6g8k8JYgmCagOIulCPHMEc2NC4u7OjmpQLmtSetLhEbt0j1n3fPNJVcrT84dRp0RfJBn3wJROA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.19.0"
}
},
"node_modules/auto-changelog": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.5.0.tgz",
"integrity": "sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==",
"dev": true,
"license": "MIT",
"dependencies": {
"commander": "^7.2.0",
"handlebars": "^4.7.7",
"import-cwd": "^3.0.0",
"node-fetch": "^2.6.1",
"parse-github-url": "^1.0.3",
"semver": "^7.3.5"
},
"bin": {
"auto-changelog": "src/index.js"
},
"engines": {
"node": ">=8.3"
}
},
"node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 10"
}
},
"node_modules/gutenberg-css": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/gutenberg-css/-/gutenberg-css-0.6.1.tgz",
"integrity": "sha512-6OKs0SsqMhU68sBPYvm0imc2Wa4s7W6QzwSUq5vM3GIqsAcd5hV5RvW7Natp1hbJ3go8B3xDPdYSb7zu3vDkbw==",
"license": "MIT",
"dependencies": {
"normalize.css": "^8.0.1"
},
"engines": {
"node": ">=4.0"
}
},
"node_modules/handlebars": {
"version": "4.7.8",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.2",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
"bin": {
"handlebars": "bin/handlebars"
},
"engines": {
"node": ">=0.4.7"
},
"optionalDependencies": {
"uglify-js": "^3.1.4"
}
},
"node_modules/import-cwd": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
"integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
"dev": true,
"license": "MIT",
"dependencies": {
"import-from": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
"integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"resolve-from": "^5.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true,
"license": "MIT"
},
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==",
"license": "MIT"
},
"node_modules/parse-github-url": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz",
"integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==",
"dev": true,
"license": "MIT",
"bin": {
"parse-github-url": "cli.js"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true,
"license": "MIT"
},
"node_modules/uglify-js": {
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
"license": "BSD-2-Clause",
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true,
"license": "BSD-2-Clause"
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true,
"license": "MIT"
}
}
}

16
package.json 100644
View File

@ -0,0 +1,16 @@
{
"name": "portfoliGor",
"version": "0.1.0",
"description": "Hugo theme for a personal portfolio",
"main": "index.js",
"repository": "git@framagit.org:iGormilhit/portfoliGor.git",
"author": "iGor milhit <igor@milhit.ch>",
"license": "MIT",
"devDependencies": {
"@picocss/pico": "2.0.6",
"auto-changelog": "^2.0.0"
},
"dependencies": {
"gutenberg-css": "^0.6.1"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/favicon.ico 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,491 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="256.000000pt" height="256.000000pt" viewBox="0 0 256.000000 256.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,256.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1109 1998 c-5 -12 -7 -78 -3 -96 4 -18 9 -22 27 -17 21 7 21 7 3 -8
-18 -13 -19 -16 -4 -31 14 -14 17 -14 22 0 3 8 2 12 -4 9 -6 -3 -10 -1 -10 4
0 16 18 13 28 -5 8 -14 10 -14 21 0 10 12 10 19 -3 38 -9 13 -20 23 -24 24
-25 3 -42 18 -37 34 3 10 1 21 -5 25 -6 3 -8 11 -5 16 4 5 4 9 1 9 -3 0 -6 -1
-7 -2z"/>
<path d="M1255 1970 c-3 -6 5 -10 18 -10 25 0 39 -18 42 -53 3 -23 -13 -33
-21 -13 -9 25 -37 20 -31 -5 4 -16 3 -18 -9 -8 -8 6 -14 8 -14 3 -1 -5 -10 2
-21 15 -11 13 -22 21 -25 18 -10 -10 30 -68 43 -63 7 3 18 0 23 -7 52 -60 69
-75 93 -81 24 -6 27 -9 17 -21 -15 -18 1 -20 18 -3 22 22 14 48 -15 48 -14 0
-23 3 -20 7 4 3 2 13 -5 20 -9 11 -9 16 2 23 7 4 19 6 26 3 20 -7 59 36 45 50
-9 9 -14 9 -19 0 -5 -8 -12 -7 -27 3 -20 15 -20 15 0 12 11 -2 20 2 20 7 0 6
-3 9 -7 8 -5 -2 -8 1 -8 6 0 5 -7 12 -16 15 -9 4 -13 2 -8 -5 4 -7 1 -10 -7
-7 -8 3 -13 11 -11 17 1 6 -7 11 -18 11 -11 0 -20 5 -20 10 0 6 -9 10 -19 10
-11 0 -23 -4 -26 -10z"/>
<path d="M1435 1929 c28 -19 52 -37 53 -41 5 -12 22 -10 22 2 0 6 -11 15 -25
20 -14 5 -25 14 -25 19 0 5 -8 11 -17 14 -10 2 -27 8 -38 12 -11 4 3 -8 30
-26z"/>
<path d="M1020 1937 c0 -7 5 -18 11 -24 9 -9 7 -11 -7 -9 -10 2 -20 8 -22 14
-7 22 -22 12 -22 -13 0 -14 5 -25 10 -25 6 0 10 -7 10 -16 0 -15 -2 -15 -25 0
-33 21 -42 20 -51 -6 -6 -20 -9 -34 -13 -70 -1 -4 -9 -4 -18 -1 -16 6 -16 5
-4 -10 7 -9 20 -17 27 -17 8 0 14 -5 14 -11 0 -6 -9 -8 -20 -4 -16 5 -20 2
-20 -15 0 -12 -4 -18 -10 -15 -5 3 -21 -2 -36 -12 l-27 -17 26 -7 c48 -13 124
1 112 21 -3 5 -1 11 5 15 5 3 10 15 10 26 0 12 4 17 11 14 6 -4 9 0 7 11 -2
11 4 20 15 22 13 3 17 -3 17 -25 0 -19 -3 -24 -9 -15 -10 17 -21 -16 -21 -65
0 -26 -4 -33 -20 -33 -16 0 -19 -5 -16 -25 6 -30 -7 -40 -24 -19 -7 8 -19 13
-27 10 -8 -3 -11 -2 -8 4 3 5 -3 14 -14 19 -27 15 -41 13 -16 -1 18 -11 16
-13 -20 -29 -37 -16 -38 -18 -13 -18 15 -1 29 3 32 7 5 9 116 -38 116 -50 0
-4 -13 -3 -29 2 -23 6 -28 5 -27 -9 0 -9 6 -19 11 -23 6 -4 0 -8 -12 -8 -13 0
-23 -4 -23 -9 0 -5 -21 -7 -46 -4 -32 3 -44 1 -39 -6 4 -7 -3 -11 -18 -11 -21
0 -24 4 -20 21 4 15 2 20 -6 18 -7 -3 -12 -8 -11 -13 2 -12 -21 -26 -44 -26
-12 0 -16 5 -12 15 3 9 -3 23 -14 32 -19 17 -28 39 -12 30 4 -2 15 4 25 15 9
10 14 18 10 18 -5 0 -1 5 7 10 12 8 11 10 -7 10 -12 0 -25 5 -29 11 -7 12 4
10 63 -6 10 -3 0 4 -22 15 -22 11 -48 20 -57 20 -10 0 -18 5 -18 11 0 5 -4 8
-9 5 -5 -3 -14 1 -21 9 -7 8 -16 12 -21 9 -5 -3 -9 0 -9 7 0 7 -3 9 -7 6 -3
-4 -12 -2 -20 4 -7 6 -13 8 -13 4 0 -4 -12 0 -26 10 -15 9 -23 12 -20 6 8 -12
0 -13 -28 -2 -23 9 -72 -29 -53 -41 8 -5 7 -8 -4 -8 -9 0 -21 -11 -27 -24 -9
-20 -8 -25 9 -29 32 -9 22 -27 -11 -21 -18 4 -30 2 -30 -4 0 -11 68 -91 142
-166 26 -26 46 -52 43 -56 -3 -5 4 -6 15 -3 31 8 24 -10 -11 -30 -18 -10 -29
-20 -26 -23 3 -4 20 4 38 16 32 23 32 23 67 4 l36 -19 -45 -5 c-32 -4 -39 -7
-26 -12 10 -5 30 -8 43 -8 21 0 24 -4 19 -21 -6 -18 -4 -19 13 -10 19 10 32 6
32 -10 0 -4 -8 -5 -19 -2 -10 3 -22 0 -25 -6 -4 -5 -13 -8 -22 -4 -12 4 -12 8
-2 21 11 13 10 14 -11 7 -16 -5 -21 -4 -17 4 4 6 2 11 -3 11 -6 0 -11 -7 -11
-15 0 -8 -4 -15 -9 -15 -4 0 -56 -47 -115 -105 -59 -58 -103 -105 -99 -105 5
0 58 45 118 100 59 55 113 100 120 100 6 0 21 -9 33 -21 12 -11 27 -17 33 -13
8 4 7 9 -2 15 -8 5 -9 9 -3 9 6 0 17 -7 24 -15 10 -12 10 -15 -4 -15 -9 0 -16
-6 -16 -12 0 -7 -18 -22 -40 -32 -22 -11 -40 -25 -40 -33 0 -7 -6 -13 -14 -13
-19 0 -61 -53 -46 -58 6 -2 19 3 28 11 19 16 72 28 72 16 0 -4 10 -10 23 -12
16 -3 14 -5 -10 -6 -32 -1 -58 -21 -28 -21 9 0 13 -5 10 -10 -4 -6 -15 -8 -24
-5 -12 4 -21 -3 -29 -20 -7 -15 -17 -23 -23 -20 -5 4 -19 -1 -30 -11 -21 -19
-27 -6 -6 15 6 8 -3 5 -21 -5 -50 -29 -65 -49 -58 -79 8 -31 30 -28 34 3 2 12
9 22 16 22 7 0 35 16 62 35 69 49 95 46 43 -5 -31 -31 -36 -40 -22 -40 17 -1
17 -1 1 -14 -27 -20 -22 -29 12 -22 17 3 29 2 26 -3 -9 -14 20 -21 34 -8 10 9
11 9 5 -1 -8 -15 -48 -32 -83 -37 -30 -3 -59 -30 -65 -61 -3 -18 0 -24 13 -24
10 0 20 -7 24 -15 7 -19 25 -19 45 -1 9 7 27 17 41 21 23 7 22 6 -8 -19 -34
-29 -35 -48 -2 -39 11 3 20 0 20 -6 0 -15 -26 -14 -60 4 -20 10 -31 12 -35 4
-8 -12 -8 -11 25 -26 17 -8 20 -12 8 -12 -9 -1 -21 -8 -26 -16 -10 -18 -40 -9
-81 23 -20 16 -22 22 -12 43 l12 24 -20 -25 c-11 -14 -21 -40 -21 -57 0 -38 7
-42 19 -11 l8 22 13 -23 c11 -21 10 -23 -4 -18 -9 4 -16 2 -16 -2 0 -5 -3 -17
-7 -26 -5 -15 -3 -16 16 -5 21 11 22 10 16 -12 -4 -12 -14 -33 -21 -46 l-15
-23 37 16 c20 8 45 15 56 15 19 0 19 -1 -3 -25 -13 -13 -26 -20 -27 -15 -2 6
-11 10 -20 10 -15 0 -15 -2 -2 -10 12 -8 12 -10 -3 -16 -25 -9 -22 -38 3 -31
12 3 20 0 20 -7 0 -21 -12 -27 -28 -13 -13 9 -14 9 -8 0 16 -28 14 -56 -6 -84
-12 -16 -19 -32 -15 -35 4 -4 -1 -13 -11 -20 -13 -11 -14 -15 -4 -22 10 -7 10
-11 -3 -22 -9 -7 -14 -19 -11 -26 3 -7 -6 -45 -19 -83 -27 -77 -30 -108 -14
-131 8 -12 10 -9 6 12 -2 15 0 33 4 40 7 10 9 9 9 -4 0 -28 26 -21 50 12 12
16 30 30 40 30 23 0 44 35 37 61 -3 10 -2 21 2 23 15 9 11 -56 -5 -87 -10 -17
-20 -47 -25 -64 l-7 -33 124 0 c107 0 124 2 133 17 10 17 10 17 11 1 0 -16 26
-18 367 -17 249 0 371 3 380 11 9 7 13 7 13 -1 0 -9 47 -11 171 -11 170 2 171
2 165 23 -10 32 -16 77 -11 77 3 0 14 -22 26 -50 20 -46 24 -50 55 -50 39 0
41 4 14 45 -22 33 -26 85 -9 102 8 8 8 17 0 32 -9 15 -9 21 -1 21 7 0 9 9 5
23 -6 22 -6 22 10 2 9 -11 14 -27 12 -36 -2 -8 2 -24 9 -34 8 -10 11 -29 8
-41 -3 -13 2 -44 11 -69 17 -44 35 -60 35 -31 0 8 7 22 16 30 8 9 12 20 9 26
-3 5 -2 10 4 10 14 0 41 -41 41 -62 0 -10 7 -18 16 -18 13 0 15 6 10 27 -3 16
-8 44 -10 63 l-4 35 23 -30 c13 -16 25 -43 27 -60 3 -29 5 -30 56 -33 31 -2
52 1 52 7 0 6 -4 11 -10 11 -5 0 -6 8 -3 17 5 12 2 15 -8 11 -10 -4 -15 1 -15
12 0 15 4 16 19 8 17 -9 17 -8 4 14 -8 13 -18 38 -22 55 -4 18 -11 36 -16 39
-16 10 -32 57 -30 87 2 15 -7 44 -18 63 -12 19 -21 43 -20 52 0 13 2 14 6 2 7
-16 38 -49 68 -71 18 -13 19 -13 6 3 -9 12 -11 30 -7 53 4 21 3 35 -3 35 -6 0
-7 -8 -4 -17 6 -15 5 -16 -9 -3 -8 8 -14 20 -11 26 2 6 -13 31 -33 55 -21 24
-34 36 -31 26 4 -11 3 -16 -3 -12 -6 3 -10 12 -10 20 0 8 -8 18 -17 24 -16 8
-14 11 12 21 18 7 25 14 18 18 -6 4 -15 20 -18 35 -4 15 -11 27 -15 27 -4 0
-10 9 -13 20 -6 25 -29 34 -62 26 -30 -8 -33 -22 -6 -31 10 -3 21 -15 24 -25
6 -24 -1 -25 -25 -4 -14 14 -20 14 -33 4 -11 -9 -19 -10 -28 -1 -10 8 -17 7
-26 -2 -10 -9 -16 -7 -32 12 -23 28 -26 49 -4 31 12 -10 15 -9 15 4 0 13 7 16
30 12 34 -5 47 8 30 29 -10 12 -10 15 1 16 43 4 59 7 72 12 8 3 23 0 33 -8 11
-7 38 -15 60 -18 41 -6 42 -6 30 18 -6 14 -19 25 -28 25 -10 0 -18 5 -18 10 0
13 -51 13 -85 0 -35 -13 -80 -3 -65 15 8 9 6 17 -6 30 -20 20 -8 36 30 38 25
2 38 17 14 17 -6 0 -9 3 -5 6 3 4 27 -6 52 -21 26 -15 55 -25 65 -22 12 3 20
-2 23 -14 5 -18 27 -27 27 -11 0 16 -136 142 -154 142 -6 0 -3 5 6 11 12 7 24
6 37 -1 24 -12 41 -13 21 0 -11 7 -9 11 13 19 16 6 36 11 45 11 13 0 14 2 3 9
-9 6 -10 11 -3 15 6 4 9 13 5 22 -4 12 -8 12 -21 2 -13 -11 -15 -10 -10 3 5
13 2 16 -13 12 -13 -4 -19 0 -19 11 0 9 -6 16 -14 16 -26 0 -30 23 -8 41 28
22 27 24 -3 25 -14 1 -22 -2 -19 -7 3 -5 -2 -6 -10 -3 -9 3 -16 10 -16 15 0 5
-4 9 -10 9 -5 0 -10 -13 -10 -30 0 -16 -4 -30 -10 -30 -5 0 -10 -7 -10 -15 0
-8 5 -15 10 -15 6 0 10 -5 10 -11 0 -18 -30 11 -31 30 0 10 -2 11 -6 4 -2 -7
-11 -13 -19 -13 -10 0 -12 -5 -7 -12 10 -17 13 -67 3 -73 -5 -3 -6 -15 -3 -26
6 -20 3 -21 -30 -15 -21 4 -38 2 -42 -4 -3 -5 -1 -10 5 -10 6 0 8 -4 5 -10 -3
-6 -2 -10 2 -10 5 0 14 -9 21 -21 12 -19 11 -20 -7 -14 -15 4 -21 2 -21 -9 0
-8 10 -16 22 -18 13 -2 24 -11 26 -21 3 -15 0 -18 -16 -12 -18 5 -20 2 -17
-22 2 -15 4 -28 5 -28 1 0 3 -8 5 -17 2 -12 -3 -18 -15 -18 -10 0 -21 -7 -24
-16 -4 -10 -2 -13 6 -8 7 4 8 3 4 -5 -5 -7 -17 -9 -29 -5 -22 6 -22 6 -2 -10
19 -15 19 -15 1 -16 -19 0 -56 -35 -56 -52 0 -5 -15 1 -32 13 -22 16 -28 17
-19 6 12 -15 11 -17 -3 -17 -23 0 -20 -17 5 -31 17 -9 19 -13 8 -20 -11 -7
-10 -9 4 -9 9 0 17 -4 17 -9 0 -6 -12 -6 -30 -1 -28 8 -51 -2 -31 -14 5 -4 8
-17 7 -30 -2 -18 1 -23 13 -19 12 3 11 1 -2 -7 -14 -9 -23 -8 -40 3 -25 16
-47 3 -39 -23 3 -8 -6 -5 -24 9 -16 13 -28 26 -27 29 3 13 -19 32 -30 25 -6
-4 -3 -9 9 -14 18 -7 18 -8 -2 -8 -12 -1 -25 -8 -28 -17 -9 -23 -8 -26 7 -21
6 2 26 -5 42 -16 l30 -21 -20 24 -20 24 25 -16 c14 -8 25 -24 26 -35 1 -11 4
-25 7 -30 3 -5 0 -10 -8 -10 -8 0 -15 4 -15 9 0 5 -12 20 -26 33 -30 28 -68
32 -90 10 -20 -20 -38 -19 -30 1 3 9 6 22 6 30 0 9 5 12 10 9 6 -3 10 -2 10 4
0 5 -8 11 -17 13 -15 3 -14 7 9 27 15 13 25 28 22 33 -3 4 1 8 8 9 7 0 24 14
38 32 22 28 23 30 5 23 -11 -4 -61 -10 -111 -13 -78 -5 -91 -3 -91 10 0 9 4
14 9 11 12 -8 10 10 -4 24 -18 18 4 15 31 -5 14 -9 21 -12 18 -6 -4 6 -4 13 0
16 5 2 3 2 -4 1 -6 -2 -17 4 -23 12 -7 8 -20 14 -29 15 -11 0 -12 2 -3 6 10 4
10 8 1 19 -6 8 -9 14 -5 14 4 0 -1 11 -10 25 -20 30 -11 45 26 45 37 0 45 -13
20 -35 -20 -18 -28 -41 -10 -30 5 3 24 -1 41 -10 24 -13 34 -14 43 -5 8 9 7
11 -4 8 -8 -2 -14 2 -13 9 2 7 -4 10 -12 7 -8 -3 -19 -3 -25 1 -14 9 37 42 71
47 14 2 23 9 21 17 -1 7 2 18 7 25 13 15 4 56 -20 86 l-19 25 0 -37 c0 -31 -3
-35 -20 -31 -11 3 -32 -4 -50 -17 -35 -25 -37 -22 -11 24 l20 34 -26 7 c-16 4
-23 11 -19 20 3 8 1 15 -4 15 -6 0 -10 -4 -10 -10 0 -5 -4 -10 -9 -10 -5 0 -8
6 -7 13 0 6 -3 13 -9 14 -5 1 -10 -7 -9 -18 0 -13 -4 -18 -13 -15 -7 3 -13 0
-13 -6 0 -7 -6 -6 -16 3 -9 7 -13 21 -10 33 3 11 0 27 -7 35 -9 11 -9 15 1 18
6 3 12 11 12 18 0 8 8 19 18 24 15 9 15 10 -4 11 -12 0 -27 6 -33 14 -9 10 -6
17 11 28 13 8 33 18 46 22 12 4 22 15 22 24 0 14 -2 15 -10 2 -5 -8 -19 -15
-32 -16 -13 -1 -32 -5 -42 -10 -15 -6 -18 -4 -13 9 3 8 1 18 -6 20 -7 3 5 4
26 2 l37 -2 -2 37 c-2 21 -6 36 -10 33 -5 -2 -8 -10 -8 -16 0 -13 -46 -38 -54
-29 -3 3 4 13 16 23 11 11 17 19 12 19 -5 0 -1 7 9 14 16 13 16 14 -7 18 -18
4 -23 1 -19 -9 4 -10 0 -14 -14 -11 -11 1 -20 -1 -21 -7 0 -5 6 -9 15 -7 9 2
13 -2 10 -10 -2 -7 -12 -12 -21 -12 -14 2 -15 -1 -4 -14 11 -13 10 -15 -6 -9
-15 6 -17 4 -11 -10 4 -10 7 -24 6 -30 0 -7 -2 -20 -3 -28 -1 -9 -12 -15 -29
-15 -15 0 -31 -4 -34 -10 -4 -6 5 -10 19 -10 33 0 33 -4 -6 -40 l-33 -30 30 6
c20 4 26 2 17 -4 -7 -5 -14 -15 -15 -23 -4 -25 -17 -38 -32 -32 -8 3 -15 0
-15 -7 0 -7 -11 -21 -25 -32 -23 -18 -37 -67 -16 -54 5 3 11 -1 14 -9 4 -9 1
-12 -9 -8 -22 8 -17 -10 7 -25 20 -13 20 -14 2 -28 -13 -11 -15 -17 -5 -20 6
-3 9 -10 6 -16 -4 -6 -1 -14 6 -18 7 -4 9 -13 5 -20 -6 -9 -9 -9 -16 1 -6 10
-9 3 -10 -21 l-1 -35 -15 35 c-8 19 -15 46 -15 59 0 14 -6 31 -13 38 -11 10
-17 9 -32 -5 -10 -9 -14 -14 -8 -10 6 4 16 -2 23 -13 10 -15 10 -19 -2 -19 -8
0 -18 -4 -21 -10 -3 -6 1 -7 9 -4 34 13 13 -15 -37 -49 -58 -40 -78 -47 -56
-20 12 15 12 16 -8 11 -21 -6 -21 -5 -6 18 14 23 14 24 -2 17 -12 -4 -16 -3
-12 4 4 6 1 13 -5 16 -8 2 2 13 22 25 30 19 32 22 13 22 -13 0 -23 5 -23 11 0
6 -9 9 -20 6 -32 -8 -23 9 17 34 20 13 31 25 25 27 -7 2 -19 -4 -28 -13 -9 -9
-19 -14 -21 -11 -6 6 32 63 60 90 10 10 17 26 14 35 -2 9 2 22 9 29 16 15 28
16 19 1 -5 -7 5 -9 26 -7 22 2 33 8 31 16 -1 8 7 16 18 19 16 4 19 11 15 34
-4 20 1 35 13 47 10 10 16 24 14 30 -5 16 34 93 56 110 9 6 13 12 9 12 -4 0
-3 9 3 20 6 11 18 20 26 20 8 0 12 5 9 10 -4 6 -11 7 -17 4 -6 -4 -9 -1 -6 7
5 16 28 19 46 6 8 -6 12 -5 12 3 0 6 -9 14 -19 17 -14 3 -20 16 -23 45 -2 22
0 42 4 44 5 3 6 10 3 15 -4 5 -1 9 4 9 6 0 11 -4 11 -8 0 -5 7 -17 15 -28 14
-18 14 -18 9 6 -3 14 -8 36 -11 50 -8 34 -24 54 -33 40 -5 -7 -11 -6 -20 5
-11 13 -9 15 9 15 12 0 19 5 16 10 -3 6 -1 10 5 10 7 0 10 -6 7 -13 -3 -7 4
-19 14 -25 12 -8 19 -24 20 -45 0 -30 1 -30 10 -9 5 14 5 39 0 63 -9 40 0 53
15 22 8 -19 11 -29 13 -52 0 -7 7 -11 16 -8 8 4 17 1 21 -4 7 -12 33 13 52 51
7 14 10 17 8 8 -9 -30 9 -20 36 21 45 68 44 151 -1 151 -14 0 -19 5 -15 15 4
8 11 12 16 9 6 -4 14 0 19 7 14 23 10 32 -8 18 -9 -8 -14 -9 -10 -3 4 7 -1 18
-10 25 -14 12 -16 12 -8 -1 6 -11 3 -10 -12 3 -30 26 -35 21 -28 -25 3 -24 3
-38 -2 -32 -4 6 -18 16 -31 23 -20 11 -23 9 -32 -14 -13 -35 -13 -40 4 -26 9
7 17 8 20 3 3 -6 -2 -13 -12 -18 -33 -14 -47 -10 -50 19 -2 19 -9 27 -23 27
-11 0 -17 -5 -14 -10 3 -6 1 -26 -6 -45 -11 -30 -11 -37 7 -56 17 -20 17 -22
2 -16 -11 4 -17 2 -15 -5 4 -23 -32 -19 -44 4 -12 22 -11 23 8 5 20 -17 20
-17 13 28 -5 33 -4 45 4 42 7 -3 12 4 12 14 0 30 -20 16 -33 -22 l-11 -34 -7
27 c-4 15 -4 33 0 40 3 7 -6 0 -20 -17 -20 -21 -25 -24 -20 -10 4 11 12 38 17
60 10 45 21 55 60 55 18 0 31 8 39 23 l12 22 -24 -20 -23 -20 17 28 c16 25 16
28 2 33 -9 4 -14 13 -11 20 3 7 1 16 -4 19 -6 4 -10 1 -10 -4 0 -6 -7 -11 -15
-11 -9 0 -12 6 -9 15 7 17 -21 65 -36 65 -6 0 -10 -6 -10 -13z m-60 -71 c0 -3
-4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m140 -32
c0 -8 -32 -33 -42 -34 -10 0 24 38 35 39 4 1 7 -2 7 -5z m-145 -62 c-11 -9
-15 -11 -8 -3 6 7 9 21 6 30 -5 13 -3 14 8 3 11 -10 10 -15 -6 -30z m240 -133
c-4 -5 -3 -15 1 -21 5 -7 7 -29 6 -48 l-2 -35 14 35 c13 31 15 32 15 10 1 -29
-9 -47 -28 -52 -10 -2 -14 14 -16 64 -1 38 1 65 6 62 5 -3 7 -10 4 -15z m115
12 c0 -5 -7 -11 -15 -15 -8 -3 -15 -15 -15 -26 0 -11 -4 -20 -9 -20 -15 0 -7
50 9 60 19 12 30 13 30 1z m-80 -22 c0 -5 -4 -9 -10 -9 -5 0 -10 7 -10 16 0 8
5 12 10 9 6 -3 10 -10 10 -16z m-230 -34 c0 -8 -4 -15 -9 -15 -13 0 -22 16
-14 24 11 11 23 6 23 -9z m-585 -25 c14 -5 23 -14 20 -20 -10 -16 -29 -12 -43
10 -14 23 -13 24 23 10z m35 -40 c0 -5 0 -13 -1 -16 0 -4 5 -11 13 -15 7 -5 8
-9 3 -9 -14 0 -45 37 -38 44 10 9 23 7 23 -4z m610 -10 c0 -5 -2 -10 -4 -10
-3 0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z m-300 -59 c0 -5 -8 -19
-18 -31 -17 -21 -19 -21 -25 -6 -5 12 -3 15 6 10 9 -6 8 -3 -1 8 -11 14 -10
17 10 21 13 2 24 5 26 6 1 0 2 -3 2 -8z m66 -48 c-1 -20 -34 -49 -43 -39 -3 3
-12 1 -20 -6 -11 -8 -17 -8 -26 2 -9 9 -9 11 0 6 6 -3 15 -2 18 4 4 6 15 8 26
5 11 -4 19 -2 19 4 0 6 -8 11 -17 11 -15 0 -16 2 -3 9 8 6 18 7 22 5 4 -3 8 0
8 5 0 6 4 11 9 11 5 0 8 -8 7 -17z m54 -106 c11 -20 12 -31 4 -44 -15 -25 -57
-28 -75 -7 -10 13 -10 16 -1 10 7 -4 24 -5 38 -2 32 8 35 56 3 56 -11 0 -17 4
-14 11 10 15 28 6 45 -24z m-109 -54 c8 -9 9 -14 4 -11 -6 4 -15 -4 -21 -17
-10 -20 -9 -22 9 -17 18 5 18 4 3 -27 -9 -17 -14 -31 -10 -31 3 0 -1 -11 -10
-25 -9 -14 -13 -25 -9 -25 4 0 -2 -7 -13 -15 -10 -8 -26 -14 -34 -14 -10 0
-11 2 -2 6 6 2 12 9 12 14 0 6 -5 7 -12 3 -7 -5 -8 -3 -3 6 4 7 9 30 10 52 1
21 10 47 19 57 9 9 16 22 16 27 0 8 20 34 26 34 1 0 8 -8 15 -17z m39 -103 c0
-13 5 -18 15 -14 24 10 17 -17 -15 -60 -17 -22 -30 -48 -30 -58 0 -10 -3 -18
-7 -18 -5 0 -9 27 -11 60 -2 42 2 66 14 85 20 30 34 32 34 5z m-177 -27 c-7
-2 -19 -2 -25 0 -7 3 -2 5 12 5 14 0 19 -2 13 -5z m237 -7 c0 -2 -7 -9 -15
-16 -13 -11 -14 -10 -9 4 5 14 24 23 24 12z m-126 -51 c-4 -8 -11 -15 -16 -15
-6 0 -5 6 2 15 7 8 14 15 16 15 2 0 1 -7 -2 -15z m-29 -35 c-3 -5 -11 -10 -16
-10 -6 0 -7 5 -4 10 3 6 11 10 16 10 6 0 7 -4 4 -10z m-50 -30 c-3 -5 -11 -10
-16 -10 -6 0 -7 5 -4 10 3 6 11 10 16 10 6 0 7 -4 4 -10z m-8 -34 c-2 -6 -11
-12 -20 -14 -11 -2 -15 1 -12 11 7 16 37 19 32 3z m174 -8 c-6 -15 -16 -22
-27 -20 -11 2 -24 4 -31 4 -21 2 -4 17 30 27 18 5 33 10 34 10 1 1 -1 -9 -6
-21z m-379 -30 c-7 -7 -12 -8 -12 -2 0 14 12 26 19 19 2 -3 -1 -11 -7 -17z
m193 -28 c-10 -11 -20 -18 -23 -16 -5 6 21 35 32 36 5 0 1 -9 -9 -20z m525 0
c0 -5 -10 -10 -22 -10 -19 0 -20 2 -8 10 19 13 30 13 30 0z m55 0 c3 -5 1 -10
-4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m37 -107 c15 -30 13
-63 -4 -63 -5 0 -8 7 -4 15 3 8 1 15 -5 15 -6 0 -8 7 -5 16 4 10 -1 22 -11 30
-16 12 -16 13 -1 14 9 0 23 -12 30 -27z m-727 -3 c-3 -5 -11 -10 -16 -10 -6 0
-7 5 -4 10 3 6 11 10 16 10 6 0 7 -4 4 -10z m705 -37 c0 -5 -5 -15 -10 -23 -8
-12 -10 -11 -10 8 0 12 5 22 10 22 6 0 10 -3 10 -7z m-450 -18 c-7 -8 -17 -15
-22 -15 -6 0 -5 7 2 15 7 8 17 15 22 15 6 0 5 -7 -2 -15z m395 -18 c14 -11 15
-16 5 -22 -9 -5 -15 -4 -18 3 -2 7 -10 12 -18 12 -8 0 -14 5 -14 10 0 14 23
12 45 -3z m-222 -31 c3 -8 -2 -21 -11 -29 -15 -13 -19 -13 -32 1 -13 14 -12
15 3 9 11 -4 16 -3 12 3 -7 11 2 30 15 30 4 0 10 -6 13 -14z m214 -5 c19 -18
23 -18 42 -5 21 15 21 15 9 -13 -7 -15 -16 -34 -21 -41 -6 -7 -7 -15 -4 -18 3
-3 13 8 22 25 19 38 28 41 15 5 -9 -22 -8 -25 5 -20 9 3 15 0 15 -8 0 -24
-110 -31 -118 -8 -2 7 2 10 11 7 8 -4 21 4 31 19 19 30 11 34 -16 9 -13 -11
-18 -12 -18 -3 0 7 8 19 18 27 16 14 16 14 -2 9 -10 -4 -27 -4 -38 0 -19 6
-19 6 -1 20 24 18 26 17 50 -5z m-497 -48 c-12 -16 -29 -31 -38 -35 -27 -11
-90 -9 -97 2 -11 17 15 40 44 40 14 0 33 5 41 10 8 5 28 10 43 10 l28 0 -21
-27z m100 3 c0 -3 -4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2
10 -4z m1270 -6 c0 -5 -5 -10 -11 -10 -5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4
-4 4 -10z m-1526 -29 c32 -28 113 -50 147 -41 31 9 52 -6 24 -16 -30 -12 -119
7 -162 34 -23 15 -42 30 -43 35 0 12 13 8 34 -12z m448 -3 c-7 -7 -12 -8 -12
-2 0 14 12 26 19 19 2 -3 -1 -11 -7 -17z m905 -14 c12 -11 13 -18 4 -27 -8 -8
-11 -7 -11 6 0 9 -4 17 -10 17 -5 0 -10 5 -10 10 0 14 9 12 27 -6z m50 -4 c-1
-22 -17 -28 -17 -7 0 12 9 27 16 27 2 0 2 -9 1 -20z m92 -50 c24 -16 47 -27
52 -24 10 6 11 1 3 -19 -3 -9 -17 -13 -40 -11 -40 3 -60 14 -26 14 12 0 22 3
22 8 0 10 -38 42 -50 42 -5 0 -12 5 -15 10 -11 18 9 10 54 -20z m-835 -16 c8
-22 8 -24 -6 -24 -6 0 -8 3 -5 7 4 3 2 12 -4 20 -7 8 -8 13 -1 13 5 0 13 -7
16 -16z m783 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m-67
-24 c0 -5 -10 -10 -22 -9 -22 0 -22 1 -3 9 11 5 21 9 23 9 1 1 2 -3 2 -9z
m201 -22 c11 -21 11 -22 -4 -9 -10 7 -17 17 -17 22 0 15 9 10 21 -13z m-1411
-18 c-6 -11 -16 -20 -22 -20 -6 0 -3 9 7 20 10 11 20 20 22 20 2 0 -1 -9 -7
-20z m1470 -32 c0 -6 -6 -5 -15 2 -8 7 -15 14 -15 16 0 2 7 1 15 -2 8 -4 15
-11 15 -16z m-619 -5 c13 -16 12 -17 -3 -4 -17 13 -22 21 -14 21 2 0 10 -8 17
-17z m579 -125 c0 -18 -28 6 -50 42 -14 22 -28 40 -31 40 -4 0 -10 8 -13 18
-3 9 17 -8 44 -38 27 -30 50 -58 50 -62z m-1465 63 c-17 -33 -51 -61 -75 -61
-8 0 -1 8 15 19 17 10 39 30 48 45 23 35 31 33 12 -3z m939 3 c3 -8 2 -12 -4
-9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m342 -16 c4 -6 0 -15 -7 -20 -12 -8
-11 -9 1 -5 29 8 56 -50 64 -138 2 -16 8 -43 14 -58 17 -39 15 -57 -3 -27 -26
47 -42 85 -48 120 -4 19 -18 48 -32 64 -27 31 -26 30 -30 62 -2 16 2 20 17 16
10 -2 21 -9 24 -14z m-92 -94 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11
14 -7z m-151 -11 c-8 -21 -54 -93 -59 -93 -2 0 8 25 23 55 25 51 51 78 36 38z
m-872 -10 c-5 -10 -12 -39 -16 -65 -4 -27 -12 -48 -17 -48 -6 0 -7 -7 -4 -16
3 -9 1 -14 -5 -12 -6 2 -11 6 -12 8 -3 12 48 150 55 150 5 0 4 -8 -1 -17z
m-125 -43 c-12 -58 -28 -68 -19 -12 5 31 19 62 27 62 2 0 -2 -22 -8 -50z
m1082 -31 c2 -19 11 -42 19 -51 13 -15 5 -27 -10 -15 -2 1 -11 -4 -21 -12 -9
-8 -19 -11 -23 -7 -3 3 -1 6 5 6 14 0 16 37 4 42 -5 2 -7 20 -4 41 5 47 26 44
30 -4z m-461 -81 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z"/>
<path d="M1135 680 c-3 -5 1 -10 9 -10 9 0 16 5 16 10 0 6 -4 10 -9 10 -6 0
-13 -4 -16 -10z"/>
<path d="M570 610 c-13 -8 -12 -10 3 -10 9 0 17 5 17 10 0 12 -1 12 -20 0z"/>
<path d="M1561 1874 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z"/>
<path d="M1450 1865 c0 -9 6 -12 17 -8 13 5 15 3 9 -12 -4 -11 -4 -16 0 -12 4
4 13 -1 19 -10 11 -15 13 -15 24 5 6 12 10 22 9 23 -2 0 -11 2 -22 4 -10 2
-23 8 -29 14 -15 15 -27 14 -27 -4z"/>
<path d="M1420 1850 c0 -5 5 -10 11 -10 5 0 7 5 4 10 -3 6 -8 10 -11 10 -2 0
-4 -4 -4 -10z"/>
<path d="M1573 1821 c0 -25 2 -27 14 -15 8 8 12 18 9 23 -4 5 0 12 6 14 7 3 4
6 -8 6 -16 1 -21 -5 -21 -28z"/>
<path d="M1612 1818 c5 -15 28 -23 28 -10 0 5 -7 13 -16 16 -10 4 -14 1 -12
-6z"/>
<path d="M1240 1791 c0 -25 6 -27 13 -6 4 8 2 17 -3 20 -6 4 -10 -3 -10 -14z"/>
<path d="M1730 1795 c-17 -21 -9 -27 13 -10 10 7 14 16 9 19 -5 3 -15 -1 -22
-9z"/>
<path d="M1990 1773 c0 -6 -22 -8 -55 -5 l-55 4 0 -40 c0 -22 3 -47 6 -56 8
-20 40 -21 52 -1 6 13 23 15 75 13 37 -2 66 -7 65 -12 -3 -11 -64 -12 -103 -2
-18 5 -27 2 -31 -8 -6 -16 -41 -32 -61 -28 -8 2 -10 -3 -7 -13 3 -8 10 -15 16
-15 5 0 7 -8 3 -19 -3 -11 0 -21 9 -24 9 -4 13 -16 11 -34 -2 -18 4 -34 16
-44 18 -15 18 -17 3 -23 -10 -4 -21 -1 -26 6 -6 10 -12 9 -23 -6 -11 -14 -11
-21 -2 -31 7 -7 15 -11 19 -9 4 2 9 0 13 -6 3 -5 -1 -10 -9 -10 -9 0 -16 -4
-16 -10 0 -5 4 -10 8 -10 5 0 9 -14 9 -31 0 -42 42 -119 65 -119 21 0 22 9 4
32 -7 10 -17 14 -22 10 -4 -4 -3 0 4 9 6 9 9 19 6 22 -6 6 59 37 77 37 5 0 9
-7 9 -15 0 -8 6 -15 13 -15 9 0 9 -2 0 -8 -15 -10 -5 -52 12 -52 8 0 21 -3 31
-7 10 -4 15 -2 11 3 -3 6 -2 27 3 47 4 20 4 35 0 32 -4 -3 -11 3 -14 12 -5 12
-9 14 -18 5 -15 -15 -28 -15 -28 -2 0 5 22 21 48 34 88 45 191 175 176 223 -4
14 -3 15 4 4 7 -9 12 -10 16 -2 7 11 -6 15 -33 12 -7 -2 -11 4 -9 11 3 7 -6
21 -19 31 -13 10 -21 23 -18 28 4 5 -1 9 -9 9 -9 0 -16 7 -16 15 0 13 -10 19
-30 17 -46 -4 -129 -15 -142 -18 -10 -3 -18 -2 -19 3 -3 38 -19 84 -19 56z
m-34 -21 c-5 -8 -66 -4 -66 4 0 2 16 4 36 4 19 0 33 -4 30 -8z m251 -98 c-3
-3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m-159 -49 c-12 -26 -19 -30
-32 -18 -4 4 3 15 16 25 30 23 30 23 16 -7z m-33 -45 c4 -6 -6 -7 -27 -3 -44
8 -48 13 -10 13 17 0 34 -4 37 -10z m-22 -17 c2 -5 7 -20 10 -34 6 -25 6 -26
-27 -15 -30 9 -33 12 -23 33 10 22 32 31 40 16z m113 -249 c-4 -9 -9 -15 -11
-12 -3 3 -3 13 1 22 4 9 9 15 11 12 3 -3 3 -13 -1 -22z"/>
<path d="M1165 1754 c-15 -11 -16 -17 -7 -26 9 -9 15 -9 27 2 21 22 5 42 -20
24z"/>
<path d="M1729 1723 c-13 -15 -12 -15 9 -4 23 12 28 21 13 21 -5 0 -15 -7 -22
-17z"/>
<path d="M1055 1720 c-3 -6 1 -7 9 -4 18 7 21 14 7 14 -6 0 -13 -4 -16 -10z"/>
<path d="M1400 1701 c0 -6 5 -13 11 -17 7 -4 2 -15 -14 -30 -27 -25 -50 -86
-41 -109 3 -7 0 -23 -6 -35 -8 -15 -8 -20 -1 -16 6 4 11 2 11 -5 0 -18 10 -5
15 19 5 27 24 62 33 62 17 -1 34 -19 32 -36 -5 -40 -1 -49 13 -31 14 19 25 13
49 -24 16 -25 15 -28 -3 -58 l-19 -31 28 6 c15 3 35 8 45 11 20 5 23 -10 3
-26 -8 -6 -16 -22 -19 -34 -6 -20 -5 -21 7 -4 12 16 14 15 11 -12 -1 -17 -8
-38 -16 -48 -12 -15 -12 -16 3 -10 13 4 15 2 11 -10 -4 -9 -2 -14 3 -10 5 3
10 -3 10 -14 0 -10 -4 -19 -8 -19 -5 0 -4 -8 1 -17 6 -10 12 -30 15 -45 4 -15
15 -30 26 -33 13 -4 20 -15 20 -32 0 -15 3 -23 6 -20 4 3 16 2 27 -4 12 -7 17
-7 13 -1 -3 6 4 9 18 8 13 0 22 -6 19 -12 -5 -13 24 -27 38 -18 12 7 12 34 -1
34 -5 0 -6 -7 -3 -17 5 -11 3 -14 -6 -9 -7 5 -11 16 -8 26 2 10 -4 25 -14 34
-19 16 -26 56 -10 56 12 0 23 -29 15 -41 -3 -5 2 -9 11 -9 12 0 15 6 10 21 -6
16 -4 20 6 13 8 -4 0 6 -18 22 -19 19 -34 45 -38 68 -6 30 -11 36 -26 31 -17
-6 -18 -2 -12 27 8 40 37 68 63 61 11 -3 27 2 35 11 21 20 71 21 79 1 4 -11
-2 -15 -24 -15 -32 0 -48 -16 -32 -32 7 -7 20 -7 41 0 28 10 31 9 32 -11 1
-12 1 -28 0 -36 -2 -7 2 -10 8 -6 6 3 11 20 11 37 0 23 4 29 16 24 12 -5 14
-1 9 17 -13 42 -32 52 -103 52 -96 1 -101 8 -45 61 35 33 42 43 26 39 -15 -4
-23 -2 -23 6 0 8 -6 6 -18 -4 -20 -19 -52 -23 -52 -7 0 6 5 10 11 10 5 0 8 4
4 10 -3 5 -13 6 -22 3 -10 -4 -14 -2 -10 4 16 25 -24 19 -54 -8 -34 -31 -49
-38 -30 -16 6 8 8 17 4 20 -3 4 2 16 12 27 10 11 15 23 11 27 -4 5 -21 -8 -37
-27 -20 -25 -29 -30 -29 -18 0 9 5 20 10 23 6 3 7 17 4 31 -4 14 -2 24 5 24 6
0 11 5 11 11 0 6 -7 9 -15 5 -10 -4 -15 1 -16 17 -1 21 -1 21 -8 -2 -3 -13
-17 -31 -30 -40 -24 -15 -24 -15 -12 8 9 16 10 21 1 16 -6 -4 -20 1 -30 10
-11 10 -24 14 -32 9 -10 -6 -10 -5 0 9 8 9 11 25 7 37 -6 20 -25 28 -25 11z
m123 -106 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m-135 -25
c-7 -10 -14 -17 -17 -15 -4 4 18 35 25 35 2 0 -1 -9 -8 -20z m112 -16 c0 -8
-5 -12 -10 -9 -6 4 -8 11 -5 16 9 14 15 11 15 -7z m130 -289 c0 -8 4 -15 9
-15 5 0 11 -23 13 -51 3 -29 14 -62 26 -79 12 -16 18 -32 12 -35 -5 -3 -19 16
-31 42 -20 43 -23 57 -28 101 0 7 -5 11 -10 7 -13 -8 -22 10 -15 29 8 20 24
21 24 1z"/>
<path d="M1370 1675 c-8 -9 -8 -15 -2 -15 12 0 26 19 19 26 -2 2 -10 -2 -17
-11z"/>
<path d="M1700 1671 c-6 -12 -7 -21 -1 -21 10 0 24 30 17 37 -2 3 -9 -5 -16
-16z"/>
<path d="M770 1636 c0 -2 7 -7 16 -10 8 -3 12 -2 9 4 -6 10 -25 14 -25 6z"/>
<path d="M1590 1606 c0 -9 5 -16 10 -16 6 0 10 4 10 9 0 6 -4 13 -10 16 -5 3
-10 -1 -10 -9z"/>
<path d="M1406 1545 c-11 -29 -7 -37 10 -20 11 11 13 20 7 26 -7 7 -12 5 -17
-6z"/>
<path d="M810 1544 c0 -3 61 -34 68 -34 2 0 -1 6 -7 14 -10 12 -61 29 -61 20z"/>
<path d="M885 1530 c3 -5 11 -10 16 -10 6 0 7 5 4 10 -3 6 -11 10 -16 10 -6 0
-7 -4 -4 -10z"/>
<path d="M1304 1492 c-17 -11 -22 -57 -8 -70 20 -19 24 -14 14 14 -7 19 -7 31
1 40 14 16 9 26 -7 16z"/>
<path d="M1836 1491 c-3 -5 3 -11 14 -14 13 -3 20 0 20 9 0 15 -26 19 -34 5z"/>
<path d="M1478 1455 c-5 -25 -4 -25 10 -11 12 11 13 19 5 27 -7 7 -12 3 -15
-16z"/>
<path d="M1248 1438 c-5 -13 23 -68 34 -68 8 0 -2 39 -13 45 -4 3 -6 12 -2 20
3 8 1 15 -5 15 -6 0 -12 -6 -14 -12z"/>
<path d="M1206 1397 c3 -10 9 -15 12 -12 3 3 0 11 -7 18 -10 9 -11 8 -5 -6z"/>
<path d="M441 1348 c-34 -28 -61 -53 -61 -55 0 -6 96 66 115 86 32 36 9 23
-54 -31z"/>
<path d="M1170 1398 c0 -16 24 -57 37 -62 10 -4 11 -1 4 12 -14 26 -40 58 -41
50z"/>
<path d="M1724 1335 c-4 -8 -11 -12 -16 -9 -6 4 -9 1 -6 -7 9 -26 36 -22 36 6
0 28 -6 32 -14 10z"/>
<path d="M1151 1308 c6 -11 12 -18 13 -16 1 1 7 10 14 19 11 14 9 17 -12 17
-22 0 -24 -3 -15 -20z"/>
<path d="M2000 1316 c0 -7 7 -19 15 -26 16 -13 20 -3 9 24 -8 20 -24 21 -24 2z"/>
<path d="M475 1290 c-3 -6 1 -7 9 -4 18 7 21 14 7 14 -6 0 -13 -4 -16 -10z"/>
<path d="M1200 1291 c0 -6 -7 -11 -16 -11 -8 0 -12 -4 -9 -10 8 -12 42 -13 49
-1 3 5 -1 14 -9 21 -10 9 -15 9 -15 1z"/>
<path d="M2147 1265 c-4 -8 -3 -16 1 -19 13 -8 35 11 28 23 -10 15 -23 14 -29
-4z"/>
<path d="M2040 1250 c0 -5 4 -10 10 -10 5 0 7 -8 4 -17 -5 -17 -5 -17 6 0 11
18 6 37 -11 37 -5 0 -9 -4 -9 -10z"/>
<path d="M1768 1233 c6 -2 12 -11 12 -19 0 -8 5 -14 10 -14 6 0 10 4 10 8 0
12 -22 32 -34 31 -6 0 -5 -3 2 -6z"/>
<path d="M1966 1211 c3 -9 9 -24 11 -33 3 -10 9 -15 14 -12 5 3 7 10 4 15 -4
5 4 9 16 9 17 0 19 3 10 14 -6 8 -23 16 -37 19 -20 4 -24 1 -18 -12z"/>
<path d="M2160 1210 c0 -5 5 -10 11 -10 5 0 7 5 4 10 -3 6 -8 10 -11 10 -2 0
-4 -4 -4 -10z"/>
<path d="M2130 1186 c0 -9 5 -16 10 -16 6 0 10 4 10 9 0 6 -4 13 -10 16 -5 3
-10 -1 -10 -9z"/>
<path d="M1076 1171 c-4 -7 -5 -15 -2 -18 9 -9 19 4 14 18 -4 11 -6 11 -12 0z"/>
<path d="M2295 1145 c4 -11 8 -26 8 -32 0 -7 6 -13 14 -13 18 0 16 11 -8 40
-17 20 -19 21 -14 5z"/>
<path d="M1105 1119 c-12 -19 5 -23 22 -6 16 16 16 17 1 17 -9 0 -20 -5 -23
-11z"/>
<path d="M2266 1113 c-4 -9 0 -23 8 -31 13 -13 15 -11 14 16 -1 35 -12 42 -22
15z"/>
<path d="M1760 1109 c0 -5 5 -7 10 -4 6 3 10 8 10 11 0 2 -4 4 -10 4 -5 0 -10
-5 -10 -11z"/>
<path d="M1295 1090 c3 -5 8 -10 11 -10 2 0 4 5 4 10 0 6 -5 10 -11 10 -5 0
-7 -4 -4 -10z"/>
<path d="M2210 1090 c0 -5 7 -10 16 -10 8 0 12 5 9 10 -3 6 -10 10 -16 10 -5
0 -9 -4 -9 -10z"/>
<path d="M57 1060 c-42 -8 -74 -30 -43 -30 9 0 26 5 36 10 15 8 18 7 14 -3 -6
-16 25 -32 37 -20 12 13 15 46 4 48 -5 2 -27 -1 -48 -5z"/>
<path d="M476 1055 c-16 -12 -17 -18 -8 -27 9 -9 12 -9 12 1 0 8 8 20 18 27 9
7 13 13 7 13 -5 0 -19 -6 -29 -14z"/>
<path d="M515 1030 c9 -15 45 -32 45 -22 0 5 -12 14 -26 20 -14 7 -23 8 -19 2z"/>
<path d="M401 978 c-36 -43 -26 -42 28 4 33 29 38 38 19 38 -7 0 -28 -19 -47
-42z"/>
<path d="M150 999 c0 -5 5 -7 10 -4 6 3 10 8 10 11 0 2 -4 4 -10 4 -5 0 -10
-5 -10 -11z"/>
<path d="M1225 980 c4 -6 11 -8 16 -5 14 9 11 15 -7 15 -8 0 -12 -5 -9 -10z"/>
<path d="M2260 966 c0 -7 7 -19 15 -26 8 -7 15 -9 15 -5 0 4 6 2 14 -4 11 -9
15 -7 19 9 3 13 -1 24 -13 30 -26 14 -50 12 -50 -4z"/>
<path d="M886 935 c-9 -26 -7 -32 5 -12 6 10 9 21 6 23 -2 3 -7 -2 -11 -11z"/>
<path d="M1230 935 c0 -9 6 -12 15 -9 8 4 15 7 15 9 0 2 -7 5 -15 9 -9 3 -15
0 -15 -9z"/>
<path d="M291 871 c-49 -44 -65 -66 -67 -88 -1 -17 -11 -52 -23 -78 -12 -26
-21 -54 -21 -63 0 -8 -8 -24 -17 -34 -13 -15 -14 -18 -2 -13 13 5 15 -4 14
-50 0 -31 3 -59 7 -61 4 -3 8 21 9 53 1 78 5 103 23 147 10 24 20 35 27 30 8
-5 10 -2 6 8 -3 10 9 29 33 53 22 21 37 42 34 47 -3 4 0 8 5 8 6 0 11 5 11 10
0 6 -8 5 -19 -2 -11 -7 -17 -17 -14 -23 4 -5 2 -7 -2 -2 -5 4 -21 -5 -37 -20
-15 -15 -28 -21 -28 -15 0 7 8 19 18 27 53 45 80 73 95 98 10 15 16 27 15 27
-2 0 -32 -26 -67 -59z"/>
<path d="M1498 903 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M206 885 c-8 -9 -19 -16 -23 -15 -4 0 -8 -13 -8 -30 0 -16 5 -29 10
-27 6 1 10 11 10 23 0 11 8 28 18 38 9 10 17 19 17 22 0 8 -9 4 -24 -11z"/>
<path d="M2295 870 c3 -5 8 -10 11 -10 2 0 4 5 4 10 0 6 -5 10 -11 10 -5 0 -7
-4 -4 -10z"/>
<path d="M928 835 c-14 -32 -4 -42 26 -26 16 9 22 19 19 32 -7 27 -31 24 -45
-6z"/>
<path d="M66 774 c-11 -30 -6 -37 14 -19 11 10 20 22 20 27 0 15 -28 9 -34 -8z"/>
<path d="M124 762 c6 -10 3 -13 -10 -10 -10 2 -27 -5 -37 -15 -13 -13 -27 -17
-42 -13 -13 3 -27 1 -31 -6 -5 -7 -3 -8 7 -3 12 8 12 6 0 -8 -11 -15 -10 -18
12 -26 59 -23 152 46 109 81 -13 11 -14 11 -8 0z"/>
<path d="M2155 750 c7 -21 54 -74 60 -68 6 5 -49 87 -58 88 -5 0 -5 -9 -2 -20z"/>
<path d="M497 710 c-3 -11 -3 -20 -1 -20 2 0 8 9 14 20 6 11 7 20 2 20 -6 0
-12 -9 -15 -20z"/>
<path d="M2495 691 c5 -36 12 -48 20 -39 3 3 -2 20 -10 39 l-16 34 6 -34z"/>
<path d="M2350 707 c0 -16 24 -67 31 -67 5 0 29 -18 53 -40 32 -30 49 -38 62
-33 16 6 17 5 6 -9 -10 -13 -10 -17 0 -21 7 -3 8 -6 3 -6 -7 -1 -9 -16 -7 -36
2 -19 -1 -42 -8 -50 -10 -12 -7 -21 19 -50 28 -32 31 -33 40 -16 7 12 7 21 0
28 -7 7 -7 17 3 32 11 17 11 25 -1 43 -9 15 -10 23 -3 26 7 2 9 16 5 35 -7 39
-23 59 -24 32 0 -17 -2 -17 -10 3 -5 13 -7 28 -4 32 3 5 0 12 -6 16 -7 4 -9 3
-6 -3 5 -7 -6 -11 -28 -11 -28 0 -34 3 -25 13 8 10 8 15 -1 20 -6 4 -9 19 -6
35 5 24 3 28 -18 28 -14 0 -22 -4 -20 -8 3 -5 2 -16 -1 -25 -6 -14 -8 -13 -18
6 -10 19 -36 39 -36 26z m200 -256 c-1 -10 -6 -7 -15 9 -19 33 -18 50 0 26 8
-11 15 -27 15 -35z"/>
<path d="M1355 687 c7 -17 78 -38 86 -26 3 5 14 7 25 3 14 -4 16 -3 5 4 -7 5
-10 15 -6 22 6 9 3 9 -14 1 -21 -12 -65 -11 -77 2 -12 12 -24 8 -19 -6z"/>
<path d="M2460 674 c0 -8 5 -12 10 -9 6 3 10 10 10 16 0 5 -4 9 -10 9 -5 0
-10 -7 -10 -16z"/>
<path d="M244 648 c-5 -13 -7 -26 -6 -30 1 -5 -3 -8 -9 -8 -5 0 -8 -4 -5 -8 5
-9 -28 -132 -45 -167 -5 -11 -12 -29 -14 -40 -23 -97 -56 -188 -83 -229 -18
-28 -32 -57 -32 -65 1 -12 4 -11 12 4 13 23 49 51 61 47 5 -1 6 1 4 5 -3 5 6
24 19 43 l24 34 0 -56 c0 -34 -8 -73 -19 -99 -21 -46 -18 -72 4 -42 13 17 14
16 8 -6 -5 -21 -3 -23 15 -19 12 4 25 2 28 -3 9 -16 74 -11 74 6 0 8 4 15 8
15 12 0 9 43 -3 52 -5 4 -2 15 9 27 10 11 16 28 14 38 -3 10 1 29 8 43 7 14
14 50 16 80 3 51 1 55 -19 58 -13 2 -23 -2 -23 -8 0 -6 5 -8 11 -4 8 5 8 1 0
-14 -8 -14 -8 -21 0 -24 7 -2 7 -12 -1 -32 -6 -16 -12 -44 -15 -63 -2 -20 -12
-41 -21 -48 -16 -11 -16 -14 -2 -34 9 -12 13 -31 11 -42 -6 -20 -6 -20 -25 1
-10 11 -25 20 -33 20 -8 0 -17 5 -20 11 -4 6 0 9 11 7 20 -3 29 23 37 106 9
86 54 221 80 237 11 8 2 39 -12 39 -5 0 -9 -6 -8 -12 1 -49 -16 -66 -28 -27
-10 32 3 69 29 79 31 11 41 52 22 88 -13 23 -15 24 -16 7 0 -16 -2 -17 -9 -6
-5 8 -7 20 -4 28 3 8 -3 13 -17 13 -11 0 -18 5 -15 10 3 6 2 10 -4 10 -5 0
-13 -10 -17 -22z m76 -62 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14
25 6z m-93 -323 c1 -22 -1 -24 -8 -10 -6 9 -7 22 -4 27 9 14 10 13 12 -17z
m-7 -50 c-1 -5 -7 -19 -15 -33 -10 -18 -14 -20 -15 -8 0 23 11 48 21 48 5 0 9
-3 9 -7z m-20 -163 c0 -11 -2 -20 -4 -20 -2 0 -6 9 -9 20 -3 11 -1 20 4 20 5
0 9 -9 9 -20z"/>
<path d="M20 629 c0 -24 10 -28 38 -18 31 12 28 26 -8 31 -24 4 -30 1 -30 -13z"/>
<path d="M2125 640 c3 -5 11 -10 16 -10 6 0 7 5 4 10 -3 6 -11 10 -16 10 -6 0
-7 -4 -4 -10z"/>
<path d="M1437 619 c7 -7 15 -10 18 -7 3 3 -2 9 -12 12 -14 6 -15 5 -6 -5z"/>
<path d="M73 605 c-9 -24 1 -27 15 -5 8 13 8 20 2 20 -6 0 -13 -7 -17 -15z"/>
<path d="M109 583 c-13 -15 -12 -15 9 -4 23 12 28 21 13 21 -5 0 -15 -7 -22
-17z"/>
<path d="M2270 575 c7 -8 17 -15 22 -15 6 0 5 7 -2 15 -7 8 -17 15 -22 15 -6
0 -5 -7 2 -15z"/>
<path d="M2427 573 c-7 -11 10 -40 18 -31 4 4 3 14 -3 24 -5 9 -12 12 -15 7z"/>
<path d="M2304 526 c1 -12 -4 -20 -11 -18 -13 2 -18 -30 -7 -41 4 -3 15 -2 26
4 16 9 23 7 33 -8 7 -10 21 -27 29 -38 l16 -20 -6 20 c-4 11 -18 34 -30 52
-13 17 -24 38 -24 46 0 8 -6 17 -13 20 -9 3 -13 -3 -13 -17z"/>
<path d="M7 533 c-4 -3 -7 -11 -7 -17 0 -6 5 -5 12 2 6 6 9 14 7 17 -3 3 -9 2
-12 -2z"/>
<path d="M2240 510 c0 -11 7 -20 15 -20 13 0 14 4 5 20 -6 11 -13 20 -15 20
-3 0 -5 -9 -5 -20z"/>
<path d="M2452 498 c17 -52 30 -58 26 -13 -2 28 -8 41 -20 43 -15 3 -16 0 -6
-30z"/>
<path d="M397 456 c-3 -8 0 -19 7 -25 10 -8 12 -6 11 9 -2 26 -11 34 -18 16z"/>
<path d="M120 408 c-13 -22 -18 -38 -11 -34 13 8 44 66 39 72 -3 2 -15 -15
-28 -38z"/>
<path d="M40 417 c0 -7 -9 -20 -20 -30 -11 -9 -20 -22 -20 -28 0 -17 21 3 43
40 10 17 13 31 8 31 -6 0 -11 -6 -11 -13z"/>
<path d="M2240 341 c0 -11 4 -22 9 -25 4 -3 6 6 3 19 -5 30 -12 33 -12 6z"/>
<path d="M91 298 c-13 -16 -21 -31 -18 -34 3 -3 15 9 27 26 29 40 22 46 -9 8z"/>
<path d="M32 295 c-20 -44 -13 -62 8 -22 22 41 24 47 12 47 -5 0 -14 -11 -20
-25z"/>
<path d="M2450 314 c0 -7 27 -34 35 -34 3 0 1 9 -5 20 -10 18 -30 28 -30 14z"/>
<path d="M2230 259 c0 -8 9 -32 19 -54 10 -23 17 -53 15 -67 -3 -33 22 -59 32
-33 4 10 1 27 -6 39 -12 20 -12 20 5 6 17 -14 18 -13 11 13 -5 20 -3 27 9 27
16 0 16 23 -1 53 -13 22 -84 36 -84 16z"/>
<path d="M2322 105 c-17 -66 -13 -94 15 -101 33 -9 40 2 21 34 -8 15 -14 38
-13 52 1 14 -1 32 -5 40 -6 10 -11 3 -18 -25z"/>
<path d="M2406 124 c-5 -14 23 -94 34 -94 3 0 19 13 34 29 27 28 27 30 11 54
-18 28 -70 35 -79 11z"/>
<path d="M1935 110 c2 -31 15 -37 15 -7 0 15 -4 27 -8 27 -5 0 -8 -9 -7 -20z"/>
<path d="M110 96 c0 -35 15 -40 16 -5 1 16 -3 29 -7 29 -5 0 -9 -11 -9 -24z"/>
<path d="M290 10 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
-10 -4 -10 -10z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,19 @@
{
"name": "iGor milhit",
"short_name": "iG",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View File

@ -2,13 +2,14 @@
# See https://github.com/gohugoio/hugoThemes#themetoml for an example # See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "PortfoliGor" name = "PortfoliGor"
themeversion = "0.3.0"
license = "MIT" license = "MIT"
licenselink = "https://framagit.org/iGormilhit/portfoliGor/blob/master/LICENSE" licenselink = "https://git.milhit.ch/igor/portfoliGor/blob/master/LICENSE"
description = "" description = "Yet another portfolio HUGO Theme"
homepage = "http://example.com/" homepage = "https://igor.milhit.ch"
tags = [] tags = ["personal", "professional", "portfolio", "blog"]
features = [] features = []
min_version = "0.41" min_version = "0.80.0"
[author] [author]
name = "iGor milhit" name = "iGor milhit"

152
yarn-error.log 100644
View File

@ -0,0 +1,152 @@
Arguments:
/home/igor/.nvm/versions/node/v12.18.3/bin/node /usr/bin/yarn add picocss --dev
PATH:
/home/igor/.poetry/bin:/opt/pyenv/plugins/pyenv-virtualenv/shims:/home/igor/.nvm/versions/node/v12.18.3/bin:/home/igor/bin:/usr/local/bin:/home/igor/.pyenv/shims:/home/igor/.pyenv/bin:/home/igor/.poetry/bin:/home/igor/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/igor/.local/bin:/home/igor/.npm-global:/home/igor/.poetry/bin:/home/igor/bin:/home/igor/.gem/ruby/3.0.0/bin
Yarn version:
1.22.17
Node version:
12.18.3
Platform:
linux x64
Trace:
Error: https://registry.yarnpkg.com/picocss: Not found
at Request.params.callback [as _callback] (/usr/lib/node_modules/yarn/lib/cli.js:67029:18)
at Request.self.callback (/usr/lib/node_modules/yarn/lib/cli.js:140883:22)
at Request.emit (events.js:315:20)
at Request.<anonymous> (/usr/lib/node_modules/yarn/lib/cli.js:141855:10)
at Request.emit (events.js:315:20)
at IncomingMessage.<anonymous> (/usr/lib/node_modules/yarn/lib/cli.js:141777:12)
at Object.onceWrapper (events.js:421:28)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
npm manifest:
{
"name": "portfoliGor",
"version": "0.1.0",
"description": "Hugo theme for a personal portfolio",
"main": "index.js",
"repository": "git@framagit.org:iGormilhit/portfoliGor.git",
"author": "iGor milhit <igor@milhit.ch>",
"license": "MIT",
"devDependencies": {
"auto-changelog": "^2.0.0"
},
"dependencies": {
"gutenberg-css": "^0.6.1"
}
}
yarn manifest:
No manifest
Lockfile:
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
auto-changelog@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/auto-changelog/-/auto-changelog-2.3.0.tgz#08ab8b1840a5d804410f1d1a5d2c4b2df0d835e1"
integrity sha512-S2B+RtTgytsa7l5iFGBoWT9W9ylITT5JJ8OaMJ7nrwvnlRm1dSS2tghaYueDeInZZafOE+1llH3tUQjMDRVS1g==
dependencies:
commander "^5.0.0"
handlebars "^4.7.3"
node-fetch "^2.6.0"
parse-github-url "^1.0.2"
semver "^6.3.0"
commander@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
gutenberg-css@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/gutenberg-css/-/gutenberg-css-0.6.1.tgz#dd06c38ec3a33e6bb05a6d3cd2682c96d8b6eaf4"
integrity sha512-6OKs0SsqMhU68sBPYvm0imc2Wa4s7W6QzwSUq5vM3GIqsAcd5hV5RvW7Natp1hbJ3go8B3xDPdYSb7zu3vDkbw==
dependencies:
normalize.css "^8.0.1"
handlebars@^4.7.3:
version "4.7.7"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
dependencies:
minimist "^1.2.5"
neo-async "^2.6.0"
source-map "^0.6.1"
wordwrap "^1.0.0"
optionalDependencies:
uglify-js "^3.1.4"
minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
neo-async@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
node-fetch@^2.6.0:
version "2.6.6"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89"
integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==
dependencies:
whatwg-url "^5.0.0"
normalize.css@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
parse-github-url@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395"
integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==
semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
uglify-js@^3.1.4:
version "3.14.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90"
integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA==
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
wordwrap@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=

128
yarn.lock 100644
View File

@ -0,0 +1,128 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@picocss/pico@2.0.6":
version "2.0.6"
resolved "https://registry.npmjs.org/@picocss/pico/-/pico-2.0.6.tgz"
integrity sha512-/d8qsykowelD6g8k8JYgmCagOIulCPHMEc2NC4u7OjmpQLmtSetLhEbt0j1n3fPNJVcrT84dRp0RfJBn3wJROA==
auto-changelog@^2.0.0:
version "2.5.0"
resolved "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.5.0.tgz"
integrity sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==
dependencies:
commander "^7.2.0"
handlebars "^4.7.7"
import-cwd "^3.0.0"
node-fetch "^2.6.1"
parse-github-url "^1.0.3"
semver "^7.3.5"
commander@^7.2.0:
version "7.2.0"
resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
gutenberg-css@^0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/gutenberg-css/-/gutenberg-css-0.6.1.tgz"
integrity sha512-6OKs0SsqMhU68sBPYvm0imc2Wa4s7W6QzwSUq5vM3GIqsAcd5hV5RvW7Natp1hbJ3go8B3xDPdYSb7zu3vDkbw==
dependencies:
normalize.css "^8.0.1"
handlebars@^4.7.7:
version "4.7.8"
resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz"
integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
dependencies:
minimist "^1.2.5"
neo-async "^2.6.2"
source-map "^0.6.1"
wordwrap "^1.0.0"
optionalDependencies:
uglify-js "^3.1.4"
import-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz"
integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==
dependencies:
import-from "^3.0.0"
import-from@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz"
integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==
dependencies:
resolve-from "^5.0.0"
minimist@^1.2.5:
version "1.2.8"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
node-fetch@^2.6.1:
version "2.7.0"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz"
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
dependencies:
whatwg-url "^5.0.0"
normalize.css@^8.0.1:
version "8.0.1"
resolved "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz"
integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
parse-github-url@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz"
integrity sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==
resolve-from@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
semver@^7.3.5:
version "7.6.3"
resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
uglify-js@^3.1.4:
version "3.19.3"
resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz"
integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
wordwrap@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==