Update theme + remove everything
This commit is contained in:
parent
868ac65970
commit
c6794fc535
.gitignore.gitmodules
assets
config.tomlcontent
data
generate_icons.shi18n
images
layouts
404.html
_default
index.htmlindex.jsonindex.xmlpartials
article_card.htmlbuild_assets.htmlcactus_chat.htmlcommento.htmldate.htmlfeatured_articles.htmlfooter.htmlfooter_columns.htmlhead.htmlhead_icons.htmlhead_meta_opengraph.htmlhead_meta_seo.htmlhead_meta_twitter.htmlheader.htmlheader_navigation.htmlhome_post_list.htmliconlink.html
inject
body.htmlcontent-after.htmlcontent-before.htmlfooter.htmlhead.htmlheader-after.htmlheader-before.html
js_paginator.htmljumbotron.htmlnerdlink.htmlpaginator.htmlplausible.htmlrelated_articles.htmlsearchbar.htmlshare_on_fediverse.htmlshowcase.htmlsimple_posts_list.htmlsingle_post.htmltoc.htmlumami.htmlshortcodes
resources/_gen/assets/scss/scss
static
android-chrome-192x192.pngandroid-chrome-512x512.pngapple-touch-icon.pngfavicon.icofavicon.pngguestbook
theme.tomljetbrains-mono
jetbrains-mono-bold-italic-latin-ext.woff2jetbrains-mono-bold-italic-latin.woff2jetbrains-mono-bold-latin-ext.woff2jetbrains-mono-bold-latin.woff2jetbrains-mono-extra-bold-italic-latin-ext.woff2jetbrains-mono-extra-bold-italic-latin.woff2jetbrains-mono-extra-bold-latin-ext.woff2jetbrains-mono-extra-bold-latin.woff2jetbrains-mono-italic-latin-ext.woff2jetbrains-mono-italic-latin.woff2jetbrains-mono-light-italic-latin-ext.woff2jetbrains-mono-light-italic-latin.woff2jetbrains-mono-light-latin-ext.woff2jetbrains-mono-light-latin.woff2jetbrains-mono-medium-italic-latin-ext.woff2jetbrains-mono-medium-italic-latin.woff2jetbrains-mono-medium-latin-ext.woff2jetbrains-mono-medium-latin.woff2jetbrains-mono-regular-latin-ext.woff2jetbrains-mono-regular-latin.woff2jetbrains-mono.css
logo.svgrobots.txtsymbols-nerd-font
themes
|
@ -1,2 +1 @@
|
|||
|
||||
public/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[submodule "themes/readable"]
|
||||
path = themes/readable
|
||||
url = https://git.fbievan.live/fbievan/hugo-theme-readable
|
||||
url = https://git.fbievan.live/fbievan/hugo-theme-readable.git
|
||||
[submodule "static/guestbook"]
|
||||
path = static/guestbook
|
||||
url = https://git.fbievan.live/fbievan/guestbook.git
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
||||
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
<xsl:template match="/">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title><xsl:value-of select="/rss/channel/title"/> RSS Feed</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
||||
<meta charset="UTF-8"/>
|
||||
{{ $style := resources.Get "/scss/style.scss" | resources.ExecuteAsTemplate "/scss/style.scss" . | resources.ToCSS (dict "targetPath" "css/styles.css" "outputStyle" "compressed" "enableSourceMap" "true") | resources.Fingerprint "sha512" }}
|
||||
<link type="text/css" rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}" />
|
||||
<style>
|
||||
.aboutfeeds {
|
||||
margin: 24px 0; padding: 12px;
|
||||
border: 2px solid var(--default_accent);
|
||||
background-color: var(--default_hl_bg)
|
||||
}
|
||||
.head {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.logo {
|
||||
width: 50px;
|
||||
max-height: 50px;
|
||||
border-radius: 5px;
|
||||
display: block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.rssLogo {
|
||||
display: block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
header h1 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>
|
||||
<svg class="rssLogo" width="32" height="32" version="1.1" viewBox="0 0 32 32"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path fill="#ff7800"
|
||||
d="M 4.9970764,0 H 26.997124 C 29.767161,0 31.9971,2.2300144 31.9971,4.9999764 V 27.000024 C 31.9971,29.770061 29.767086,32 26.997124,32 H 4.9970764 C 2.2270388,32 -0.0029,29.769986 -0.0029,27.000024 V 4.9999764 C -0.0029,2.2299388 2.2271144,0 4.9970764,0 Z"
|
||||
/>
|
||||
<path fill="#ffffff"
|
||||
d="m 10.652345,21.357209 q 0.794754,0.795468 0.794754,1.931828 0,1.120137 -0.794754,1.915672 -0.7947706,0.795468 -1.9301364,0.795468 -1.1353653,0 -1.930136,-0.795468 -0.7947708,-0.795467 -0.7947708,-1.915672 0,-1.136377 0.7947708,-1.931828 0.7947707,-0.811691 1.930136,-0.811691 1.1353658,0 1.9301364,0.811691 z m 8.077348,3.668942 q 0.01682,0.405854 -0.243305,0.68182 -0.259516,0.292205 -0.664997,0.292205 h -1.913994 q -0.373047,0 -0.632562,-0.22728 -0.243306,-0.2435 -0.259515,-0.584427 -0.324402,-3.263021 -2.643912,-5.56829 Q 10.068158,17.298754 6.8243058,16.990274 6.4674686,16.957811 6.2241796,16.714291 5.9971,16.454549 5.9971,16.097399 v -1.915673 q 0,-0.422077 0.2919482,-0.681819 0.2433052,-0.22728 0.6163522,-0.22728 h 0.081045 q 2.2544878,0.178576 4.3307416,1.136377 2.076086,0.957803 3.681871,2.581269 1.621977,1.623399 2.579007,3.701423 0.97319,2.061749 1.151609,4.334538 z m 7.266385,0.01614 q 0.01682,0.405853 -0.243305,0.681819 -0.259516,0.275984 -0.665013,0.275984 h -2.027493 q -0.356836,0 -0.632578,-0.243502 -0.275724,-0.243504 -0.29195,-0.600637 -0.16226,-3.051983 -1.427332,-5.811809 -1.26514,-2.759827 -3.292615,-4.772772 Q 15.404609,12.542104 12.6472,11.275872 9.9061004,9.9933838 6.8567915,9.8310488 6.4999709,9.8148927 6.2404563,9.5550662 5.9971503,9.2953236 5.9971503,8.9219502 V 6.8926809 q 0,-0.3896138 0.2919481,-0.6493564 Q 6.5324037,5.9998227 6.905451,5.9998227 h 0.048594 q 3.730464,0.1948173 7.120435,1.7207897 3.406113,1.5097508 6.033714,4.1558116 2.660054,2.629906 4.168482,6.039004 1.524655,3.409099 1.719283,7.126678 z"
|
||||
/>
|
||||
</svg>
|
||||
<xsl:value-of select="/rss/channel/title"/>
|
||||
</h1>
|
||||
<div class="aboutfeeds">
|
||||
<p>This is a web feed, also known as an RSS feed. <strong>Subscribe</strong> by copying the URL into your RSS reader.</p>
|
||||
</div>
|
||||
<div class="head">
|
||||
<div class="avatar">
|
||||
<img class="logo" src="{{ .Site.Params.Logo }}" alt="Site Logo"/>
|
||||
</div>
|
||||
<div class="description">
|
||||
<p><xsl:value-of select="/rss/channel/description"/></p>
|
||||
<p><a hreflang="en"><xsl:attribute name="href"><xsl:value-of select="/rss/channel/link"/></xsl:attribute>Visit Website →</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div id="content">
|
||||
<main>
|
||||
<h2>📄 Recent Posts</h2>
|
||||
<xsl:for-each select="/rss/channel/item">
|
||||
<article>
|
||||
<h3><a target="_blank"><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute><xsl:value-of select="title"/></a></h3>
|
||||
<footer>Published: <time><xsl:value-of select="pubDate" /></time></footer>
|
||||
</article>
|
||||
</xsl:for-each>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
File diff suppressed because it is too large
Load Diff
132
config.toml
132
config.toml
|
@ -1,132 +0,0 @@
|
|||
baseURL = 'https://fbievan.live/'
|
||||
title = "Fbi's Epic Blog"
|
||||
languageCode = "en"
|
||||
defaultContentLanguage = "en"
|
||||
|
||||
theme = "hugo-ficurinia"
|
||||
[params]
|
||||
author = "fbievan"
|
||||
description = "My Epic Blog Site"
|
||||
|
||||
showPostsLink = true
|
||||
extraContentDirs = [] # other content directories to render similarly to the home page
|
||||
showcaseDir = "showcase" # create a content directory that shows a special showcase section in the home page
|
||||
|
||||
# shows a specified single page as a home page, instead of the traditional articles list
|
||||
# requires setting `homeSinglePage`
|
||||
# goes well with extraContentDirs
|
||||
showSinglePageAsHome = false
|
||||
homeSinglePage = "/home"
|
||||
|
||||
# It's best to put these icons in the "static" folder of your site
|
||||
logo = "/logo.svg"
|
||||
favicon = "/favicon.png" # 32x32
|
||||
faviconIco = "/favicon.ico" # 32x32
|
||||
appletouch = "/apple-touch-icon.png" # 180x180
|
||||
svgicon = "/logo.svg"
|
||||
icon512 = "/icon512.png" # 512x512 png image
|
||||
|
||||
logoRightOfTitle = false # positions the logo to the right of the title; default: false
|
||||
|
||||
showTags = true # show the Tags menu item; default true
|
||||
showRss = true # show the link for the RSS feed; default true
|
||||
|
||||
imageInArticlePreview = false # show images in article preview; default false
|
||||
fitImageInArticlePreview = false # make article preview images fit the article preview instead of getting cropped
|
||||
articleSummary = true # show a summary in article preview; default true
|
||||
|
||||
fontFamily = "JetBrains Mono" # changes the font, default "JetBrains Mono"
|
||||
titleFontFamily = "JetBrains Mono" # font used for titles and headings
|
||||
monospaceFontFamily = "JetBrains Mono" # changes the monospace font for code, default "JetBrains Mono"
|
||||
|
||||
# multipliers applied to font sizes, useful for custom fonts that may be too big or too small
|
||||
titleFontSizeMultiplier = 1.0
|
||||
mainFontSizeMultiplier = 1.0
|
||||
monoFontSizeMultiplier = 1.0
|
||||
|
||||
contentWidth = "1000px" # maximum width of the site content, css syntax
|
||||
|
||||
paperCards = false # enable paper card style; default false
|
||||
buttonTags = false # enable button tag style; default false
|
||||
tagsInArticlePreview = true # enable tags list in the article preview card
|
||||
gridView = false # show post list as a grid. goes well with paperCards
|
||||
bigArticleTitle = false # makes the title in the single article view bigger
|
||||
navtype = "standard" # changes the style of the pagination, available styles are: "standard", "circles"
|
||||
enableShadow = false # shows a shadow around some elements
|
||||
menuStyle = "standard" # changes the style of the main site navigation menu, available styles are: "standard", "buttons"
|
||||
|
||||
enableSearch = true # enable search page
|
||||
searchbarEverywhere = true # if the searchbar should be shown in every page; requires enableSearch
|
||||
searchMenuLink = false # add a search link to the navigation menu; requires enableSearch
|
||||
mobileHamburgerNav = false # alternative hamburger menu layout for the main nav menu when screen is small
|
||||
|
||||
enableFeatured = false # enable a particular view for articles marked as featured (featured: true in the article frontmatter)
|
||||
|
||||
underlineTitleLinks = false # show an underline also for links that are titles
|
||||
|
||||
enableShareOnFediverse = false # enable a button at the end of an article to share it on the fediverse
|
||||
tocBeforeImage = false # show the table of contents before the main article image; default false
|
||||
|
||||
# alternative sidebar layout
|
||||
enableSidebarLayout = false
|
||||
tocInSidebar = false # if the sidebar is enbabled, show the TOC in the sidebar
|
||||
|
||||
# redirect to baseURL if current URL host doesn't match
|
||||
# useful if deploying in gitlab pages with custom domain and don't want
|
||||
# the username.gitlab.io/website url to persist
|
||||
# this requires you to set baseURL (see above)
|
||||
forceRedirect = false
|
||||
|
||||
infiniteScrolling = false # activates infinite scrolling instead of regular pagination
|
||||
enableFooterColumns = false # activates footer columns, as described below
|
||||
enableJumbotron = false # enables jumbotron, as described below
|
||||
# related articles will be selected randomly based on tags and shown at
|
||||
# the bottom of the article, after the comments
|
||||
enableRelatedArticles = false
|
||||
relatedArticlesNum = 2 # how many related articles to show
|
||||
randomRelated = false # sorts related articles in random order (randomized at built time)
|
||||
|
||||
cactusCommentsSiteName = "fbievan.live"
|
||||
cactusCommentsServerName = "cactus.chat"
|
||||
cactusCommentsHomeserver = "https://matrix.cactus.chat:8448"
|
||||
|
||||
[menu]
|
||||
# these links will be added to the main navigation menu, sorted by weight
|
||||
# other elements in this menu are added automatically from the "pages" folder
|
||||
# the folder it will look into can be customized with the pages variable
|
||||
# in params above
|
||||
[[menu.main]]
|
||||
identifier = "about"
|
||||
name = "About"
|
||||
url = "/about/"
|
||||
weight = 10
|
||||
# these links (menu.icons) will be added as icon links below the main nav
|
||||
[[menu.icons]]
|
||||
identifier = "gitlab"
|
||||
name = "GitLab"
|
||||
url = "https://gitlab.com/fbievan"
|
||||
weight = 10
|
||||
[[menu.icons]]
|
||||
identifier = "matrix"
|
||||
name = "matrix"
|
||||
url = "https://matrix.to/#/@fbievan1:matrix.org"
|
||||
weight = 20
|
||||
[[menu.icons]]
|
||||
identifier = "pleroma"
|
||||
name = "pleroma"
|
||||
url = "https://social.fbievan.live/users/fbievan"
|
||||
weight = 10
|
||||
[[menu.icons]]
|
||||
identifier = "mastodon"
|
||||
name = "mastodon"
|
||||
url = "https://social.linux.pizza/@fbievan"
|
||||
weight = 10
|
||||
|
||||
|
||||
|
||||
|
||||
# this section is necessary if you want infinite scrolling
|
||||
# it allows to output the article list as paged JSON so that "pages" can be retrieved via javascript
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "JSON"]
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
title: Manifest
|
||||
layout: manifest
|
||||
outputs:
|
||||
- "json"
|
||||
norss: true
|
||||
nosearch: true
|
||||
---
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
title: Search
|
||||
layout: search
|
||||
outputs:
|
||||
- "html"
|
||||
- "json"
|
||||
norss: true
|
||||
nosearch: true
|
||||
comments: false
|
||||
---
|
|
@ -1,22 +0,0 @@
|
|||
default: dark # light
|
||||
auto_switch: false # set to true to respect the user preference
|
||||
dark:
|
||||
bg: '#252429' # main site background
|
||||
hl_bg: '#34363b' # card and circle navigation background color for paper card mode
|
||||
fg: 'white' # font color
|
||||
dim_fg: '#bababa' # will be used for secondary information like dates and tags
|
||||
stroke: '#4f4f4f' # stroke/border color used mostly in the icon menu tooltip
|
||||
accent: '#db5793' # pervasive accent color
|
||||
sidebar:
|
||||
bg: '#34363b' # sidebar background
|
||||
fg: 'white' # sidebar font color
|
||||
light:
|
||||
bg: '#f5f5f5'
|
||||
hl_bg: '#e6e6e6'
|
||||
fg: '#262625'
|
||||
dim_fg: '#40403e'
|
||||
stroke: '#575754'
|
||||
accent: '#db5793'
|
||||
sidebar:
|
||||
bg: '#e6e6e6'
|
||||
fg: '#121211'
|
|
@ -1,21 +0,0 @@
|
|||
email: ""
|
||||
facebook: ""
|
||||
github: ""
|
||||
gitlab: ""
|
||||
gnome: ""
|
||||
instagram: ""
|
||||
linkedin: ""
|
||||
mastodon: "<svg class='pseudofont' xmlns:svg='http://www.w3.org/2000/svg' width='16' height='16' viewbox='0 0 16 16'><path d='M 7.4779094,-1.598624e-6 C 5.5602384,0.0156984 3.7155894,0.2233384 2.6405814,0.7170384 c 0,0 -2.13206093,0.9537 -2.13206093,4.20766 0,0.74512 -0.01448,1.63603 0.0091,2.58084 0.07742,3.1821946 0.58336693,6.3183886 3.52553593,7.0971276 1.356568,0.359063 2.521335,0.434289 3.45936,0.382729 1.701085,-0.09431 2.6560206,-0.607063 2.6560206,-0.607063 l -0.05611,-1.234252 c 0,0 -1.2156316,0.383272 -2.5808476,0.33656 -1.352609,-0.04639 -2.780561,-0.145832 -2.999328,-1.80651 -0.0202,-0.145872 -0.03031,-0.301902 -0.03031,-0.465714 0,-10e-7 1.327834,0.324572 3.010574,0.40167 1.028943,0.0472 1.993827,-0.06028 2.9738766,-0.177218 1.879445,-0.224425 3.515901,-1.382448 3.721577,-2.4405646 0.32407,-1.666815 0.297376,-4.067605 0.297376,-4.067605 0,-3.25396 -2.131943,-4.20766 -2.131943,-4.20766 C 11.288476,0.2233384 9.4426784,0.0156784 7.5250084,-1.598624e-6 Z M 5.3076104,2.5424984 c 0.798781,0 1.403595,0.30701 1.803551,0.92113 l 0.388886,0.65181 0.388884,-0.65181 c 0.399875,-0.61412 1.00469,-0.92113 1.803551,-0.92113 0.6903266,0 1.2465526,0.24267 1.6713186,0.71609 0.411755,0.47342 0.61677,1.11337 0.61677,1.91862 v 3.939988 h -1.560986 v -3.824218 c 0,-0.80613 -0.339166,-1.21531 -1.0176126,-1.21531 -0.750129,0 -1.126049,0.48533 -1.126049,1.44509 v 2.09324 h -1.551753 v -2.09324 c 0,-0.95976 -0.376039,-1.44509 -1.126168,-1.44509 -0.678446,0 -1.017613,0.40918 -1.017613,1.21531 v 3.824218 h -1.560985 v -3.939988 c 0,-0.80525 0.205053,-1.4452 0.616889,-1.91862 0.424685,-0.47342 0.980911,-0.71609 1.671317,-0.71609 z' /></svg>"
|
||||
matrix: "<svg class='pseudofont' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'><path d='m0.61133 0v16h1.6498v-0.52679h-1.0762v-14.946h1.0762v-0.52679zm13.128 0v0.52679h1.0762v14.946h-1.0762v0.52679h1.6498v-16zm-6.8306 5.0527c-0.36785 0-0.69557 0.080576-0.98047 0.24219-0.28509 0.1618-0.52842 0.38949-0.73047 0.68359h-0.021484v-0.77148h-1.4512v5.7051h1.5371v-3.3105c-1e-7 -0.27957 0.039729-0.50668 0.11914-0.67969 0.079365-0.17278 0.17514-0.30442 0.28711-0.39648 0.11173-0.091827 0.22666-0.15439 0.3457-0.1875 0.11891-0.033206 0.21487-0.050781 0.28711-0.050781 0.24522 0 0.43037 0.042632 0.55664 0.12695 0.12617 0.084749 0.21736 0.19823 0.27148 0.33789 0.054214 0.1399 0.084431 0.29138 0.091797 0.45703 0.00694 0.16546 0.00977 0.33274 0.00977 0.50195v3.2012h1.5371v-3.1777c0-0.17658 0.013679-0.35257 0.039063-0.52539 0.025197-0.17301 0.074658-0.3266 0.15039-0.46289 0.075685-0.13596 0.18087-0.24728 0.31445-0.33203 0.13349-0.08432 0.309-0.12695 0.52539-0.12695 0.21639 0 0.38741 0.038028 0.51367 0.11133 0.12608 0.073632 0.22214 0.17384 0.28711 0.29883 0.06493 0.12527 0.1026 0.27229 0.11719 0.44141 0.01445 0.16935 0.02344 0.34786 0.02344 0.53906v3.2344h1.5371v-3.8184c0-0.36802-0.05142-0.68189-0.15234-0.94336-0.10121-0.26099-0.24168-0.47277-0.42188-0.63477-0.18039-0.16185-0.39609-0.27993-0.64844-0.35352-0.25272-0.073585-0.52842-0.10938-0.82422-0.10938-0.38965 0-0.72682 0.093949-1.0117 0.28516-0.28509 0.1913-0.50997 0.41395-0.67578 0.66406-0.15151-0.35325-0.3738-0.60033-0.66602-0.74023-0.29212-0.13966-0.61338-0.20898-0.9668-0.20898z' /></svg>"
|
||||
peertube: "<svg class='pseudofont' width='16' height='16' version='1.1' viewBox='2799 -911 16 16' xmlns='http://www.w3.org/2000/svg'><path d='m2801-911v8l5.9998-3.9996zm5.9998 4.0004v7.9993l5.9998-3.9996-5.9998-4.0004zm-5.9998 3.9996v8l5.9998-3.9996z'/></svg>"
|
||||
phone: ""
|
||||
pleroma: "<svg class='pseudofont' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'><path d='m4.2344 3.1826e-6a1.2455 1.2455 0 0 0-1.2404 1.2455 1.2455 1.2455 0 0 0 0 0.00515v14.749h3.976v-16h-2.7305a1.2455 1.2455 0 0 0-0.00515 0zm4.7477 0v8h2.7784a1.2455 1.2455 0 0 0 1.2455-1.2455 1.2455 1.2455 0 0 0 0-0.00515v-6.7493zm0 12.024v3.976h2.7784a1.2455 1.2455 0 0 0 1.2455-1.2455 1.2455 1.2455 0 0 0 0-0.0051v-2.7254z' /></svg>"
|
||||
rss: ""
|
||||
steam: ""
|
||||
telegram: ""
|
||||
twitter: ""
|
||||
xmpp: "ﳽ"
|
||||
youtube: ""
|
||||
discord: "ﭮ"
|
||||
soundcloud: ""
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 path/to/icon.svg"
|
||||
exit 1
|
||||
fi
|
||||
FNAME=$1
|
||||
if [ ! -f "$FNAME" ]; then
|
||||
echo "Error: file $FNAME doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DESTDIR="$(dirname "$FNAME")"
|
||||
convert -density 1200 -background none -resize 32x32 "$FNAME" "$DESTDIR/favicon.ico"
|
||||
convert -density 1200 -background none -resize 32x32 "$FNAME" "$DESTDIR/favicon.png"
|
||||
convert -density 1200 -background none -resize 180x180 "$FNAME" "$DESTDIR/apple-touch-icon.png"
|
||||
convert -density 1200 -background none -resize 192x192 "$FNAME" "$DESTDIR/android-chrome-192x192.png"
|
||||
convert -density 1200 -background none -resize 512x512 "$FNAME" "$DESTDIR/android-chrome-512x512.png"
|
59
i18n/en.toml
59
i18n/en.toml
|
@ -1,59 +0,0 @@
|
|||
[404message]
|
||||
other = "This is not the page you were looking for"
|
||||
|
||||
[searchbarTxt]
|
||||
other = "Search"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[date]
|
||||
other = "Date"
|
||||
|
||||
[continueReading]
|
||||
other = "Continue reading"
|
||||
|
||||
[previousPage]
|
||||
other = "Previous page"
|
||||
|
||||
[nextPage]
|
||||
other = "Next page"
|
||||
|
||||
[shareOnTheFediverse]
|
||||
other = "Share on the Fediverse"
|
||||
|
||||
[enterFediverseInstanceAddress]
|
||||
other = "Enter your instance's address"
|
||||
|
||||
[fediverseInstanceExample]
|
||||
other = "Eg. mastodon.social"
|
||||
|
||||
[cancel]
|
||||
other = "Cancel"
|
||||
|
||||
[share]
|
||||
other = "Share"
|
||||
|
||||
[themeCopyrightNotice]
|
||||
other = "<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Ficurinia theme</a> for <a href='https://gohugo.io'>Hugo</a> by <a href='https://gabmus.org'>Gabriele Musco</a>. Licensed under <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>."
|
||||
|
||||
[home]
|
||||
other = "Home"
|
||||
|
||||
[posts]
|
||||
other = "Posts"
|
||||
|
||||
[search]
|
||||
other = "Search"
|
||||
|
||||
[tagsColumn]
|
||||
other = "Tags:"
|
||||
|
||||
[tagColumn]
|
||||
other = "Tag:"
|
||||
|
||||
[morePostsLikeThis]
|
||||
other = "More posts like this"
|
||||
|
||||
[noResultsFound]
|
||||
other = "No results found"
|
59
i18n/it.toml
59
i18n/it.toml
|
@ -1,59 +0,0 @@
|
|||
[404message]
|
||||
other = "Questa non è la pagina che stavi cercando"
|
||||
|
||||
[searchbarTxt]
|
||||
other = "Cerca"
|
||||
|
||||
[tags]
|
||||
other = "Tag"
|
||||
|
||||
[date]
|
||||
other = "Data"
|
||||
|
||||
[continueReading]
|
||||
other = "Continua a leggere"
|
||||
|
||||
[previousPage]
|
||||
other = "Pagina precedente"
|
||||
|
||||
[nextPage]
|
||||
other = "Pagina successiva"
|
||||
|
||||
[shareOnTheFediverse]
|
||||
other = "Condividi sul Fediverse"
|
||||
|
||||
[enterFediverseInstanceAddress]
|
||||
other = "Inserisci l'indirizzo della tua istanza"
|
||||
|
||||
[fediverseInstanceExample]
|
||||
other = "Es. mastodon.social"
|
||||
|
||||
[cancel]
|
||||
other = "Annulla"
|
||||
|
||||
[share]
|
||||
other = "Condividi"
|
||||
|
||||
[themeCopyrightNotice]
|
||||
other = "<a href='https://gitlab.com/gabmus/hugo-ficurinia'>Tema Ficurinia</a> per <a href='https://gohugo.io'>Hugo</a> creato da <a href='https://gabmus.org'>Gabriele Musco</a>. Disponibile con licenza <a href='https://www.gnu.org/licenses/agpl-3.0.html'>GNU AGPLv3</a>."
|
||||
|
||||
[home]
|
||||
other = "Home"
|
||||
|
||||
[posts]
|
||||
other = "Post"
|
||||
|
||||
[search]
|
||||
other = "Cerca"
|
||||
|
||||
[tagsColumn]
|
||||
other = "Tag:"
|
||||
|
||||
[tagColumn]
|
||||
other = "Tag:"
|
||||
|
||||
[morePostsLikeThis]
|
||||
other = "Altri post come questo"
|
||||
|
||||
[noResultsFound]
|
||||
other = "Nessun risultato trovato"
|
Binary file not shown.
Before ![]() (image error) Size: 77 KiB |
BIN
images/tn.png
BIN
images/tn.png
Binary file not shown.
Before ![]() (image error) Size: 75 KiB |
|
@ -1,7 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<article>
|
||||
<h1>
|
||||
{{ i18n "404message" }}
|
||||
</h1>
|
||||
</article>
|
||||
{{ end }}
|
|
@ -1,21 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="{{ if .IsHome }}home{{ end }}" lang="{{ .Site.LanguageCode }}">
|
||||
{{- partial "head.html" . -}}
|
||||
{{- partial "build_assets.html" . -}}
|
||||
<body>
|
||||
<div id="baseContainer">
|
||||
{{- partial "header.html" . -}}
|
||||
<div id="contentContainer">
|
||||
<div id="content">
|
||||
<main>
|
||||
{{- block "main" . }}{{- end }}
|
||||
</main>
|
||||
{{- partial "footer.html" . -}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{- partial "plausible.html" . -}}
|
||||
{{- partial "umami.html" . -}}
|
||||
{{- partial "inject/body.html" . -}}
|
||||
</body>
|
||||
</html>
|
|
@ -1 +0,0 @@
|
|||
{{- block "main" . }}{{- end }}
|
|
@ -1,8 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ if in (site.Params.extraContentDirs | default (slice)) .Section }}
|
||||
<h1>{{ .Section | humanize }}</h1>
|
||||
{{- partial "home_post_list.html" (dict "Ctx" . "AllPostsList" .Pages) -}}
|
||||
{{ else }}
|
||||
{{- partial "simple_posts_list.html" . -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"$schema": "https://json.schemastore.org/web-manifest-combined.json",
|
||||
"name": "{{ .Site.Title }}",
|
||||
"short_name": "{{ .Site.Title }}",
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
{{ $bg := (.Site.Data.colors.dark.bg | default "#242629") }}
|
||||
{{ $accent := (.Site.Data.colors.dark.accent | default "#db5793") }}
|
||||
{{ if eq .Site.Data.colors.default "light" }}
|
||||
{{ $bg = (.Site.Data.colors.light.bg | default "#f5f5f5") }}
|
||||
{{ $accent = (.Site.Data.colors.light.accent | default "#db5793") }}
|
||||
{{ end }}
|
||||
"background_color": "{{ $bg }}",
|
||||
"theme_color": "{{ $accent }}"
|
||||
{{ if .Site.Params.description }}
|
||||
,
|
||||
"description": "{{ .Site.Params.description }}"
|
||||
{{ end }}
|
||||
{{ if .Site.Params.icon512 }}
|
||||
,
|
||||
"icons": [
|
||||
{
|
||||
"src": "{{ .Site.Params.icon512 }}",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "{{ .Site.Params.icon512 }}",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
}
|
||||
]
|
||||
{{ end }}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<noscript>
|
||||
You need to enable JavaScript to be able to search.
|
||||
</noscript>
|
||||
{{- partial "searchbar.html" . -}}
|
||||
<div class="postlist {{ if .Site.Params.gridView }}gridView{{ end }}" id="postlist">
|
||||
</div>
|
||||
{{- partial "js_paginator.html" . -}}
|
||||
<script>
|
||||
function matchTags(page, term) {
|
||||
for (let tag of page.tags) {
|
||||
if (tag.includes(term)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function performSearch(term) {
|
||||
document.getElementById('postlist').innerHTML = '';
|
||||
term = term.toLowerCase();
|
||||
fetch('/search/index.json').then(res => res.json())
|
||||
.then(res => {
|
||||
let articles = res.pages.filter(page => (
|
||||
page.title.toLowerCase().includes(term) ||
|
||||
matchTags(page, term) ||
|
||||
page.text.includes(term)
|
||||
));
|
||||
if (articles.length > 0) renderArticles(articles);
|
||||
else document.getElementById('postlist').innerHTML = `
|
||||
<h3>{{ i18n "noResultsFound" | safeJS }}</h3>
|
||||
`;
|
||||
});
|
||||
}
|
||||
var url = location.href;
|
||||
var baseUrl = url.split('?')[0];
|
||||
var searchbar = document.getElementById('searchbar');
|
||||
if (url.includes('?')) {
|
||||
var urlParams = new URLSearchParams(url.split('?')[1]);
|
||||
if (urlParams.has('q')) {
|
||||
let searchTerm = urlParams.get('q');
|
||||
searchbar.value = searchTerm;
|
||||
performSearch(searchTerm);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1,27 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{
|
||||
{{ $mscratch := newScratch }}
|
||||
{{ $mscratch.Add "articles" slice }}
|
||||
{{ $pages := where .Site.RegularPages "Params.nosearch" "!=" "true" }}
|
||||
{{ range $pages }}
|
||||
{{ $image := "" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
{{ $image = .Params.Image }}
|
||||
{{ else }}
|
||||
{{ $image = print .Permalink "/" .Params.Image }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $mscratch.Add "articles" (dict
|
||||
"title" .Title
|
||||
"date" (.Date.Format "2006-01-02")
|
||||
"tags" (sort (or .Params.tags slice))
|
||||
"summary" (or .Params.description .Summary)
|
||||
"text" (lower .Plain)
|
||||
"link" .Permalink
|
||||
"image" $image
|
||||
"imageAlt" (or .Params.Alt "")) }}
|
||||
{{ end }}
|
||||
"pages": {{ $mscratch.Get "articles" | jsonify }}
|
||||
}
|
||||
{{ end }}
|
|
@ -1,3 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{- partial "single_post.html" . -}}
|
||||
{{ end }}
|
|
@ -1,15 +0,0 @@
|
|||
{{ define "main" }}
|
||||
|
||||
{{/* get all the pages that are regular posts and not pages */}}
|
||||
{{ $postsDir := .Site.Params.Posts | default (slice "posts" "post") }}
|
||||
{{ $allPostsList := where (where site.RegularPages "Section" "in" $postsDir) "Section" "!=" "" }}
|
||||
{{- partial "showcase.html" . -}}
|
||||
{{ if and .Site.Params.showSinglePageAsHome (ne .Site.Params.homeSinglePage "") }}
|
||||
{{ with .Site.GetPage .Site.Params.homeSinglePage }}
|
||||
{{- partial "single_post.html" . -}}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{- partial "home_post_list.html" (dict "Ctx" . "AllPostsList" $allPostsList) -}}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
|
@ -1,38 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{
|
||||
{{ $postsDir := .Site.Params.Posts | default (slice "posts" "post") }}
|
||||
{{ $allPostsList := where .Site.RegularPages "Section" "in" $postsDir }}
|
||||
{{ $featuredPostsList := slice }}
|
||||
{{ $postsList := $allPostsList }}
|
||||
{{ if .Site.Params.enableFeatured | default false }}
|
||||
{{ $featuredPostsList = where $allPostsList "Params.featured" true }}
|
||||
{{ $postsList = union (where $allPostsList "Params.featured" false) (where $allPostsList "Params.featured" nil) }}
|
||||
{{ end }}
|
||||
{{ $mscratch := newScratch }}
|
||||
{{ $mscratch.Add "articles" slice }}
|
||||
{{ range (.Paginate $postsList).Pages }}
|
||||
{{ $image := "" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
{{ $image = .Params.Image }}
|
||||
{{ else }}
|
||||
{{ $image = print .Permalink "/" .Params.Image }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $mscratch.Add "articles" (dict
|
||||
"title" .Title
|
||||
"date" (.Date.Format "2006-01-02")
|
||||
"tags" (sort (or .Params.tags slice))
|
||||
"summary" (or .Params.description .Summary)
|
||||
"link" .Permalink
|
||||
"image" $image
|
||||
"imageAlt" (or .Params.Alt "")) }}
|
||||
{{ end }}
|
||||
"articles": {{ $mscratch.Get "articles" | jsonify }},
|
||||
"test": "{{range $postsList}}{{.Title}} {{end}}",
|
||||
"page": "{{ .Paginator.PageNumber }}",
|
||||
"next": {{ if .Paginator.HasNext }}
|
||||
{{ .Paginator.Next.URL | absURL | jsonify }}
|
||||
{{ else }}""{{ end }}
|
||||
}
|
||||
{{ end }}
|
|
@ -1,46 +0,0 @@
|
|||
{{- $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 }}
|
||||
{{- printf "<?xml-stylesheet href=\"/feed_style.xsl\" type=\"text/xsl\"?>" | safeHTML -}}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
|
||||
<channel>
|
||||
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<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 }}
|
||||
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
||||
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end -}}
|
||||
<icon>{{ .Site.Params.Logo | default "/img/icon.svg" | absURL }}</icon>
|
||||
{{ range $pages }}
|
||||
{{ if not ( .Params.norss | default false) }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ printf "<![CDATA[" | safeHTML }}{{ .Content | safeHTML }}{{ printf "]]>" | safeHTML }}</description>
|
||||
{{ if .Params.image }}
|
||||
<media:thumbnail url="{{ .Params.image | absURL }}" />
|
||||
{{ end }}
|
||||
</item>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -1,42 +0,0 @@
|
|||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>
|
||||
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</h2>
|
||||
<p class="date">
|
||||
<span title='{{ i18n "date" }}'> </span>
|
||||
{{- partial "date.html" .Date -}}
|
||||
{{ if and (site.Params.tagsInArticlePreview | default true) .Params.tags }}
|
||||
| <!-- Pipe character as visual separator between date and tags-->
|
||||
<span title='{{ i18n "tags" }}'> </span>
|
||||
{{ range sort .Params.tags }}
|
||||
<a href="/tags/{{ . | urlize }}">#{{ . }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ if .Site.Params.imageInArticlePreview }}
|
||||
{{ if .Params.Image }}
|
||||
<a class="unstyledLink" href="{{ .Permalink }}">
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
<img src="{{ .Params.Image }}" alt="{{ .Params.Alt }}" />
|
||||
{{ else }}
|
||||
<img src="{{ .Permalink }}/{{ .Params.Image }}" alt="{{ .Params.Alt }}" />
|
||||
{{ end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{end}}
|
||||
{{ if (site.Params.articleSummary | default true) }}
|
||||
<div class="articlePreview">
|
||||
<p>
|
||||
{{ if .Params.description }}
|
||||
{{ .Params.description }}
|
||||
{{ else }}
|
||||
{{.Summary }}
|
||||
{{ end }}
|
||||
</p>
|
||||
<p><a href="{{ .Permalink }}">{{ i18n "continueReading" }} </a></p>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<hr />
|
||||
</article>
|
|
@ -1,10 +0,0 @@
|
|||
{{/*
|
||||
This partial builds non-standard assets (like xsl files) with the template
|
||||
engine. It is necessary to do it this way to reduce user friction and
|
||||
ensure that the file is there.
|
||||
*/}}
|
||||
{{ if .IsHome }}
|
||||
{{ $feed_style_xsl_template := resources.Get "feed_style.xsl" }}
|
||||
{{ $feed_style_xsl := $feed_style_xsl_template | resources.ExecuteAsTemplate "feed_style.xsl" . }}
|
||||
{{ $noop := $feed_style_xsl.Permalink }}
|
||||
{{ end }}
|
|
@ -1,15 +0,0 @@
|
|||
{{ if and site.Params.cactusCommentsSiteName (.Params.comments | default true) }}
|
||||
<script type="text/javascript" src="https://latest.cactus.chat/cactus.js"></script>
|
||||
|
||||
<div id="ficurinia-cactus-comments"></div>
|
||||
|
||||
<script>
|
||||
initComments({
|
||||
node: document.getElementById("ficurinia-cactus-comments"),
|
||||
defaultHomeserverUrl: '{{ site.Params.cactusCommentsHomeserver | default "https://matrix.cactus.chat:8448" }}',
|
||||
serverName: '{{ site.Params.cactusCommentsServerName | default "cactus.chat" }}',
|
||||
siteName: "{{ site.Params.cactusCommentsSiteName }}",
|
||||
commentSectionId: "{{ .File.UniqueID }}"
|
||||
})
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1,8 +0,0 @@
|
|||
{{ if and .Site.Params.commento (.Params.comments | default true) }}
|
||||
<script
|
||||
defer
|
||||
src="{{ .Site.Params.commento }}"
|
||||
data-no-fonts="true"
|
||||
></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
|
@ -1,5 +0,0 @@
|
|||
{{ if site.Params.dateFormat }}
|
||||
{{ .Format site.Params.dateFormat }}
|
||||
{{ else }}
|
||||
{{ .Format "2006-01-02" }}
|
||||
{{ end }}
|
|
@ -1,37 +0,0 @@
|
|||
<div class="featured postlist gridView">
|
||||
{{ range . }}
|
||||
{{ $image := "" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
{{ $image = .Params.Image }}
|
||||
{{ else }}
|
||||
{{ $image = print .Permalink "/" .Params.Image }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<a class="featuredCardLink" href="{{ .Permalink }}">
|
||||
<article class="featuredCard"
|
||||
style="
|
||||
background-image: linear-gradient(to bottom,
|
||||
rgba(0, 0, 0, 0) 0%,
|
||||
rgba(0, 0, 0, 0.1) 45%,
|
||||
rgba(0, 0, 0, 0.7) 100%
|
||||
), url('{{ $image }}');
|
||||
">
|
||||
<div class="contentArea">
|
||||
<h2>{{ .Title }}</h2>
|
||||
<p class="date">
|
||||
<span title='{{ i18n "date" }}'> </span>
|
||||
{{- partial "date.html" .Date -}}
|
||||
{{ if and (site.Params.tagsInArticlePreview | default true) .Params.tags }}
|
||||
<br />
|
||||
<span title='{{ i18n "tags" }}'> </span>
|
||||
{{ range sort .Params.tags }}
|
||||
#{{ . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
</article>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
|
@ -1,11 +0,0 @@
|
|||
<footer>
|
||||
<hr />
|
||||
{{- partial "inject/footer.html" . -}}
|
||||
{{- partial "footer_columns.html" . -}}
|
||||
<p><small>
|
||||
{{ now.Format "2006" }} © {{ .Site.Copyright | markdownify }}
|
||||
</small></p>
|
||||
<p><small>
|
||||
{{ i18n "themeCopyrightNotice" | safeHTML }}
|
||||
</small></p>
|
||||
</footer>
|
|
@ -1,12 +0,0 @@
|
|||
{{ if (and (.Site.Params.enableFooterColumns | default false) .Site.Data.footer_columns) }}
|
||||
<div class="footerColumns">
|
||||
{{ range .Site.Data.footer_columns }}
|
||||
<ul class="notlist">
|
||||
<li><strong>{{ .title }}</strong></li>
|
||||
{{ range .links }}
|
||||
<li><a target="_blank" href="{{ .link }}">{{ .title }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,44 +0,0 @@
|
|||
<head>
|
||||
{{ if .Site.Params.forceRedirect }}
|
||||
<script>
|
||||
if (location.host != new URL("{{ .Site.BaseURL }}").host) location.href = "{{ .Site.BaseURL }}"
|
||||
</script>
|
||||
{{ end }}
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=7" />
|
||||
|
||||
{{ if .OutputFormats.Get "RSS" }}
|
||||
{{ with .OutputFormats.Get "RSS" }}
|
||||
<link href="{{ .Permalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
<link href="{{ .Permalink }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{- partial "head_icons.html" . -}}
|
||||
|
||||
<title>
|
||||
{{ if and (.Title) (ne .Title .Site.Title) }}
|
||||
{{ .Title }} –
|
||||
{{ end }}
|
||||
{{ .Site.Title | default "Ficurinia" }}
|
||||
</title>
|
||||
|
||||
{{/*
|
||||
how to update these hashes:
|
||||
https://gitlab.com/gabmus/hugo-ficurinia/-/merge_requests/5
|
||||
*/}}
|
||||
<link href="/symbols-nerd-font/symbols-nerd-font.css" rel="stylesheet" integrity="sha512-lydow8GLOLlYNOtHlksNCmGWWCBsbIEtikXpHzfWqx78HLlyQZHOzyLwPpKol4Th6aCwLUXOfODVYgwrd3nwKQ=="/>
|
||||
<link href="/jetbrains-mono/jetbrains-mono.css" rel="stylesheet" integrity="sha512-tJxlgL6v1Y7kFf+qB8SloaAMKnOAw6WouknxXtIjkBux9Y/9aX81EUWOJO8c/3l98DmjG8brr4to7zaez606Fg=="/>
|
||||
|
||||
{{ if and site.Params.cactusCommentsSiteName (.Params.comments | default true) }}
|
||||
<link rel="stylesheet" href="https://latest.cactus.chat/style.css" type="text/css">
|
||||
{{ end }}
|
||||
{{ $style := resources.Get "/scss/style.scss" | resources.ExecuteAsTemplate "/scss/style.scss" . | resources.ToCSS (dict "targetPath" "css/styles.css" "outputStyle" "compressed" "enableSourceMap" "true") | resources.Fingerprint "sha512" }}
|
||||
<link type="text/css" rel="stylesheet" href={{ $style.Permalink }} integrity="{{ $style.Data.Integrity }}" />
|
||||
{{- partial "inject/head.html" . -}}
|
||||
{{- partial "head_meta_seo.html" . -}}
|
||||
{{- partial "head_meta_opengraph.html" . -}}
|
||||
{{- partial "head_meta_twitter.html" . -}}
|
||||
<link rel="manifest" href="/manifest/index.json" />
|
||||
</head>
|
|
@ -1,20 +0,0 @@
|
|||
<link
|
||||
rel="icon"
|
||||
href='{{ .Site.Params.favicon | default "/favicon.png" }}'
|
||||
/>
|
||||
<link
|
||||
rel="shortcut icon"
|
||||
href='{{ .Site.Params.faviconIco | default "/favicon.ico" }}'
|
||||
type="image/x-icon"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href='{{ .Site.Params.appletouch | default "/apple-touch-icon.png" }}'
|
||||
/>
|
||||
{{ if .Site.Params.svgicon }}
|
||||
<link
|
||||
rel="icon"
|
||||
href='{{ .Site.Params.svgicon | default "/logo.svg" }}'
|
||||
type="image/svg+xml"
|
||||
/>
|
||||
{{ end }}
|
|
@ -1,42 +0,0 @@
|
|||
<meta property="og:site_name"
|
||||
content='{{ .Site.Title | default "Ficurinia" }}' />
|
||||
{{ if .IsPage }}
|
||||
<meta property="og:title" content="{{ .Title }}" />
|
||||
<meta property="og:type" content="article" />
|
||||
|
||||
<meta
|
||||
property="article:author" content="{{ .Site.Params.Author }}" />
|
||||
<meta
|
||||
property="article:published_time"
|
||||
content='{{ .Date.Format "2006-01-02T15:04:05Z-0700" }}' />
|
||||
{{ if .Params.tags }}
|
||||
{{ range sort .Params.tags }}
|
||||
<meta property="article:tag" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
{{ $image := .Site.Params.icon512 | default "/img/icon.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
{{ $image = .Params.Image }}
|
||||
{{ else }}
|
||||
{{ $image = print .Permalink "/" .Params.Image }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<meta property="og:image"
|
||||
content="{{ $image | absURL }}" />
|
||||
{{ if .Params.description }}
|
||||
<meta property="og:description" content="{{ .Params.description }}" />
|
||||
{{ else }}
|
||||
<meta property="og:description" content="{{ substr .Summary 0 160 }}" />
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<meta property="og:title"
|
||||
content='{{ .Site.Title | default "Ficurinia" }}' />
|
||||
{{ if .Site.Params.description }}
|
||||
<meta property="og:description" content="{{ .Site.Params.description }}" />
|
||||
{{ end }}
|
||||
<meta property="og:type" content="blog" />
|
||||
<meta property="og:image"
|
||||
content='{{ .Site.Params.icon512 | default "/img/icon.svg" | absURL }}' />
|
||||
{{ end }}
|
|
@ -1,15 +0,0 @@
|
|||
<meta name="author" content="{{ .Site.Params.Author }}" />
|
||||
{{ if .IsPage }}
|
||||
{{ if .Params.tags }}
|
||||
<meta name="keywords" content='{{ delimit (sort .Params.tags) ", "}}' />
|
||||
{{ end }}
|
||||
{{ if .Params.description }}
|
||||
<meta name="description" content="{{ .Params.description }}" />
|
||||
{{ else }}
|
||||
<meta name="description" content="{{ substr .Summary 20 }}" />
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ if .Site.Params.description }}
|
||||
<meta name="description" content="{{ .Site.Params.description }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,33 +0,0 @@
|
|||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain"
|
||||
content='{{ trim (trim .Site.BaseURL "http://") "https://" }}'
|
||||
/>
|
||||
<meta property="twitter:url" content="{{ .Permalink | absURL }}" />
|
||||
|
||||
{{ if .IsPage }}
|
||||
<meta name="twitter:title" content="{{ .Title }}" />
|
||||
|
||||
{{ $image := .Site.Params.icon512 | default "/img/icon.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
{{ $image = .Params.Image }}
|
||||
{{ else }}
|
||||
{{ $image = print .Permalink "/" .Params.Image }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<meta name="twitter:image"
|
||||
content="{{ $image | absURL }}" />
|
||||
{{ if .Params.description }}
|
||||
<meta name="twitter:description" content="{{ .Params.description }}" />
|
||||
{{ else }}
|
||||
<meta name="twitter:description" content="{{ substr .Summary 0 160 }}" />
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<meta name="twitter:title"
|
||||
content='{{ .Site.Title | default "Ficurinia" }}' />
|
||||
{{ if .Site.Params.description }}
|
||||
<meta name="twitter:description" content="{{ .Site.Params.description }}" />
|
||||
{{ end }}
|
||||
<meta name="twitter:image"
|
||||
content='{{ .Site.Params.icon512 | default "/img/icon.svg" | absURL }}' />
|
||||
{{ end }}
|
|
@ -1,63 +0,0 @@
|
|||
<header class="{{ if .IsHome }}jumbotronContainer{{ end }}">
|
||||
{{- partial "inject/header-before.html" . -}}
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
{{ if not (.Site.Params.logoRightOfTitle | default false) }}
|
||||
<a class="unstyledLink" href="/">
|
||||
<img src='{{ .Site.Params.Logo | default "/logo.svg" }}' alt='{{ .Site.Params.LogoAltText | default "Logo" }}'/>
|
||||
</a>
|
||||
{{ end }}
|
||||
<div class="rightOfLogo">
|
||||
<div class="titleAndHamburger">
|
||||
<h1>
|
||||
<a class="unstyledLink" href="/">{{ .Site.Title | default "Ficurinia" }}</a>
|
||||
{{ if .Site.Params.logoRightOfTitle | default false }}
|
||||
<img src='{{ .Site.Params.Logo | default "/logo.svg" }}' alt='{{ .Site.Params.LogoAltText | default "Logo" }}'/>
|
||||
{{ end }}
|
||||
</h1>
|
||||
{{ if (.Site.Params.mobileHamburgerNav | default false) }}
|
||||
<label id="hamburger-menu" for="main-nav-toggler">
|
||||

|
||||
</label>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div id="wide_nav">
|
||||
{{- partial "header_navigation.html" . -}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ if and (.Site.Params.searchbarEverywhere | default true) (and (.Site.Params.enableSearch | default true) (not (eq .Title "Search"))) }}
|
||||
{{- partial "searchbar.html" . -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div id="links">
|
||||
{{ if .Site.Params.showRss | default true }}
|
||||
{{- partial "iconlink" (dict "Identifier" "rss" "Name" "RSS" "URL" "/index.xml") -}}
|
||||
{{ end }}
|
||||
{{ range .Site.Params.links }}
|
||||
{{- partial "nerdlink" . -}}
|
||||
{{ end }}
|
||||
{{ range .Site.Menus.icons }}
|
||||
{{- partial "iconlink" . -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ if and
|
||||
(.Site.Params.enableSidebarLayout | default false)
|
||||
(or
|
||||
(not (.Site.Params.enableJumbotron | default false))
|
||||
(not .IsHome)
|
||||
)
|
||||
}}
|
||||
<div id="sidebar_nav">
|
||||
{{- partial "header_navigation.html" . -}}
|
||||
</div>
|
||||
{{ if and .IsPage .Params.toc }}
|
||||
<div class="sidebarToc">
|
||||
<hr />
|
||||
{{ .TableOfContents }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- partial "inject/header-after.html" . -}}
|
||||
{{- partial "jumbotron.html" . -}}
|
||||
</header>
|
|
@ -1,30 +0,0 @@
|
|||
<nav>
|
||||
{{ if (.Site.Params.mobileHamburgerNav | default false) }}
|
||||
<input type="checkbox" id="main-nav-toggler" />
|
||||
{{ end }}
|
||||
<ul id="main-nav">
|
||||
<li><a href="/">{{ i18n "home" }}</a></li>
|
||||
{{ if (.Site.Params.showPostsLink | default true) }}
|
||||
<li><a href="/posts">{{ i18n "posts" }}</a></li>
|
||||
{{ end }}
|
||||
{{ range site.Params.extraContentDirs }}
|
||||
<li><a href="/{{ . }}">{{ . | humanize }}</a></li>
|
||||
{{ end }}
|
||||
{{ $pagesDir := .Site.Params.Pages | default (slice "pages") }}
|
||||
{{ $pagesList := where .Site.RegularPages "Section" "in" $pagesDir }}
|
||||
{{ range $pagesList }}
|
||||
<li><a href="{{ .Permalink }}">
|
||||
{{ or .Params.Button .Title }}
|
||||
</a></li>
|
||||
{{ end }}
|
||||
{{ range .Site.Menus.main }}
|
||||
<li><a href="{{ .URL | safeURL }}">{{ .Name }}</a></li>
|
||||
{{ end }}
|
||||
{{ if (.Site.Params.showTags | default true) }}
|
||||
<li><a href="/tags">{{ i18n "tags" }}</a></li>
|
||||
{{ end }}
|
||||
{{ if and (.Site.Params.searchMenuLink | default false) (.Site.Params.enableSearch | default true) }}
|
||||
<li><a href="/search">{{ i18n "search" }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
|
@ -1,23 +0,0 @@
|
|||
{{ $allPostsList := .AllPostsList }}
|
||||
{{ $postsList := $allPostsList }}
|
||||
{{ $featuredPostsList := slice }}
|
||||
{{ $pagination := slice }}
|
||||
{{ if site.Params.enableFeatured | default false }}
|
||||
{{ $featuredPostsList = where $allPostsList "Params.featured" true }}
|
||||
{{ $postsList = union (where $allPostsList "Params.featured" false) (where $allPostsList "Params.featured" nil) }}
|
||||
{{ $pagination = (.Ctx.Paginate $postsList).Pages }}
|
||||
{{ if eq .Ctx.Paginator.PageNumber 1 }}
|
||||
{{- partial "featured_articles.html" $featuredPostsList -}}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ $pagination = (.Ctx.Paginate $postsList).Pages }}
|
||||
{{ end }}
|
||||
|
||||
{{/* pagination */}}
|
||||
<div class="postlist {{ if site.Params.gridView }}gridView{{ end }}" id="postlist">
|
||||
{{ range $pagination }}
|
||||
{{- partial "article_card.html" . -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div id="getNextBtnContainer"></div>
|
||||
{{- partial "paginator.html" .Ctx -}}
|
|
@ -1,21 +0,0 @@
|
|||
<a
|
||||
{{ if eq (lower .Identifier) "mastodon" }}
|
||||
rel="me"
|
||||
{{ else if eq (lower .Identifier) "pleroma" }}
|
||||
rel="me"
|
||||
{{ else }}
|
||||
rel="noreferrer"
|
||||
{{ end }}
|
||||
target="_blank"
|
||||
class="nerdlink"
|
||||
href="{{ .URL | safeURL }}">
|
||||
{{ $icon := index site.Data.supported_icons (lower .Identifier) | safeHTML }}
|
||||
{{ if $icon }}
|
||||
{{ $icon | safeHTML }}
|
||||
{{ else }}
|
||||
{{ .Name }}
|
||||
{{ end }}
|
||||
<span>
|
||||
{{ .Name }}
|
||||
</span>
|
||||
</a>
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected before closing the body tag -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected after a post or page content -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected before a post or page content -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected at the beginning of the footer -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected before closing the head tag -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected before closing the header -->
|
|
@ -1 +0,0 @@
|
|||
<!-- This code will be injected just after opening the header -->
|
|
@ -1,47 +0,0 @@
|
|||
<script>
|
||||
function renderTags(tags) {
|
||||
if (tags.length <= 0) return '';
|
||||
let res = `| <span title='{{ i18n "tags" | safeJS }}'> </span>`;
|
||||
for (let tag of tags) {
|
||||
// regular space
|
||||
res += `<a href="/tags/${tag}">#${tag}</a> `;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
function renderImage(image, link, alt) {
|
||||
if (!image) return '';
|
||||
return `<a href="${link}"><img src="${image}" alt="${alt}" /></a>`;
|
||||
}
|
||||
function renderSingleArticle(article) {
|
||||
return `
|
||||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>
|
||||
<a href="${article.link}">${article.title}</a>
|
||||
</h2>
|
||||
<p class="date">
|
||||
<span title='{{ i18n "date" | safeJS }}'> </span>
|
||||
${article.date}
|
||||
{{ if (.Site.Params.tagsInArticlePreview | default true) }}
|
||||
${renderTags(article.tags)}
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ if .Site.Params.imageInArticlePreview }}
|
||||
${renderImage(article.image, article.link, article.imageAlt)}
|
||||
{{ end }}
|
||||
{{ if (site.Params.articleSummary | default true) }}
|
||||
<div class="articlePreview">
|
||||
<p>${article.summary}</p>
|
||||
<p><a href="${article.link}">{{ i18n "continueReading" | safeJS }} </a></p>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<hr />
|
||||
</article>
|
||||
`;
|
||||
}
|
||||
function renderArticles(articles) {
|
||||
let rendered = articles.map(a => renderSingleArticle(a)).join('\n');
|
||||
document.getElementById('postlist').innerHTML += rendered;
|
||||
}
|
||||
</script>
|
|
@ -1,89 +0,0 @@
|
|||
{{ if and .IsHome (and (.Site.Params.enableJumbotron | default false) .Site.Data.jumbotron) }}
|
||||
{{
|
||||
$jumbo_fullscreen := (or
|
||||
(.Site.Data.jumbotron.fullscreen | default false)
|
||||
(.Site.Data.jumbotron.backgroundVideo)
|
||||
)
|
||||
}}
|
||||
{{ if .Site.Data.jumbotron.backgroundVideo }}
|
||||
<div class="video_container">
|
||||
<video
|
||||
class="jumbotron_video"
|
||||
id="jumbotron_video"
|
||||
src="{{ .Site.Data.jumbotron.backgroundVideo }}"
|
||||
playsinline
|
||||
autoplay mute loop>
|
||||
{{ if .Site.Data.jumbotron.backgroundVideoMp4 }}
|
||||
<source src="{{ .Site.Data.jumbotron.backgroundVideoMp4 }}" type="video/mp4">
|
||||
{{ end }}
|
||||
{{ if .Site.Data.jumbotron.backgroundVideoWebm }}
|
||||
<source src="{{ .Site.Data.jumbotron.backgroundVideoWebm }}" type="video/webm">
|
||||
{{ end }}
|
||||
</video>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="jumbotron">
|
||||
{{ if .Site.Data.jumbotron.image }}
|
||||
<img src="{{ .Site.Data.jumbotron.image }}" />
|
||||
{{ end }}
|
||||
<div class="main_box">
|
||||
<h2 class="
|
||||
{{ if (.Site.Data.jumbotron.hugeTitle | default false) }}
|
||||
huge
|
||||
{{ end }}
|
||||
">{{ .Site.Data.jumbotron.title }}</h2>
|
||||
<h3>{{ .Site.Data.jumbotron.subtitle }}</h3>
|
||||
{{ if .Site.Data.jumbotron.backgroundVideo }}
|
||||
<ul id="play_button_container" style="display: none">
|
||||
<li>
|
||||
<a title="Play" style="border-radius: 100%; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center;" class="shareBtn" onclick="playvideo();"> </a>
|
||||
</li>
|
||||
</ul>
|
||||
<script>
|
||||
var jumbotron_video = document.getElementById('jumbotron_video');
|
||||
var play_button_container = document.getElementById('play_button_container');
|
||||
window.onload = function() {
|
||||
setTimeout(function() {
|
||||
if (jumbotron_video.paused) {
|
||||
play_button_container.style.display = 'block';
|
||||
}
|
||||
}, 1000);
|
||||
};
|
||||
function playvideo() {
|
||||
jumbotron_video.play();
|
||||
play_button_container.style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ if .Site.Data.jumbotron.links }}
|
||||
<ul>
|
||||
{{ range .Site.Data.jumbotron.links }}
|
||||
<li>
|
||||
<a class="{{ if .huge }}huge{{ end }}" href="{{ .link | safeURL }}">
|
||||
{{ .title }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ if (
|
||||
and
|
||||
$jumbo_fullscreen
|
||||
(.Site.Data.jumbotron.downArrow | default false)
|
||||
) }}
|
||||
<div class="arrow" onclick="jumpdown();">
|
||||
<svg version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg">
|
||||
<path transform="scale(.26459)" d="m16 34.346v8c0 2.3545 1.0067 4.4663 2.6152 5.9277l45.385 45.385 45.385-45.385c1.6086-1.4614 2.6152-3.5732 2.6152-5.9277v-8h-8c-2.335 0-4.4287 0.99084-5.8887 2.5762l-0.037109 0.039063-34.074 34.074-34.074-34.074c-0.012103-0.013323-0.024917-0.025824-0.037109-0.039063-1.4599-1.5853-3.5537-2.5762-5.8887-2.5762h-8z" />
|
||||
</svg>
|
||||
</div>
|
||||
<script>
|
||||
function jumpdown() {
|
||||
window.scrollTo({
|
||||
top: window.innerHeight, left: 0, behavior: 'smooth'
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,55 +0,0 @@
|
|||
<!-- NOTE: this is deprecated in favor of iconlink -->
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
class="nerdlink"
|
||||
href="{{ index . 1 }}">
|
||||
{{ if eq (lower (index . 0)) "gitlab" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "gnome" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "youtube" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "email" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "twitter" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "instagram" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "facebook" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "github" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "linkedin" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "telegram" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "xmpp" }}
|
||||
ﳽ
|
||||
{{ else if eq (lower (index . 0)) "pleroma" }}
|
||||
<svg class="pseudofont" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m4.2344 3.1826e-6a1.2455 1.2455 0 0 0-1.2404 1.2455 1.2455 1.2455 0 0 0 0 0.00515v14.749h3.976v-16h-2.7305a1.2455 1.2455 0 0 0-0.00515 0zm4.7477 0v8h2.7784a1.2455 1.2455 0 0 0 1.2455-1.2455 1.2455 1.2455 0 0 0 0-0.00515v-6.7493zm0 12.024v3.976h2.7784a1.2455 1.2455 0 0 0 1.2455-1.2455 1.2455 1.2455 0 0 0 0-0.0051v-2.7254z" />
|
||||
</svg>
|
||||
{{ else if eq (lower (index . 0)) "peertube" }}
|
||||
<svg class="pseudofont" width="16" height="16" version="1.1" viewBox="2799 -911 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2801-911v8l5.9998-3.9996zm5.9998 4.0004v7.9993l5.9998-3.9996-5.9998-4.0004zm-5.9998 3.9996v8l5.9998-3.9996z"/>
|
||||
</svg>
|
||||
{{ else if eq (lower (index . 0)) "matrix" }}
|
||||
<svg class="pseudofont" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m0.61133 0v16h1.6498v-0.52679h-1.0762v-14.946h1.0762v-0.52679zm13.128 0v0.52679h1.0762v14.946h-1.0762v0.52679h1.6498v-16zm-6.8306 5.0527c-0.36785 0-0.69557 0.080576-0.98047 0.24219-0.28509 0.1618-0.52842 0.38949-0.73047 0.68359h-0.021484v-0.77148h-1.4512v5.7051h1.5371v-3.3105c-1e-7 -0.27957 0.039729-0.50668 0.11914-0.67969 0.079365-0.17278 0.17514-0.30442 0.28711-0.39648 0.11173-0.091827 0.22666-0.15439 0.3457-0.1875 0.11891-0.033206 0.21487-0.050781 0.28711-0.050781 0.24522 0 0.43037 0.042632 0.55664 0.12695 0.12617 0.084749 0.21736 0.19823 0.27148 0.33789 0.054214 0.1399 0.084431 0.29138 0.091797 0.45703 0.00694 0.16546 0.00977 0.33274 0.00977 0.50195v3.2012h1.5371v-3.1777c0-0.17658 0.013679-0.35257 0.039063-0.52539 0.025197-0.17301 0.074658-0.3266 0.15039-0.46289 0.075685-0.13596 0.18087-0.24728 0.31445-0.33203 0.13349-0.08432 0.309-0.12695 0.52539-0.12695 0.21639 0 0.38741 0.038028 0.51367 0.11133 0.12608 0.073632 0.22214 0.17384 0.28711 0.29883 0.06493 0.12527 0.1026 0.27229 0.11719 0.44141 0.01445 0.16935 0.02344 0.34786 0.02344 0.53906v3.2344h1.5371v-3.8184c0-0.36802-0.05142-0.68189-0.15234-0.94336-0.10121-0.26099-0.24168-0.47277-0.42188-0.63477-0.18039-0.16185-0.39609-0.27993-0.64844-0.35352-0.25272-0.073585-0.52842-0.10938-0.82422-0.10938-0.38965 0-0.72682 0.093949-1.0117 0.28516-0.28509 0.1913-0.50997 0.41395-0.67578 0.66406-0.15151-0.35325-0.3738-0.60033-0.66602-0.74023-0.29212-0.13966-0.61338-0.20898-0.9668-0.20898z" />
|
||||
</svg>
|
||||
{{ else if eq (lower (index . 0)) "mastodon" }}
|
||||
<svg class="pseudofont" xmlns:svg="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16">
|
||||
<path d="M 7.4779094,-1.598624e-6 C 5.5602384,0.0156984 3.7155894,0.2233384 2.6405814,0.7170384 c 0,0 -2.13206093,0.9537 -2.13206093,4.20766 0,0.74512 -0.01448,1.63603 0.0091,2.58084 0.07742,3.1821946 0.58336693,6.3183886 3.52553593,7.0971276 1.356568,0.359063 2.521335,0.434289 3.45936,0.382729 1.701085,-0.09431 2.6560206,-0.607063 2.6560206,-0.607063 l -0.05611,-1.234252 c 0,0 -1.2156316,0.383272 -2.5808476,0.33656 -1.352609,-0.04639 -2.780561,-0.145832 -2.999328,-1.80651 -0.0202,-0.145872 -0.03031,-0.301902 -0.03031,-0.465714 0,-10e-7 1.327834,0.324572 3.010574,0.40167 1.028943,0.0472 1.993827,-0.06028 2.9738766,-0.177218 1.879445,-0.224425 3.515901,-1.382448 3.721577,-2.4405646 0.32407,-1.666815 0.297376,-4.067605 0.297376,-4.067605 0,-3.25396 -2.131943,-4.20766 -2.131943,-4.20766 C 11.288476,0.2233384 9.4426784,0.0156784 7.5250084,-1.598624e-6 Z M 5.3076104,2.5424984 c 0.798781,0 1.403595,0.30701 1.803551,0.92113 l 0.388886,0.65181 0.388884,-0.65181 c 0.399875,-0.61412 1.00469,-0.92113 1.803551,-0.92113 0.6903266,0 1.2465526,0.24267 1.6713186,0.71609 0.411755,0.47342 0.61677,1.11337 0.61677,1.91862 v 3.939988 h -1.560986 v -3.824218 c 0,-0.80613 -0.339166,-1.21531 -1.0176126,-1.21531 -0.750129,0 -1.126049,0.48533 -1.126049,1.44509 v 2.09324 h -1.551753 v -2.09324 c 0,-0.95976 -0.376039,-1.44509 -1.126168,-1.44509 -0.678446,0 -1.017613,0.40918 -1.017613,1.21531 v 3.824218 h -1.560985 v -3.939988 c 0,-0.80525 0.205053,-1.4452 0.616889,-1.91862 0.424685,-0.47342 0.980911,-0.71609 1.671317,-0.71609 z" />
|
||||
</svg>
|
||||
{{ else if eq (lower (index . 0)) "phone" }}
|
||||

|
||||
{{ else if eq (lower (index . 0)) "rss" }}
|
||||

|
||||
{{ else }}
|
||||
{{ index . 0 }}
|
||||
{{ end }}
|
||||
<span>
|
||||
{{ index . 0 }}
|
||||
</span>
|
||||
</a>
|
|
@ -1,66 +0,0 @@
|
|||
{{ if .Site.Params.infiniteScrolling }}
|
||||
{{- partial "js_paginator.html" . -}}
|
||||
<script>
|
||||
var nextPage = '/index.json';
|
||||
function getNext(first=false) {
|
||||
if (!nextPage) return;
|
||||
fetch(nextPage).then(res => res.json())
|
||||
.then(res => {
|
||||
nextPage = res['next'];
|
||||
if (first) {
|
||||
document.getElementById('getNextBtnContainer').innerHTML += `
|
||||
<div class="loadMoreButton {{ if eq .Site.Params.navtype "circles"}}buttonLike{{ end }}">
|
||||
<a style="cursor: pointer" onclick="getNext();">
|
||||
Load more articles
|
||||
</a>
|
||||
</div>
|
||||
`;
|
||||
return;
|
||||
}
|
||||
if (!nextPage) document.getElementById('getNextBtnContainer').innerHTML = '';
|
||||
renderArticles(res['articles']);
|
||||
});
|
||||
}
|
||||
getNext(true);
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ if .Site.Params.infiniteScrolling }}<noscript>{{ end }}
|
||||
{{ if gt .Paginator.TotalPages 1 }}
|
||||
{{ $navtype := .Site.Params.Navtype }}
|
||||
<div id="pageNavigation" class='
|
||||
{{ if eq $navtype "circles" }}
|
||||
nav-circles
|
||||
{{ end }}
|
||||
'>
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<a href="{{ .Paginator.Prev.URL }}" title='{{ i18n "previousPage" }}'>
|
||||
{{ if eq $navtype "circles" }}
|
||||
←
|
||||
{{ else }}
|
||||
<<<
|
||||
{{ end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ $currentPage := .Paginator.PageNumber }}
|
||||
{{ range .Paginator.Pagers }}
|
||||
{{ if ne .PageNumber $currentPage }}
|
||||
<a href="{{ .URL }}">{{ .PageNumber }}</a>
|
||||
{{ else }}
|
||||
<span>
|
||||
{{ if eq $navtype "circles" }}{{ .PageNumber }}
|
||||
{{ else }}[{{ .PageNumber }}]{{ end }}
|
||||
</span>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .Paginator.HasNext }}
|
||||
<a href="{{ .Paginator.Next.URL }}" title='{{ i18n "nextPage" }}'>
|
||||
{{ if eq $navtype "circles" }}
|
||||
→
|
||||
{{ else }}
|
||||
>>>
|
||||
{{ end }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if .Site.Params.infiniteScrolling }}</noscript>{{ end }}
|
|
@ -1,10 +0,0 @@
|
|||
{{ if .Site.Params.plausibleScriptUrl }}
|
||||
{{ if .Site.Params.plausibleDomain }}
|
||||
<script
|
||||
async
|
||||
defer
|
||||
data-domain="{{ .Site.Params.plausibleDomain }}"
|
||||
src="{{ .Site.Params.plausibleScriptUrl }}"
|
||||
></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,23 +0,0 @@
|
|||
{{ if and (.Site.Params.enableRelatedArticles | default false) .Params.tags }}
|
||||
{{ $postsList :=
|
||||
where (
|
||||
where (
|
||||
where site.RegularPages "Params.tags" "!=" nil
|
||||
) "Params.tags" "intersect" .Params.tags
|
||||
) "Permalink" "ne" .Permalink
|
||||
}}
|
||||
{{ if $postsList }}
|
||||
{{ if site.Params.randomRelated | default false }}
|
||||
{{ $postsList = shuffle $postsList }}
|
||||
{{ end }}
|
||||
<div class="relatedArticlesContainer">
|
||||
<hr />
|
||||
<h2>{{ i18n "morePostsLikeThis" }}</h2>
|
||||
<div class="postlist {{ if .Site.Params.gridView }}gridView{{ end }}">
|
||||
{{ range first (.Site.Params.relatedArticlesNum | default 2) $postsList }}
|
||||
{{- partial "article_card.html" . -}}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,12 +0,0 @@
|
|||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder='{{ i18n "searchbarTxt" }}' />
|
||||
<a class="nerdlink" onclick="newSearch();"></a>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
|
@ -1,45 +0,0 @@
|
|||
{{ if site.Params.enableShareOnFediverse | default false }}
|
||||
<a style="margin-bottom: 24px; display: inline-block;" class="shareBtn" onclick="openFediInstanceDialog();">
|
||||
{{ i18n "shareOnTheFediverse" }}
|
||||
</a>
|
||||
<div id="fediInstanceDialog">
|
||||
<div class="bg" onclick="closeFediInstanceDialog();"></div>
|
||||
<div class="dialog">
|
||||
<h2>{{ i18n "enterFediverseInstanceAddress" }}</h2>
|
||||
<input id="fediInstanceInput" placeholder='{{ i18n "fediverseInstanceExample" }}' type="text" />
|
||||
<div class="buttons">
|
||||
<a class="shareBtn" onclick="closeFediInstanceDialog();">{{ i18n "cancel" }}</a>
|
||||
<a class="shareBtn" onclick="shareOnFedi();">{{ i18n "share" }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var articleTitle = '{{ .Title }}';
|
||||
var articleLink = '{{ .Permalink }}';
|
||||
var fediInstanceDialog = document.getElementById('fediInstanceDialog');
|
||||
var fediInstanceInput = document.getElementById('fediInstanceInput');
|
||||
function openFediInstanceDialog() {
|
||||
fediInstanceDialog.classList.add('open');
|
||||
}
|
||||
function closeFediInstanceDialog() {
|
||||
fediInstanceDialog.classList.remove('open');
|
||||
}
|
||||
function fixURL(url) {
|
||||
if (url.substr(0, 8) == 'https://') return url;
|
||||
if (url.substr(0, 7) == 'http://') return url;
|
||||
return 'https://' + url;
|
||||
}
|
||||
function shareOnFedi() {
|
||||
let instance = fediInstanceInput.value.trim();
|
||||
if (!instance) {
|
||||
return;
|
||||
}
|
||||
instance = fixURL(instance);
|
||||
window.open(
|
||||
`${instance}/share?text=${articleTitle}%20${articleLink}`,
|
||||
'__blank'
|
||||
);
|
||||
closeFediInstanceDialog();
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1,19 +0,0 @@
|
|||
{{ if .Site.Params.showcaseDir }}
|
||||
{{ $showcasePosts := where site.RegularPages "Section" "in" .Site.Params.showcaseDir }}
|
||||
<div class="postlist gridView">
|
||||
{{ range (sort $showcasePosts "File.LogicalName") }}
|
||||
{{ if in .File.Dir .Site.Params.showcaseDir }}
|
||||
<article class="card postlistitem">
|
||||
<div>
|
||||
<h2>{{ .Title }}</h2>
|
||||
{{ if .Params.image }}
|
||||
<img src="{{ .Params.image }}" />
|
||||
{{ end }}
|
||||
<div>{{ .Content }}</div>
|
||||
</div>
|
||||
</article>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<hr />
|
||||
{{ end }}
|
|
@ -1,35 +0,0 @@
|
|||
<h2>
|
||||
{{ $title := .Title }}
|
||||
{{ $section := .Section | humanize }}
|
||||
{{ if and (ne $section $title) (ne $section "Tags") (ne $title (printf "%ss" $section)) }}
|
||||
{{ $section }}:
|
||||
{{ end }}
|
||||
{{ if and (eq $section "Tags") (eq $section $title) }}
|
||||
{{ i18n "tagsColumn" }}
|
||||
{{ else }}
|
||||
{{ if and (eq $section "Tags") (ne $section $title) }}{{ i18n "tagColumn" }} #{{ end }}{{ $title }}
|
||||
{{ end }}
|
||||
</h2>
|
||||
<ul class="list">
|
||||
{{ if and (eq $section "Tags") (eq $section $title) }}
|
||||
{{/* if we're in the Tags section, sort alphabetically and don't show the date */}}
|
||||
{{ range (sort .Pages "Title") }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">#{{ .Title }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ range .Pages }}
|
||||
<li>
|
||||
<div>
|
||||
<span class="date">
|
||||
{{- partial "date.html" .Date -}}
|
||||
</span>
|
||||
<span>
|
||||
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
|
@ -1,54 +0,0 @@
|
|||
{{- partial "inject/content-before.html" . -}}
|
||||
<article class="card single">
|
||||
{{ if .Params.showTitle | default true }}
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ end }}
|
||||
{{ if (.Params.showDate | default true) }}
|
||||
<p class="date">
|
||||
<span title='{{ i18n "date" }}'> </span>
|
||||
{{- partial "date.html" .Date -}}
|
||||
</p>
|
||||
{{ end }}
|
||||
{{ if and (.Params.toc | default false) (.Site.Params.tocBeforeImage | default false) }}
|
||||
{{- partial "toc.html" . -}}
|
||||
{{ end }}
|
||||
{{ if .Params.Image }}
|
||||
<figure style="margin: 0">
|
||||
{{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }}
|
||||
<img src="{{ .Params.Image }}" alt="{{ .Params.Alt }}" />
|
||||
{{ else }}
|
||||
<img src="{{ .Permalink }}/{{ .Params.Image }}" alt="{{ .Params.Alt }}" />
|
||||
{{ end }}
|
||||
{{ if .Params.ImageCaption }}
|
||||
<figcaption>
|
||||
<p>{{ .Params.ImageCaption | markdownify }}</p>
|
||||
</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
{{ end }}
|
||||
{{ if and (.Params.toc | default false) (not (.Site.Params.tocBeforeImage | default false)) }}
|
||||
{{- partial "toc.html" . -}}
|
||||
{{ end }}
|
||||
<div>{{ .Content }}</div>
|
||||
</article>
|
||||
{{ if .Params.tags }}
|
||||
{{ if not .Site.Params.paperCards }}<hr />{{ end }}
|
||||
<p class="articleTagsContainer">
|
||||
<span> </span>
|
||||
<strong>{{ i18n "tagsColumn" }}</strong>
|
||||
{{ range sort .Params.tags }}
|
||||
<a
|
||||
{{ if site.Params.buttonTags | default false }}
|
||||
class="buttonTag"
|
||||
{{ end }}
|
||||
href="/tags/{{ . | urlize }}">#{{ . }}</a>
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
{{- partial "inject/content-after.html" . -}}
|
||||
{{ if .Params.showShare | default true }}
|
||||
{{- partial "share_on_fediverse.html" . -}}
|
||||
{{ end }}
|
||||
{{- partial "commento.html" . -}}
|
||||
{{- partial "cactus_chat.html" . -}}
|
||||
{{- partial "related_articles.html" . -}}
|
|
@ -1,4 +0,0 @@
|
|||
<div class="articleToc">
|
||||
{{ .TableOfContents }}
|
||||
<hr />
|
||||
</div>
|
|
@ -1,10 +0,0 @@
|
|||
{{ if .Site.Params.umamiScriptUrl }}
|
||||
{{ if .Site.Params.umamiWebsiteId }}
|
||||
<script
|
||||
async
|
||||
defer
|
||||
data-website-id="{{ .Site.Params.umamiWebsiteId }}"
|
||||
src="{{ .Site.Params.umamiScriptUrl }}"
|
||||
></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1 +0,0 @@
|
|||
<img src='{{ .Get "src" }}' alt='{{ .Get "alt" }}' style='max-width: {{ .Get "width" }};' />
|
|
@ -1,33 +0,0 @@
|
|||
{{ $h265 := .Get "h265" }}
|
||||
{{ $h264 := .Get "h264" }}
|
||||
{{ $vp9 := .Get "vp9" }}
|
||||
{{ $vp8 := .Get "vp8" }}
|
||||
{{ $caption := .Get "caption" }}
|
||||
{{ $attr := .Get "attr" }}
|
||||
{{ $attrlink := .Get "attrlink" }}
|
||||
<figure>
|
||||
<video autoplay loop controls style="max-width: 100%;">
|
||||
{{ if $h265 }}
|
||||
<source src='{{ $h265 }}' type="video/mp4" />
|
||||
{{ end }}
|
||||
{{ if $h264 }}
|
||||
<source src='{{ $h264 }}' type="video/mp4" />
|
||||
{{ end }}
|
||||
{{ if $vp9 }}
|
||||
<source src='{{ $vp9 }}' type="video/webm" />
|
||||
{{ end }}
|
||||
{{ if $vp8 }}
|
||||
<source src='{{ $vp8 }}' type="video/webm" />
|
||||
{{ end }}
|
||||
</video>
|
||||
{{ if or $caption $attr }}
|
||||
<figcaption>
|
||||
{{ if $caption }}
|
||||
<p>{{ . }}</p>
|
||||
{{ end }}
|
||||
<p>
|
||||
{{ if $attrlink }}<a href="{{ $attrlink }}">{{ end }}{{ $attr }}{{ if $attrlink }}</a>{{ end }}
|
||||
</p>
|
||||
</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"Target":"css/styles.9a0c5775a725bfc017d151b566405da1595d79957365521b38307e61b562a4ebf801f7884a85fa6c66721ef44ed50618cdd4fa13f469b831a5e2d47a32237216.css","MediaType":"text/css","Data":{"Integrity":"sha512-mgxXdaclv8AX0VG1ZkBdoVldeZVzZVIbODB+YbVipOv4AfeISoX6bGZyHvRO1QYYzdT6E/RpuDGl4tR6MiNyFg=="}}
|
Binary file not shown.
Before ![]() (image error) Size: 9.5 KiB |
Binary file not shown.
Before ![]() (image error) Size: 28 KiB |
Binary file not shown.
Before ![]() (image error) Size: 8.9 KiB |
Binary file not shown.
Before Width: 32px | Height: 32px | Size: 4.2 KiB |
Binary file not shown.
Before ![]() (image error) Size: 1.5 KiB |
|
@ -0,0 +1 @@
|
|||
Subproject commit 361661c3d8d071b7b7d5d70b63abaf3875726033
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,161 +0,0 @@
|
|||
/* jetbrains-mono-regular-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Regular"), local("JetBrainsMono-Regular"), url(jetbrains-mono-regular-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-regular-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Regular"), local("JetBrainsMono-Regular"), url(jetbrains-mono-regular-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-medium-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium Italic"), local("JetBrainsMono-MediumItalic"), url(jetbrains-mono-medium-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-medium-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium Italic"), local("JetBrainsMono-MediumItalic"), url(jetbrains-mono-medium-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-medium-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium"), local("JetBrainsMono-Medium"), url(jetbrains-mono-medium-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-medium-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: local("JetBrains Mono Medium"), local("JetBrainsMono-Medium"), url(jetbrains-mono-medium-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-light-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light Italic"), local("JetBrainsMono-LightItalic"), url(jetbrains-mono-light-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-light-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light Italic"), local("JetBrainsMono-LightItalic"), url(jetbrains-mono-light-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-light-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light"), local("JetBrainsMono-Light"), url(jetbrains-mono-light-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-light-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local("JetBrains Mono Light"), local("JetBrainsMono-Light"), url(jetbrains-mono-light-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Italic"), local("JetBrainsMono-Italic"), url(jetbrains-mono-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: local("JetBrains Mono Italic"), local("JetBrainsMono-Italic"), url(jetbrains-mono-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold Italic"), local("JetBrainsMono-ExtraBoldItalic"), url(jetbrains-mono-extra-bold-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold Italic"), local("JetBrainsMono-ExtraBoldItalic"), url(jetbrains-mono-extra-bold-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold"), local("JetBrainsMono-ExtraBold"), url(jetbrains-mono-extra-bold-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-extra-bold-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Extra Bold"), local("JetBrainsMono-ExtraBold"), url(jetbrains-mono-extra-bold-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-bold-italic-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold Italic"), local("JetBrainsMono-BoldItalic"), url(jetbrains-mono-bold-italic-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-bold-italic-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold Italic"), local("JetBrainsMono-BoldItalic"), url(jetbrains-mono-bold-italic-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
/* jetbrains-mono-bold-latin */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold"), local("JetBrainsMono-Bold"), url(jetbrains-mono-bold-latin.woff2) format("woff2");
|
||||
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+2215;
|
||||
}
|
||||
/* jetbrains-mono-bold-latin-ext */
|
||||
@font-face {
|
||||
font-family: JetBrains Mono;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("JetBrains Mono Bold"), local("JetBrainsMono-Bold"), url(jetbrains-mono-bold-latin-ext.woff2) format("woff2");
|
||||
unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF;
|
||||
}
|
||||
|
169
static/logo.svg
169
static/logo.svg
|
@ -1,169 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
sodipodi:docname="icon.svg"
|
||||
width="256"
|
||||
height="256"
|
||||
viewBox="0 0 67.733331 67.733335"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)"
|
||||
inkscape:export-filename="/home/gabmus/git/hugo-ficurinia/static/img/appletouch.png"
|
||||
inkscape:export-xdpi="67.5"
|
||||
inkscape:export-ydpi="67.5">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-height="1371"
|
||||
inkscape:window-width="2560"
|
||||
showguides="true"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-bbox="true"
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.4977452"
|
||||
inkscape:cx="146.16872"
|
||||
inkscape:cy="209.2121"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-rotation="0"
|
||||
showgrid="false"
|
||||
units="px" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(-157.08616,-98.021958)"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="matrix(0.39750359,0,0,0.39750359,104.68265,59.057878)"
|
||||
id="g1019">
|
||||
<g
|
||||
id="g1001">
|
||||
<path
|
||||
d="m 200.04843,151.92997 c -35.54945,2.7131 -44.49038,26.965 -42.75954,49.64591 1.67459,21.94366 5.99585,39.69413 22.82615,54.73309 5.9439,5.31127 18.54219,10.34823 28.8149,11.99742 1.39328,0.22367 2.87787,0.11039 4.22107,-0.32212 9.90335,-3.18888 21.59078,-10.07883 26.6602,-16.23088 14.35336,-17.41867 15.93109,-35.61932 14.25651,-57.56298 C 252.33687,171.5094 239.81987,148.8949 204.27,151.60781 Z"
|
||||
style="fill:#57e389;stroke-width:2.11667;paint-order:markers stroke fill"
|
||||
id="path847"
|
||||
sodipodi:nodetypes="sssaassss" />
|
||||
<path
|
||||
d="m 210.66882,151.38999 c -1.11434,-0.0121 -2.25709,0.006 -3.42357,0.0501 29.25601,1.15911 39.94157,21.92503 41.5308,42.75036 1.67458,21.94366 0.0969,40.14474 -14.25649,57.56342 -5.06942,6.15205 -16.75704,13.04166 -26.66039,16.23053 -0.096,0.0309 -0.19405,0.0566 -0.29145,0.0842 0.45758,0.0849 0.91275,0.16608 1.36219,0.23823 1.39328,0.22365 2.87773,0.11004 4.22093,-0.32247 9.90335,-3.18887 21.59097,-10.07848 26.66039,-16.23053 14.35336,-17.41868 15.93107,-35.61976 14.25649,-57.56342 -1.62267,-21.26345 -12.72521,-42.46829 -43.3989,-42.80049 z"
|
||||
style="fill:#35ce87;fill-opacity:1;stroke-width:2.11667;paint-order:markers stroke fill"
|
||||
id="path981" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
r="5.5139923"
|
||||
cy="186.17043"
|
||||
cx="184.09814"
|
||||
id="path859"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill"
|
||||
id="circle861"
|
||||
cx="220.83403"
|
||||
cy="196.23807"
|
||||
r="5.5139923" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
r="5.5139923"
|
||||
cy="210.08998"
|
||||
cx="163.37766"
|
||||
id="circle863"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill"
|
||||
id="circle865"
|
||||
cx="220.00313"
|
||||
cy="246.79778"
|
||||
r="5.5139923" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill"
|
||||
id="circle867"
|
||||
cx="163.31537"
|
||||
cy="240.88092"
|
||||
r="5.5139923" />
|
||||
<circle
|
||||
r="5.5139923"
|
||||
cy="261.85709"
|
||||
cx="187.82085"
|
||||
id="circle941"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill"
|
||||
transform="rotate(-4.363942)" />
|
||||
<circle
|
||||
transform="rotate(-4.363942)"
|
||||
style="fill:#33d17a;fill-opacity:1;stroke:none;stroke-width:1.42415;paint-order:markers stroke fill"
|
||||
id="circle943"
|
||||
cx="197.61703"
|
||||
cy="219.87004"
|
||||
r="5.5139923" />
|
||||
<path
|
||||
sodipodi:nodetypes="csscssc"
|
||||
d="m 257.66364,100.34328 c -14.44036,-5.383297 -29.20867,-1.533645 -34.60051,12.92954 -5.21656,13.99299 -8.23411,31.3442 -2.14954,45.39953 2.14899,4.96416 7.65746,8.29576 11.30716,9.9194 3.82189,1.16175 10.16699,2.24914 15.04118,-0.0968 13.80056,-6.64219 22.87783,-21.73435 28.09439,-35.72734 5.39184,-14.46319 -3.25234,-27.04097 -17.69268,-32.42434 z"
|
||||
style="fill:#db5793;fill-opacity:1;stroke-width:1.43632;paint-order:markers stroke fill"
|
||||
id="path830" />
|
||||
<circle
|
||||
transform="rotate(20.445352)"
|
||||
style="fill:#c82d72;fill-opacity:1;stroke:none;stroke-width:1.43632;paint-order:markers stroke fill"
|
||||
id="circle869"
|
||||
cx="278.79868"
|
||||
cy="22.232769"
|
||||
r="5.5611048" />
|
||||
<circle
|
||||
transform="rotate(20.445352)"
|
||||
r="5.5611048"
|
||||
cy="57.652626"
|
||||
cx="283.72546"
|
||||
id="circle871"
|
||||
style="fill:#c82d72;fill-opacity:1;stroke:none;stroke-width:1.43632;paint-order:markers stroke fill" />
|
||||
<circle
|
||||
transform="rotate(20.445352)"
|
||||
style="fill:#c82d72;fill-opacity:1;stroke:none;stroke-width:1.43632;paint-order:markers stroke fill"
|
||||
id="circle873"
|
||||
cx="264.43253"
|
||||
cy="38.174644"
|
||||
r="5.5611048" />
|
||||
<g
|
||||
style="fill:#d64487;fill-opacity:1"
|
||||
id="g966"
|
||||
transform="matrix(0.63582927,0.23703585,-0.23703585,0.63582927,177.4571,44.4279)">
|
||||
<path
|
||||
transform="matrix(0.36534782,-0.13620092,0.13620092,0.36534782,-275.21758,32.726606)"
|
||||
d="m 948.31836,370.47852 c -3.55058,-0.0206 -7.05795,0.13203 -10.51367,0.44726 11.8096,1.02637 23.95465,3.81848 36.04101,8.32422 54.5777,20.3466 87.2497,67.8848 66.8711,122.54883 -19.7161,52.88689 -54.024,109.92691 -106.1836,135.03125 -5.08325,2.44656 -10.59046,3.90334 -16.20312,4.64062 11.87578,1.3258 25.05343,0.72571 36.20312,-4.64062 52.1596,-25.10434 86.4675,-82.14436 106.1836,-135.03125 20.3786,-54.66401 -12.2934,-102.20223 -66.8711,-122.54883 -15.34999,-5.7224 -30.79725,-8.68585 -45.52734,-8.77148 z"
|
||||
style="fill:#d64487;fill-opacity:1;stroke-width:5.42861;paint-order:markers stroke fill"
|
||||
id="path964" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before (image error) Size: 7.6 KiB |
|
@ -1 +0,0 @@
|
|||
User-agent: *
|
Binary file not shown.
|
@ -1,8 +0,0 @@
|
|||
/* symbols-2048-em-nerd-font-complete */
|
||||
@font-face {
|
||||
font-family: Symbols Nerd Font;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local("Symbols-2048-em Nerd Font Complete"), local("SymbolsNerdFontComplete-2048-em"), url(symbols-2048-em-nerd-font-complete.woff2) format("woff2");
|
||||
}
|
||||
|
21
theme.toml
21
theme.toml
|
@ -1,21 +0,0 @@
|
|||
# theme.toml template for a Hugo theme
|
||||
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
||||
|
||||
name = "Hugo Ficurinia"
|
||||
license = "AGPL3"
|
||||
licenselink = "https://gitlab.com/gabmus/hugo-ficurinia/-/blob/master/LICENSE"
|
||||
description = "A prickly blog theme for Hugo"
|
||||
homepage = "https://gitlab.com/gabmus/hugo-ficurinia"
|
||||
tags = ["blog", "dark", "customizable", "simple"]
|
||||
features = ["posts", "shortcodes", "comments", "analytics"]
|
||||
|
||||
logo = "/img/logo.png"
|
||||
|
||||
[author]
|
||||
name = "Gabriele Musco"
|
||||
homepage = "https://gabmus.org"
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.80.0"
|
|
@ -1 +0,0 @@
|
|||
Subproject commit bdd277c494b50719ce41f4e8f35d797e7fdc8ace
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 50be8a59ca62c04d783b13719425ca58a797af1c
|
Loading…
Reference in New Issue