[*] Add support for basic meta and links to help with SEO
This commit is contained in:
12
config.toml
12
config.toml
@ -1,12 +1,19 @@
|
|||||||
baseURL = "https://doublefourteen.io/"
|
baseURL = "https://doublefourteen.io/"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
title = "The DoubleFourteen Code Forge"
|
|
||||||
theme = "doublefourteen"
|
theme = "doublefourteen"
|
||||||
disableKinds = ["taxonomy", "term"]
|
disableKinds = ["taxonomy", "term"]
|
||||||
timeout = 1000000
|
timeout = 1000000
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
description = "The DoubleFourteen Code Forge is a non-profit community promoting high quality software and scientific research."
|
title = "The DoubleFourteen Code Forge"
|
||||||
|
images = ["/logo.png"]
|
||||||
|
description = "The DoubleFourteen Code Forge is a non-profit community to promote high quality software and independent scientific research."
|
||||||
|
author = "The DoubleFourteen Community"
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
category = "categories"
|
||||||
|
series = "series"
|
||||||
|
tag = "tags"
|
||||||
|
|
||||||
[markup.goldmark.renderer]
|
[markup.goldmark.renderer]
|
||||||
unsafe = true
|
unsafe = true
|
||||||
@ -14,4 +21,5 @@ unsafe = true
|
|||||||
DefaultContentLanguage = "en"
|
DefaultContentLanguage = "en"
|
||||||
[languages]
|
[languages]
|
||||||
[languages.en]
|
[languages.en]
|
||||||
|
languageName = "English"
|
||||||
weight = 1
|
weight = 1
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
---
|
---
|
||||||
title: Home
|
title: Home
|
||||||
mobile_menu_title: "Home"
|
tags:
|
||||||
|
- development
|
||||||
|
- coding
|
||||||
|
- hacking
|
||||||
|
- free software
|
||||||
|
- open source
|
||||||
|
- high performance
|
||||||
|
- research
|
||||||
|
- computer science
|
||||||
|
- non profit
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< flexrow style="justify-content:center;align-items:center" >}}
|
{{< flexrow style="justify-content:center;align-items:center" >}}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Blog
|
title: Blog
|
||||||
menu_title: Blog
|
menu_title: Blog
|
||||||
mobile_menu_title: Blog
|
|
||||||
layout: rss-list
|
layout: rss-list
|
||||||
---
|
---
|
||||||
|
@ -1,18 +1,14 @@
|
|||||||
---
|
---
|
||||||
title: "The Micro BGP Suite has been released!"
|
title: "The Micro BGP Suite has been released!"
|
||||||
mobile_menu_title: "µbgpsuite now released!"
|
mobile_menu_title: "µbgpsuite now released!"
|
||||||
description: "We are happy to announce that ubgpsuite - The Micro BGP Suite - has been released: bgpgrep and lonetix are now available for use!"
|
date: 2021-06-15
|
||||||
date: 2021-06-15T00:00:00+00:00
|
description: "The DoubleFourteen Code Forge is happy to announce that ubgpsuite - The Micro BGP Suite - has been released: bgpgrep and lonetix are now available!"
|
||||||
tags:
|
series: [ "ubgpsuite - The Micro BGP Suite" ]
|
||||||
- ubgpsuite
|
categories: [ "news", "development" ]
|
||||||
- C Language
|
tags: [ "ubgpsuite", "bgpgrep", "lonetix", "bgpscanner", "C Language", "Networking", "BGP" ]
|
||||||
- Networking
|
news_keywords: [ "ubgpsuite", "bgpgrep", "lonetix", "bgpscanner" ]
|
||||||
- BGP
|
|
||||||
- News
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**We are happy to announce that the first version of the micro BGP suite has now been released!**
|
|
||||||
|
|
||||||
## The Micro BGP Suite is now available
|
## The Micro BGP Suite is now available
|
||||||
|
|
||||||
I am thrilled to announce that the very first version of the
|
I am thrilled to announce that the very first version of the
|
||||||
|
@ -2,43 +2,58 @@
|
|||||||
{{ if isset .Params "lang" }}
|
{{ if isset .Params "lang" }}
|
||||||
{{ $lang = .Params.lang }}
|
{{ $lang = .Params.lang }}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{$lang}}">
|
<html prefix="og: http://ogp.me/ns#" lang="{{$lang}}">
|
||||||
<head>
|
<head itemscope itemtype="https://schema.org/WebPage">
|
||||||
<meta charset="utf-8">
|
<meta charset="UTF-8">
|
||||||
<title>
|
|
||||||
{{ block "title" . }} ⏎ {{ end }} {{ .Site.Title }}
|
<title>{{ block "title" . }}{{ .Title }}{{ end }} ⏎ {{ .Site.Params.title }}</title>
|
||||||
</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="color-scheme" content="light dark">
|
<meta name="color-scheme" content="light dark">
|
||||||
{{ if .Params.noindex }}
|
|
||||||
<meta name="robots" content="noindex">
|
{{ with default ( slice "index" "follow" ) .Params.robots }}
|
||||||
{{ else if .Params.noarchive }}
|
<meta name="robots" content="{{ delimit . "," }}">
|
||||||
<meta name="robots" content="noarchive">
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if .IsHome }}
|
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}">
|
||||||
{{ with $.Site.Params.description }}
|
<meta name="keywords" content="{{ if .IsPage}}{{ range $index, $tag := .Params.tags }}{{ $tag }},{{ end }}{{ else }}{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}{{ printf "%s," $term }}{{ end }}{{ end }}{{ end }}">
|
||||||
<meta name="description" content="{{.}}">
|
|
||||||
|
<base href="{{ .Permalink }}">
|
||||||
|
<meta name="url" content="{{ .Permalink }}">
|
||||||
|
|
||||||
|
{{ with .Language.LanguageName }}
|
||||||
|
<meta name="language" content="{{ . }}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ else }}
|
{{ range .AllTranslations }}
|
||||||
{{ with .Params.description }}
|
{{ if .Language.LanguageName }}
|
||||||
<meta name="description" content="{{.}}">
|
<link rel="alternate" hreflang="{{ .Language.Lang }}" href="{{ .Permalink }}" title="{{ .Language.LanguageName }}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ block "meta" . }}
|
{{ template "_internal/schema.html" . }}
|
||||||
|
{{ template "_internal/opengraph.html" . }}
|
||||||
|
{{ template "_internal/twitter_cards.html" . }}
|
||||||
|
|
||||||
|
{{ block "meta" . }} {{ end }}
|
||||||
|
|
||||||
|
<link rel="canonical" href="{{ .Permalink }}" itemprop="url">
|
||||||
|
<link rel="sitemap" type="application/xml" title="Sitemap" href="{{ "sitemap.xml" | absURL }}">
|
||||||
|
|
||||||
|
{{ 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 "favicon.html" . -}}
|
||||||
|
|
||||||
{{ $sassOptions := ( dict "outputStyle" "compressed" ) }}
|
{{ $sassOptions := ( dict "outputStyle" "compressed" ) }}
|
||||||
{{ $styleCss := resources.Get "sass/style.sass" | toCSS $sassOptions | fingerprint }}
|
{{ $styleCss := resources.Get "sass/style.sass" | toCSS $sassOptions | fingerprint }}
|
||||||
<link type="text/css" rel="stylesheet" href="{{ $styleCss.Permalink }}">
|
<link type="text/css" rel="stylesheet" href="{{ $styleCss.Permalink }}">
|
||||||
{{ $navigationCss := resources.Get "sass/navigation.sass" | toCSS $sassOptions | fingerprint }}
|
{{ $navigationCss := resources.Get "sass/navigation.sass" | toCSS $sassOptions | fingerprint }}
|
||||||
<link type="text/css" rel="stylesheet" href="{{ $navigationCss.Permalink }}">
|
<link type="text/css" rel="stylesheet" href="{{ $navigationCss.Permalink }}">
|
||||||
|
|
||||||
<link rel="canonical" href="{{ .Permalink }}">
|
{{ block "links" . }} {{ end }}
|
||||||
|
|
||||||
{{ block "links" . }}
|
|
||||||
{{ end }}
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container header">
|
<div class="container header">
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
{{ define "title" }}
|
|
||||||
{{ .Title }} ⏎
|
|
||||||
{{ end }}
|
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{- partial "parent-link" . -}}
|
{{- partial "parent-link" . -}}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
{{ define "title" }}
|
|
||||||
{{ .Title }} ⏎
|
|
||||||
{{ end }}
|
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{ $enSite := index .Sites 0 }}
|
{{ $enSite := index .Sites 0 }}
|
||||||
{{ $posts := where $enSite.RegularPages "Section" .Section }}
|
{{ $posts := where $enSite.RegularPages "Section" .Section }}
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
{{ define "title" }}
|
|
||||||
{{ .Title }} ⏎
|
|
||||||
{{ end }}
|
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{- partial "parent-link" . -}}
|
{{- partial "parent-link" . -}}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<link rel="icon" type="image/svg+xml" href="{{ "/favicon.svg" | relURL }}">
|
<link rel="icon" type="image/svg+xml" href="{{ "/favicon.svg" | relURL }}">
|
||||||
|
<link rel="alternate icon" sizes="192x192" type="image/png" href="{{ "/favicon-192.png" | relURL }}">
|
||||||
|
<link rel="alternate icon" sizes="32x32" type="image/png" href="{{ "/favicon-32.png" | relURL }}">
|
||||||
<link rel="alternate icon" sizes="16x16 32x32 48x48 57x57 64x64 72x72 110x110 114x114 120x120 128x128 144x144 152x152" type="image/x-icon" href="{{ "/favicon.ico" | relURL }}">
|
<link rel="alternate icon" sizes="16x16 32x32 48x48 57x57 64x64 72x72 110x110 114x114 120x120 128x128 144x144 152x152" type="image/x-icon" href="{{ "/favicon.ico" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ "/favicon-152-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="152x152" type="image/png" href="{{ "/favicon-152-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ "/favicon-144-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="144x144" type="image/png" href="{{ "/favicon-144-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="120x120" href="{{ "/favicon-120-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="120x120" type="image/png" href="{{ "/favicon-120-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="114x114" href="{{ "/favicon-114-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="114x114" type="image/png" href="{{ "/favicon-114-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/favicon-180-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="180x180" type="image/png" href="{{ "/favicon-180-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" sizes="72x72" href="{{ "/favicon-72-precomposed.png" | relURL }}">
|
<link rel="apple-touch-icon" sizes="72x72" type="image/png" href="{{ "/favicon-72-precomposed.png" | relURL }}">
|
||||||
<link rel="apple-touch-icon" href="{{ "/favicon-57.png" | relURL }}">
|
<link rel="apple-touch-icon" type="image/png" href="{{ "/favicon-57.png" | relURL }}">
|
||||||
<link rel="icon" sizes="32x32" href="{{ "/favicon-32.png" | relURL }}">
|
|
||||||
<link rel="icon" sizes="192x192" href="{{ "/favicon-192.png" | relURL }}">
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<nav id="mobile-navbar" class="nav container">
|
<nav id="mobile-navbar" class="nav container">
|
||||||
<span style="overflow:hidden; max-width: 80%; display: inline-block; vertical-align:bottom;">
|
<span style="overflow:hidden; max-width: 80%; display: inline-block; vertical-align:bottom;">
|
||||||
{{ .Params.mobile_menu_title }}
|
{{ default .Params.menu_title .Params.mobile_menu_title }}
|
||||||
</span>
|
</span>
|
||||||
<label for="mobile-toggle" id="hamburger">
|
<label for="mobile-toggle" id="hamburger">
|
||||||
<svg style="width:2em;height:2em;" viewBox="0 0 24 24">
|
<svg style="width:2em;height:2em;" viewBox="0 0 24 24">
|
||||||
@ -12,15 +12,15 @@
|
|||||||
<input type="checkbox" name="mobile-toggle" id="mobile-toggle">
|
<input type="checkbox" name="mobile-toggle" id="mobile-toggle">
|
||||||
<div class="" id="menu">
|
<div class="" id="menu">
|
||||||
{{ with .Site.GetPage "articles" }}
|
{{ with .Site.GetPage "articles" }}
|
||||||
<a href="{{ "articles/" | relLangURL }}" class="navbar-item">{{ .Params.mobile_menu_title }}</a>
|
<a href="{{ "articles/" | relLangURL }}" class="navbar-item">{{ default .Params.menu_title .Params.mobile_menu_title }}</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ with .Site.GetPage "blog" }}
|
{{ with .Site.GetPage "blog" }}
|
||||||
<a href="{{ "blog/" | relLangURL }}" class="navbar-item">{{ .Params.mobile_menu_title }}</a>
|
<a href="{{ "blog/" | relLangURL }}" class="navbar-item">{{ default .Params.menu_title .Params.mobile_menu_title }}</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<a href="https://git.doublefourteen.io/explore/repos" class="navbar-item external-link external-link-light">{{ i18n "menu-source" }}</a>
|
<a href="https://git.doublefourteen.io/explore/repos" class="navbar-item external-link external-link-light">{{ i18n "menu-source" }}</a>
|
||||||
{{ with .Site.GetPage "doublefourteen"}}
|
{{ with .Site.GetPage "doublefourteen"}}
|
||||||
<a href="{{ "doublefourteen/" | relLangURL }}" class="navbar-item df-community-link">
|
<a href="{{ "doublefourteen/" | relLangURL }}" class="navbar-item df-community-link">
|
||||||
{{ .Params.mobile_menu_title }}
|
{{ default .Params.menu_title .Params.mobile_menu_title }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user