Initial commit

This commit is contained in:
nemunaire 2020-05-04 13:25:05 +02:00
commit ff41d5ea95
Signed by: nemunaire
GPG Key ID: 842807A84573CC96
28 changed files with 908 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
public/
resources/

87
config.toml Normal file
View File

@ -0,0 +1,87 @@
title = "happyDNS"
baseURL = "https://happydns.org/"
defaultContentLanguageInSubdir = true
removePathAccents = true
[Author]
name = "happyDNS team"
framagit = "happyDNS/"
[languages]
[languages.en]
title = "happyDNS. Finally a simple interface for domain names."
weight = 1
[languages.fr]
title = "happyDNS. L'interface des noms de domaines."
weight = 2
[languages.fr.menu]
[[languages.fr.menu.main]]
identifier = "features"
name = "Fonctionnalités"
url = "/fr/#features"
weight = 10
[[languages.fr.menu.main]]
identifier = "downloads"
name = "Téléchargements"
url = "/fr/#downloads"
weight = 20
# [[languages.fr.menu.main]]
# identifier = "blog"
# name = "Blog"
# url = "https://blog.happydns.org/"
# weight = 30
[languages.fr.params]
[[languages.fr.params.carousel]]
title = "domains-lists"
description = "**Page d'accueil:** liste des domaines, de différents hébergeurs"
image = "/img/screenshots/domains-list.png"
[[languages.fr.params.carousel]]
title = "domain-records"
description = "Les enregistrements d'une zone"
image = "/img/screenshots/domain-records.png"
[params]
newsletter = "newsletter@happydns.org"
tryit = "/join"
[[params.carousel]]
title = "domains-lists"
description = "**Home page:** domains list on dedicated provider"
image = "/img/screenshots/domains-list.png"
[[params.carousel]]
title = "domain-records"
description = "Resources record for a zone"
image = "/img/screenshots/domain-records.png"
[menu]
[[menu.main]]
identifier = "features"
name = "Features"
url = "/en/#features"
weight = 10
[[menu.main]]
identifier = "downloads"
name = "Downloads"
url = "/en/#downloads"
weight = 20
# [[menu.main]]
# identifier = "blog"
# name = "Blog"
# url = "https://blog.happydns.org/"
# weight = 30
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[outputs]
home = [ "HTML", "RSS" ]

View File

@ -0,0 +1,36 @@
+++
title = "Legal Notice"
+++
# Legal Notice
**Editor:** Pierre-Olivier Mercier
### Owner
De facto association "happyDNS"
<address style="margin-left: 2em; margin-top: -.5em">
Association happyDNS<br>
ABS Pierre-Olivier Mercier<br>
40 avenue Raspail<br>
94250 GENTILLY
</address>
### Hosting
This website is hosted by the association, autonomously, on its own infrastructures.
## Personal Data
We are required to process personal data (such as your email address, used as
an identifier, means of account retrieval or possibly the sending of our
newsletter).
You can contact our data protection officer by e-mail at <code>dpo at
happydns.org</code> or by mail to our headquarters address.

View File

@ -0,0 +1,37 @@
+++
title = "Mentions légales"
+++
# Mentions légales
**Directeur de publication :** Pierre-Olivier Mercier
### À propos de l'association
Association de fait régie par la loi du 1er juillet 1901.
Siège social :
<address style="margin-left: 2em; margin-top: -.5em">
Association happyDNS<br>
ABS Pierre-Olivier Mercier<br>
40 avenue Raspail<br>
94250 GENTILLY
</address>
### Hébergement
Ce site web est hébergé de manière autonome par lassociation, sur ses propres infrastructures.
## Données personnelles
Nous sommes amenés à traiter des données personnelles (telle que votre adresse
électronique, utilisée comme identifiant, moyen de récupération de compte ou
éventuellement l'envoi de notre newsletter).
Vous pouvez contacter notre délégué à la protection de données par courriel à
<code>dpo at happydns.org</code> ou par courrier à l'adresse du siège.

167
data/social.toml Normal file
View File

@ -0,0 +1,167 @@
[[social_icons]]
id = "email"
url = "mailto:%s"
title = "Email me"
icon = "fas fa-envelope"
[[social_icons]]
id = "facebook"
url = "https://www.facebook.com/%s"
title = "Facebook"
icon = "fab fa-facebook"
[[social_icons]]
id = "github"
url = "https://github.com/%s"
title = "GitHub"
icon = "fab fa-github"
[[social_icons]]
id = "gitlab"
url = "https://gitlab.com/%s"
title = "GitLab"
icon = "fab fa-gitlab"
[[social_icons]]
id = "framagit"
url = "https://framagit.org/%s"
title = "Framagit"
icon = "fab fa-gitlab"
[[social_icons]]
id = "bitbucket"
url = "https://bitbucket.org/%s"
title = "Bitbucket"
icon = "fab fa-bitbucket"
[[social_icons]]
id = "twitter"
url = "https://twitter.com/%s"
title = "Twitter"
icon = "fab fa-twitter"
[[social_icons]]
id = "slack"
url = "https://%s.slack.com/"
title = "Slack"
icon = "fab fa-slack"
[[social_icons]]
id = "reddit"
url = "https://reddit.com/u/%s"
title = "Reddit"
icon = "fab fa-reddit-alien"
[[social_icons]]
id = "linkedin"
url = "https://linkedin.com/in/%s"
title = "LinkedIn"
icon = "fab fa-linkedin"
[[social_icons]]
id = "xing"
url = "https://www.xing.com/profile/%s"
title = "Xing"
icon = "fab fa-xing"
[[social_icons]]
id = "stackoverflow"
url = "https://stackoverflow.com/%s"
title = "StackOverflow"
icon = "fab fa-stack-overflow"
[[social_icons]]
id = "snapchat"
url = "https://www.snapchat.com/add/%s"
title = "Snapchat"
icon = "fab fa-snapchat-ghost"
[[social_icons]]
id = "instagram"
url = "https://www.instagram.com/%s"
title = "Instagram"
icon = "fab fa-instagram"
[[social_icons]]
id = "youtube"
url = "https://www.youtube.com/%s"
title = "Youtube"
icon = "fab fa-youtube"
[[social_icons]]
id = "soundcloud"
url = "https://soundcloud.com/%s"
title = "SoundCloud"
icon = "fab fa-soundcloud"
[[social_icons]]
id = "spotify"
url = "https://open.spotify.com/user/%s"
title = "Spotify"
icon = "fab fa-spotify"
[[social_icons]]
id = "bandcamp"
url = "https://%s.bandcamp.com/"
title = "Bandcamp"
icon = "fab fa-bandcamp"
[[social_icons]]
id = "itchio"
url = "https://itch.io/profile/%s"
title = "Itch.io"
icon = "fas fa-gamepad"
[[social_icons]]
id = "keybase"
url = "https://keybase.io/%s"
title = "Keybase"
icon = "fab fa-keybase"
[[social_icons]]
id = "vk"
url = "https://vk.com/%s"
title = "VK"
icon = "fab fa-vk"
[[social_icons]]
id = "paypal"
url = "https://paypal.me/%s"
title = "PayPal"
icon = "fab fa-paypal"
[[social_icons]]
id = "telegram"
url = "https://telegram.me/%s"
title = "Telegram"
icon = "fab fa-telegram"
[[social_icons]]
id = "500px"
url = "https://500px.com/%s"
title = "500px"
icon = "fab fa-500px"
[[social_icons]]
id = "codepen"
url = "https://codepen.io/%s"
title = "CodePen"
icon = "fab fa-codepen"
[[social_icons]]
id = "kaggle"
url = "https://www.kaggle.com/%s"
title = "kaggle"
icon = "fab fa-kaggle"
[[social_icons]]
id = "mastodon"
url = "https://%s"
title = "Mastodon"
icon = "fab fa-mastodon"
[[social_icons]]
id = "weibo"
url = "https://weibo.com/%s"
title = "Weibo"
icon = "fab fa-weibo"

78
i18n/en.yaml Normal file
View File

@ -0,0 +1,78 @@
- id: slogan
translation: "Finally a simple interface for domain names."
- id: lead
translation: "is a modern open-source web application, that aims to simplify all your usages of domain names. Connecting a blog, a shop or doing advanced stuff become easy."
- id: tryit
translation: "Try it online now"
- id: tryhappydns
translation: "Try happyDNS now"
- id: downloadit
translation: "Download now"
- id: home
translation: "Home"
- id: legal-notice
translation: "Legal notice"
- id: features-title
translation: |
Do you find <span class="text-hilight">hosting providers' interfaces</span> for domain name <span class="text-hilight">incomprehensible</span> or <span class="text-hilight">unusable</span>?
- id: features-lead
translation: |
Reconcile with your domain names, thanks to an interface designed for you.
- id: features-col1
translation: |
**Neophyte** friends, our **simple** interface will guide you in the configuration of your domain name, without going through the proper domain name terminology.
- id: features-col2
translation: |
Recognized **experts:** change your point of view on DNS, with an **ergonomic** interface in the age of time that will meet all your expectations.
- id: downloads-title
translation: |
Online demo and downloads
- id: downloads-text
translation: |
You can try happyDNS online directly [on our servers](/join).
There is no prebuilt binary currently (check back soon).
Our source code is freely available under the [CeCILL license](http://cecill.info/licences/Licence_CeCILL_V2.1-en.html) in our [git repository](https://git.happydns.org/), hosted by Framagit.
- id: community-chat
translation: "Chat"
- id: community-chat-text
translation: |
Join our IRC channel `#happydns` on freenode to share ideas or ask questions.
- id: community-bugs
translation: "Bugs and Features"
- id: community-bugs-text
translation: |
If you notice a problem or a missing feature, feel free to report it on the project's issues page.
- id: community-translation
translation: "Translations"
- id: community-translation-text
translation: |
We will need you help to translate happyDNS. Come back later, when we've set up the translation tool.
- id: community-code
translation: "Code"
- id: community-code-text
translation: |
We invite interested developers to contribute code. Check out [our repository](https://git.happydns.org/) on Framagit.
- id: community-contact
translation: "contact"
- id: community-contact-text
translation: |
You can contact our team at `contact at happydns.org` for any professional requests.

79
i18n/fr.yaml Normal file
View File

@ -0,0 +1,79 @@
- id: slogan
translation: "L'interface des noms de domaines."
- id: lead
translation: "est une application web libre, moderne, qui veut vous simplifier l'usage des noms de domaines. Connecter un blog, une boutique ou effectuer des opérations avancées devient vraiment facile."
- id: tryit
translation: "Essayer en ligne maintenant"
- id: tryhappydns
translation: "Essayer happyDNS maintenant"
- id: downloadit
translation: "Télécharger"
- id: home
translation: "Accueil"
- id: legal-notice
translation: "Mentions légales"
- id: features-title
translation: |
Vous trouvez les <span class="text-hilight">interfaces des hébergeurs</span> de noms de domaine <span class="text-hilight">incompréhensibles</span> ou <span class="text-hilight">inutilisables</span> ?
- id: features-lead
translation: |
Réconciliez-vous avec vos noms de domaine, grâce à une interface pensée pour vous.
- id: features-col1
translation: |
Amis **néophytes**, notre interface **simple** saura vous guider dans la configuration de votre nom de domaine, sans passer par la terminologie propre des noms de domaine.
- id: features-col2
translation: |
**Experts** chevronnés : changez votre point de vue sur le DNS, avec une interface **ergonomique** dans lère du temps, qui répondra à toutes vos attentes.
- id: downloads-title
translation: |
Démonstration en ligne et téléchargements
- id: downloads-text
translation: |
Vous pouvez essayer happyDNS en ligne, directement [sur nos serveurs](/join).
Une version précompilée sera prochainement proposée au téléchargement, pour une utilisation locale.
Le code source de notre projet est libre ; il est disponible sous les termes de la [licence CeCILL](http://cecill.info/licences/Licence_CeCILL_V2.1-fr.html) dans notre [dépôt Git](https://git.happydns.org/), hébergé par Framagit.
- id: community-chat
translation: "Chat"
- id: community-chat-text
translation: |
Rejoignez notre canal IRC `#happydns` sur Freenode, pour partager des idées ou poser des questions.
- id: community-bugs
translation: "Bugs et fonctionnalités"
- id: community-bugs-text
translation: |
Si vous remarquez un problème ou une fonctionnalité manquante, n'hésitez pas à nous l'indiquer via le formulaire dédié de notre projet.
- id: community-translation
translation: "Translations"
- id: community-translation-text
translation: |
Nous aurons besoin de votre aide pour traduire happyDNS. Revenez dans quelques semaines, lorsque nous aurons mis en place l'outil de traduction.
- id: community-code
translation: "Code"
- id: community-code-text
translation: |
Si vous savez programmer, n'hésitez pas à contribuer, via notre [dépôt Git](https://git.happydns.org/) sur Framagit.
- id: community-contact
translation: "contact"
- id: community-contact-text
translation: |
Contactez notre équipe à `contact at happydns.org` pour toute demande de formation ou commerciale.

View File

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
{{ partial "head.html" . }}
<body>
<div id="all">
{{ partial "nav.html" . }}
{{ partial "breadcrumbs.html" . }}
<div id="content" class="mt-5 mb-5">
{{ if isset .Params "id" }}
{{ partial .Params.id . }}
{{ else }}
<div class="container">
<div>
{{ .Content }}
</div>
</div>
<!-- /.container -->
{{ end }}
</div>
<!-- /#content -->
</div>
<!-- /#all -->
{{ partial "footer.html" . }}
{{ partial "scripts.html" . }}
</body>
</html>

32
layouts/index.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}" style="background-color: #3A0B4D">
{{ partial "head.html" . }}
<body>
<div id="all">
{{ partial "top.html" . }}
{{ partial "nav.html" . }}
{{ partial "jumbo.html" . }}
{{ partial "carousel.html" . }}
{{ partial "features.html" . }}
{{ partial "downloads.html" . }}
{{ partial "community.html" . }}
</div>
<!-- /#all -->
{{ partial "footer.html" . }}
{{ partial "scripts.html" . }}
</body>
</html>

View File

@ -0,0 +1,6 @@
<nav aria-label="breadcrumb" style="background-color: #e9ecef">
<ol class="breadcrumb container">
<li class="breadcrumb-item"><a href="../">{{ i18n "home" }}</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ .Title }}</li>
</ol>
</nav>

View File

@ -0,0 +1,15 @@
{{ if isset .Site.Params "carousel" }}
{{ if gt (len .Site.Params.carousel) 0 }}
<div class="anchor" id="features"></div>
<div class="carousel text-light pt-5 pb-3 d-flex flex-row justify-content-around">
{{ range sort .Site.Params.carousel "weight" }}
<figure class="">
<a href="{{ .image }}">
<img class="rounded img-thumbnail" src="{{ .image }}" alt="{{ .title }}" style="max-height: 300px;">
</a>
<figcaption class="mt-2 text-center">{{ .description | markdownify }}</figcaption>
</figure>
{{ end }}
</div>
{{ end }}
{{ end }}

View File

@ -0,0 +1,62 @@
<div class="container d-flex flex-wrap justify-content-around mb-5" id="community" style="gap: 2em 0;">
<div style="width: 28%" class="text-center">
<h4>
<span class="fa-stack fa-lg" style="color: #20a7c9">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-comments fa-stack-1x fa-inverse"></i>
</span>
{{ i18n "community-chat" }}
</h4>
<p>
{{ i18n "community-chat-text" | markdownify }}
</p>
</div>
<div style="width: 28%" class="text-center">
<h4>
<span class="fa-stack fa-lg" style="color: #9720c9">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-bug fa-stack-1x fa-inverse"></i>
</span>
{{ i18n "community-bugs" }}
</h4>
<p>
{{ i18n "community-bugs-text" | markdownify }}
</p>
</div>
<div style="width: 28%" class="text-center">
<h4>
<span class="fa-stack fa-lg" style="color: #c92052">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-language fa-stack-1x fa-inverse"></i>
</span>
{{ i18n "community-translation" }}
</h4>
<p>
{{ i18n "community-translation-text" | markdownify }}
</p>
</div>
<div style="width: 28%" class="text-center">
<h4>
<span class="fa-stack fa-lg" style="color: #c99720">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-code fa-stack-1x fa-inverse"></i>
</span>
{{ i18n "community-code" }}
</h4>
<p>
{{ i18n "community-code-text" | markdownify }}
</p>
</div>
<div style="width: 28%" class="text-center">
<h4>
<span class="fa-stack fa-lg" style="color: #20c943">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-paper-plane fa-stack-1x fa-inverse"></i>
</span>
{{ i18n "community-contact" }}
</h4>
<p>
{{ i18n "community-contact-text" | markdownify }}
</p>
</div>
</div>

View File

@ -0,0 +1,15 @@
<div class="anchor" id="downloads"></div>
<div class="jumbotron">
<div class="container">
<h3 class="font-weight-bolder">
{{ i18n "downloads-title" }}
</h3>
<div class="row">
<div class="col-md-10 offset-md-1">
<p>
{{ i18n "downloads-text" | markdownify }}
</p>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<div class="container">
<div class="row mt-3">
<h3 class="text-center font-weight-bolder mt-5 mb-5 offset-md-2 col-md-8" style="line-height: 1.5em;">
{{ i18n "features-title" | safeHTML }}
</h3>
</div>
<div class="row mt-4 mb-5 text-justify">
<div class="col-md-4 pt-5">
<p class="font-weight-bold" style="font-size: 1.15rem;">
{{ i18n "features-lead" }}
</p>
</div>
<div class="col-sm-6 col-md-4">
<div class="text-center mb-2">
<hr style="margin-top: 21px; margin-bottom: -21px; border-color: #9720c955;">
<span class="fa-stack fa-lg" style="color: #4b1064">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-gamepad fa-stack-1x fa-inverse"></i>
</span>
</div>
<p>
{{ i18n "features-col1" | markdownify }}
</p>
</div>
<div class="col-sm-6 col-md-4">
<div class="text-center mb-2">
<hr style="margin-top: 21px; margin-bottom: -21px; border-color: #9720c955;">
<span class="fa-stack fa-lg" style="color: #4b1064">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fas fa-rocket fa-stack-1x fa-inverse"></i>
</span>
</div>
<p>
{{ i18n "features-col2" | markdownify }}
</p>
</div>
</div>
</div>

View File

@ -0,0 +1,14 @@
<footer class="pt-3 pb-5 bg-dark text-light">
<div class="container">
<div class="row">
<div class="col-md">
&copy; 2019-2020 <span style="font-family: 'Fortheenas01';font-weight:bold;">happy<span style="font-family: 'Fortheenas01 Bold';margin-left:.1em;">DNS</span></span>
</div>
<div class="col-md">
<a href="/{{ .Site.Language.Lang }}/legal-notice/" class="text-secondary">
{{ i18n "legal-notice" }}
</a>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,49 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<title>{{ .Title }}</title>
<meta name="author" content="{{ .Site.Author.name }}" />
{{ .Hugo.Generator }}
{{ if .Keywords }}
<meta name="keywords" content="{{ delimit .Keywords ", " }}">
{{ else if .Site.Params.DefaultKeywords }}
<meta name="keywords" content="{{ delimit .Site.Params.DefaultKeywords ", " }}">
{{ end }}
{{ if .Description }}
<meta name="description" content="{{ .Description }}">
{{ else if .Site.Params.DefaultDescription }}
<meta name="description" content="{{ .Site.Params.DefaultDescription }}">
{{ end }}
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous">
<!-- Theme stylesheet, if possible do not edit this stylesheet -->
{{ if and (isset .Site.Params "style") .Site.Params.style }}
<link href="{{ .Site.BaseURL }}css/style.{{ .Site.Params.style }}.css" rel="stylesheet" id="theme-stylesheet">
{{ else }}
<link href="{{ .Site.BaseURL }}css/style.default.css" rel="stylesheet" id="theme-stylesheet">
{{ end }}
<!-- Custom stylesheet - for your changes -->
<link href="{{ .Site.BaseURL }}css/custom.css" rel="stylesheet">
<!-- Responsivity for older IE -->
{{ `
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
` | safeHTML }}
<!-- Favicon and apple touch icons-->
<link rel="shortcut icon" href="{{ .Site.BaseURL }}img/favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="{{ .Site.BaseURL }}img/apple-touch-icon.png" />
<link rel="alternate" href="{{ "/index.xml" | absURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
</head>

View File

@ -0,0 +1,18 @@
<div class="jumbotron bg-light mt-n1 mb-0">
<div class="container">
<h1 class="display-3 text-center">
<span style="font-family: 'Fortheenas01';font-weight:bold;">happy</span><span style="font-family: 'Fortheenas01 Bold';margin-left:.1em;">DNS</span>
</h1>
<h2 class="display-5 text-center text-muted">
{{ i18n "slogan" }}
</h2>
<p class="mt-4 lead">
<span style="font-family: 'Fortheenas01';font-weight:bold;">happy</span><span style="font-family: 'Fortheenas01 Bold';margin-left:.1em;">DNS</span>
{{ i18n "lead" | markdownify }}
</p>
<p>
<a class="btn btn-primary mt-2" href="/join">{{ i18n "tryit" }} &#187;</a>
<a class="btn btn-outline-secondary mt-2" href="#downloads">{{ i18n "downloadit" }} &#187;</a>
</p>
</div>
</div>

58
layouts/partials/nav.html Normal file
View File

@ -0,0 +1,58 @@
<nav class="navbar navbar-expand-md sticky-top navbar-light bg-light">
<div class="container">
<a class="h1 navbar-brand mb-0" href="/" style="font-family: 'Fortheenas01';font-weight:bold;">
happy<span style="font-family: 'Fortheenas01 Bold';margin-left:.1em;">DNS</span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-between" id="navbarCollapse">
<ul class="navbar-nav">
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ .Name }}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
{{ range .Children }}
<a href="{{ .URL }}" class="dropdown-item">{{ .Name }}</a>
{{ end }}
</div>
{{ else }}
<li class="nav-item">
<a href="{{ .URL }}" class="nav-link">{{ .Name }}</a>
{{ end }}
</li>
{{ end }}
</ul>
<div class="nav-item nav-ext-links">
{{ range .Site.Data.social.social_icons }}
{{- if isset $.Site.Author .id }}
<a class="nav-icon-link" href="{{ printf .url (index $.Site.Author .id) }}" title="{{ .title }}"><span class="fa-stack fa-lg"><i class="fa fa-circle fa-stack-2x"></i><i class="fa {{ .icon }} fa-stack-1x fa-inverse"></i></span></a>
{{- end -}}
{{ end }}
{{ if .Site.Params.rss }}
{{ if .RSSLink }}
<a href="{{ .RSSLink }}" title="RSS" class="nav-icon-link">
{{ else }}
<a href="{{ .Site.RSSLink }}" title="RSS" class="nav-icon-link">
{{ end }}
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-rss fa-stack-1x fa-inverse"></i>
</span>
</a>
{{ end }}
{{ if .Site.Params.tryit }}
<a href="{{ .Site.Params.tryit }}" title="{{ i18n "tryhappydns" }}" class="nav-icon-link">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-arrow-right fa-stack-1x fa-inverse"></i>
</span>
</a>
{{ end }}
</div>
</div>
</div>
</nav>

View File

@ -0,0 +1,2 @@
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

18
layouts/partials/top.html Normal file
View File

@ -0,0 +1,18 @@
{{ if .Site.Params.topbar.enable }}
<div id="top">
<div class="container">
<div class="row">
<div class="col-xs-5">
{{ .Site.Params.topbar.text | safeHTML }}
</div>
<div class="col-xs-7">
<div class="social">
{{ range .Site.Menus.topbar.ByWeight }}
<a href="{{ .URL }}" target="_blank" style="opacity: 1;">{{ .Pre }}</a>
{{ end }}
</div>
</div>
</div>
</div>
</div>
{{ end }}

1
static/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

50
static/css/custom.css Normal file
View File

@ -0,0 +1,50 @@
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: local('Montserrat Regular'), local('Montserrat-Regular'), url(/fonts/Montserrat.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+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Fortheenas01';
font-style: normal;
font-weight: 400;
src: local('Fortheenas 01'), local('Fortheenas01'), local('Fortheenas_01'), url(/fonts/Fortheenas_01.woff2) format('woff2');
unicode-range: U+0000-00FF;
}
@font-face {
font-family: 'Fortheenas01 Bold';
font-style: normal;
font-weight: bold;
src: local('Fortheenas 01 Bold'), local('Fortheenas01 Bold'), local('Fortheenas_01 Bold'), url('/fonts/Fortheenas_01 Bold.woff2') format('woff2');
unicode-range: U+0000-00FF;
}
html {
background-color: #343a40;
}
body {
font-family: Montserrat,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji,sans
}
nav.navbar {
box-shadow: 0 1px 3px 0 #9720c944;
}
.anchor {
margin-top: -60px;
height: 60px;
}
.carousel {
background-color: #300940;
}
.text-hilight {
background-color: yellow;
}
footer {
border-top: 3px solid #9720c9;
box-shadow: 0 -7px 12px 0 #344a4055;
z-index: 2
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

2
static/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: