Compare commits

...

No commits in common. "ufdfd" and "tuvok" have entirely different histories.
ufdfd ... tuvok

638 changed files with 40580 additions and 70 deletions

51
.gitignore vendored
View file

@ -1,51 +0,0 @@
# ---> Emacs
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
# directory configuration
.dir-locals.el
# network security
/network-security.data

16
LICENSE
View file

@ -1,16 +0,0 @@
MIT No Attribution
Copyright <YEAR> <COPYRIGHT HOLDER>
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

20
LICENSE.md Normal file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018, 2019, 2020, 2021 Bruno Grossniklaus
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

2384
README.md

File diff suppressed because it is too large Load diff

16
archetypes/blog.md Normal file
View file

@ -0,0 +1,16 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
toc: false
icon:
teaserpic:
description:
tags:
-
categories:
-
---
<!--more-->

17
archetypes/pages.md Normal file
View file

@ -0,0 +1,17 @@
---
weight: 1
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
toc: false
icon:
teaserpic:
description:
tags:
-
categories:
-
---
<!--more-->

5
exampleSite/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
public/
resources/_gen/
themes
.config.2.toml

22
exampleSite/LICENSE.md Normal file
View file

@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2018 Bruno Grossniklaus
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,18 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
resImgTeaser:
#resImgCmd:
#resImgOpt:
icon:
toc: false
tags:
-
categories:
-
description:
---
<!--more-->

View file

@ -0,0 +1,19 @@
---
weight: 1
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
resImgTeaser:
#resImgCmd:
#resImgOpt:
icon:
toc: false
tags:
-
categories:
-
description:
---
<!--more-->

5
exampleSite/bin/hugo-server-sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
cd $(dirname $0)/..
# hugo server -w --themesDir ../../ --disableFastRender --navigateToChanged
hugo server -e example -w --themesDir ../../ --disableFastRender --navigateToChanged

View file

@ -0,0 +1,971 @@
# https://gohugo.io/getting-started/configuration/#toml-configuration
# ##################################################
# Hugo-defined variables
baseURL = "https://example.com/hugo-theme-w3css-basic.github.io"
title = "W3.CSS Basic exampleSite"
theme = "hugo-theme-w3css-basic"
languageCode = "en-us"
#languageCode = "de-ch"
# Site language. Available translations in the theme's `/i18n` directory.
defaultContentLanguage = "en"
#disableFastRender=true
# Enable Emoji emoticons support for page content; see emoji-cheat-sheet.com
enableEmoji = true
# the length of text to show in a .Summary
summaryLength = 70
# Pagination (3,6,9,12, ...)
paginate = 6
# Enable comments by entering your Disqus shortname
disqusShortname = "it-gro-github-io-hugo-theme-w3css-basic-github-io"
# https://gohugo.io/content-management/syntax-highlighting/
pygmentsUseClassic = false
pygmentsCodeFences = true
pygmentsCodeFencesGuessSyntax = true
# https://help.farbox.com/pygments.html
# https://github.com/alecthomas/chroma
# hugo gen chromastyles --style=autumn > syntax.autumn.css
# ...
pygmentsUseClasses = true
# => static/css/syntax/syntax/syntax.*.css
# copy one of them to
# static/css/syntax/syntax.css
# alternative (if shortcodes/csc*.html are not used):
# set pygmentsUseClassic to false on choose one of the following:
#pygmentsStyle = "autumn"
#pygmentsStyle = "borland"
#pygmentsStyle = "bw"
#pygmentsStyle = "colorful"
#pygmentsStyle = "default"
#pygmentsStyle = "emacs"
#pygmentsStyle = "friendly"
#pygmentsStyle = "fruity"
#pygmentsStyle = "manni"
#pygmentsStyle = "monokai"
#pygmentsStyle = "murphy"
#pygmentsStyle = "native"
#pygmentsStyle = "pastie"
#pygmentsStyle = "perldoc"
#pygmentsStyle = "rrt"
#pygmentsStyle = "tango"
#pygmentsStyle = "trac"
#pygmentsStyle = "vim"
#pygmentsStyle = "vs"
# Enable Google Analytics by entering your tracking code
#googleAnalytics = "UA-113314068-1"
# RSS Feed
# Do not build RSS files
disableRSS = false
# maximum number of items in the RSS feed
rssLimit = 10
[outputs]
home = [ "HTML", "RSS" ]
section = [ "HTML", "RSS"]
[imaging]
# https://gohugo.io/content-management/image-processing/
# Default resample filter used for resizing. Default is Box,
# a simple and fast averaging filter appropriate for downscaling.
# See https://github.com/disintegration/imaging
resampleFilter = "box"
# Defatult JPEG quality setting. Default is 75.
quality = 75
# Anchor used when cropping pictures.
# Default is "smart" which does Smart Cropping, using https://github.com/muesli/smartcrop
# Smart Cropping is content aware and tries to find the best crop for each image.
# Valid values are Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
anchor = "smart"
# ##################################################
# Theme-defined configuration
# ##################################################
# hugo sections
[taxonomies]
tag = "tags"
category = "categories"
[Permalinks]
blog = "/blog/:year/:month/:day/:filename/"
# blog = "/blog/:year/:month/:title/"
# [mediaTypes]
# [mediaTypes."application/pdf"]
# suffix = "pdf"
# ##################################################
# Main menu
[menu]
# provide translations in i18n/*.yaml
[[menu.main]]
weight = 1
name = "Home"
url = "/index.html"
pre = "fas fa-home"
[[menu.main]]
weight = 2
name = "Contact"
url = "/contact"
pre = "far fa-address-card"
[[menu.main]]
weight = 3
name = "Pages"
url = "/pages"
pre = "fas fa-list"
# demo submenu
[[menu.main]]
weight = 4
name = "Theme"
pre = "fas fa-info-circle"
identifier = "theme"
[[menu.main]]
weight = 1
name = "About"
#url = "/categories/this-theme/"
url = "/pages/hugo-theme-w3css-basic/"
pre = "fas fa-info fa-fw"
parent = "theme"
[[menu.main]]
weight = 2
name = "Images"
url = "/pages/hugo-theme-w3css-basic/images-taken-from/"
pre = "far fa-images fa-fw"
parent = "theme"
[[menu.main]]
weight = 3
name = "Showcase"
url = "/pages/showcase/"
pre = "fas fa-eye fa-fw"
parent = "theme"
# end submenu
[[menu.main]]
weight = 5
name = "Blog"
url = "/blog"
pre = "fas fa-rss"
[[menu.main]]
weight = 6
name = "FAQ"
url = "/faq"
pre = "far fa-question-circle"
# right aligned
[[menu.topbar]]
weight = 1
name = "GitHub"
url = "https://github.com/it-gro/hugo-theme-w3css-basic"
pre = "fab fa-github"
#[[menu.topbar]]
# weight = 2
# name = "Facebook"
# url = "http://facebook.com"
# pre = "fab fa-facebook"
#[[menu.topbar]]
# weight = 3
# name = "Twitter"
# url = "http://twitter.com"
# pre = "fab fa-twitter"
[[menu.topbar]]
weight = 4
name = "Email"
url = "#address"
# url = "mailto:info@example.com"
pre = "fas fa-envelope"
[[menu.topbar]]
weight = 5
name = "Search"
url = "/search"
pre = "fas fa-search"
# development tree
# [privacy]
# [privacy.youtube]
# noCookie = true
# [privacy.disqus]
# #skipAgree = true
# ##################################################
# theme-defined params
[params]
# meta data
# ##############################
# used in layouts/partials/head.meta.html
authorName = "anonymous"
defaultKeywords = ["foo", "bar"]
defaultDescription = "example site created with hugo using theme hugo-theme-w3css-basic"
truncateSummaryForMetaDescription = 120
# multiple lines in toml
# https://github.com/toml-lang/toml#user-content-string
# used in layouts/partials/footer.html
# uses markdownify
aboutUs = '''
Vel illum **dolore** eu
* feugiat nulla
* facilisis at vero.
Nam vestibulum accumsan nisl.
'''
address = '''
**nobis eleifend**
**Soluta nobis eleifend**
illum dolore eu feugiat
3612 Steffisburg
consectetuer adipiscing
**Switzerland**
'''
footerContactButton = "contact/index.md"
# used in layouts/partials/footer.bottom.html
bottomLeft = "Copyright (c) 2018, *lobortis nisl* ut aliquip ex ea commodo consequat"
bottomRight = 'created with [Hugo](https://gohugo.io) '
# colors
# ##############################
# used in layouts/partials/head.stylesheets.html
# https://www.w3schools.com/w3css/w3css_color_themes.asp
# https://www.w3schools.com/w3css/w3css_color_generator.asp
# Monochromatic Color Schemes
# set W3.CSS color theme (choose one)
#w3cssColorTheme = "/css/w3-theme-custom.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-amber.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-black.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-blue-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-brown.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-cyan.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-dark-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-deep-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-deep-purple.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-green.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-indigo.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-khaki.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-light-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-light-green.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-lime.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-pink.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-purple.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-red.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-teal.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2006-sand-dollar.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2007-chili-pepper.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2008-blue-izis.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2009-mimosa.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2010-turquise.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2011-honeysucle.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2012-tangerine-tango.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2013-emerald.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2014-radiand-orchid.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2015-marsala.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-airy-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-aurora-red.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-bodacious.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-buttercup.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-duster-cedar.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-fiesta.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-green-flash.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-iced-coffe.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-lilac-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-limpet-shell.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-lush-medow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-peach-echo.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-potters-clay.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-riverside.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-rose-quarts.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-serenity.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-sharkskin.css"
w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-snorkel-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-spicy-mustard.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-warm-taupe.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-autumn-maple.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-ballet-slipper.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-butterum.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-flame.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-golden-lime.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-greenery.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-grenadine.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-hazelnut.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-island-paradise.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-kale.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-lapis-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-marina.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-navy-peony.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-neutral-gray.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-niagara.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-pale-dogwood.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-pink-yarrow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-primrose-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-shaded-spruce.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-tawny-port.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-almond-buff.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-almost-mauve.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-arcadia.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-blooming-dahlia.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-ceylon-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-cherry-tomato.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-chili-oil.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-coconut-milk.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-crocus-petal.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-emperador.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-harbor-mist.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-limelight.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-lime-punch.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-little-boy-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-martini-olive.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-meadowlark.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-meerkat.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-nebulas-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-pink-lavender.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-quetzal-green.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-quiet-gray.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-red-pear.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-russet-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-sailor-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-sargasso-sea.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-spring-crocus.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-tofu.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-ultra-violet.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-valiant-poppy.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-warm-sand.css"
# used in layouts/partials/*.html
# used in layouts/blog/*.html
# used in layouts/default/*.html
# used in layouts/pages/*.html
# {{ default `w3-theme-l3` ($.Site.Param `color404Container`)}}
# set the actual color (one of the monochromatic color scheme)
#
# layouts/partials/header.marquee.html
colorHeaderMarquee = "w3-theme-l1"
#
# layouts/partials/header.nav.html
colorHeaderNav = "w3-theme-dark"
#
# layouts/_default/baseof.html
colorBaseofCanvas = "w3-theme-l4"
colorBaseofPanel = "w3-theme-l2"
#
# layouts/partials/front.*.html
colorFrontClientsCard = "w3-theme-l2"
colorFrontClientsContainer = "w3-theme-l3"
colorFrontFeaturesCard = "w3-theme-l3"
colorFrontFeaturesContainer = "w3-theme-l4"
colorFrontJumbotronsContainer = "w3-theme-l2"
colorFrontJumbotronsSection = "w3-theme-l4"
colorFrontPhotocardsCard = "w3-theme-l1"
colorFrontPhotocardsCardContainer = "w3-theme-l1"
colorFrontPhotocardsContainer = "w3-theme-l3"
colorFrontRecentPostsCard = "w3-theme-l4"
colorFrontRecentPostsCardButton = "w3-theme-l4"
colorFrontRecentPostsContainer = "w3-theme-l3"
colorFrontRecentPostsTitleCard = "w3-theme-l2"
colorFrontSeeMoreButton = "w3-theme-l4"
colorFrontSeeMoreContainer = "w3-theme-l4"
colorFrontSeeMoreText = "w3-text-white"
colorFrontTestimonialsCarouselCard = "w3-theme-l5"
colorFrontTestimonialsContainer = "w3-theme-l4"
colorFrontTestimonialsTitleCard = "w3-theme-l2"
#
# layouts/partials/page.nav.cards.html
colorPageNavCardsCard = "w3-theme-d3"
colorPageNavCardsLink = "w3-theme-l3"
colorPageNavCardsContainer = "w3-theme-l3"
#
# layouts/partials/page.nav.breadcrump.html
colorPageNavBreadcrumpBar = "w3-theme-d3"
#
# layouts/pages/list.html:
colorPagesListCard = "w3-theme-l3"
colorPagesListCell = "w3-theme-l4"
colorPagesListContainer = "w3-theme-l4"
#
# layouts/blog/list.html
colorBlogListCard = "w3-theme-l3"
colorBlogListCell = "w3-theme-l4"
colorBlogListContainer = "w3-theme-l4"
#
# layouts/_default/taxonomy.html
colorTaxonomyCard = "w3-theme-l3"
colorTaxonomyCell = "w3-theme-l4"
colorTaxonomyContainer = "w3-theme-l4"
#
# layouts/partials/main.paginator.bar.html
colorPaginatorBar = "w3-theme-l1"
#
# layouts/_default/taxonomy.html
colorTaxonomyBar = "w3-theme-l1"
colorTaxonomyPanel = "w3-theme-l2"
#
#layouts/_default/terms.html:
colorTermsPanel = "w3-theme-l2"
#
# layouts/partials/blog.disqus-button.html
colorDisqusButton = "w3-theme-l3"
#
# layouts/partials/contact.form.html
colorContactFormPanel = "w3-theme-d3"
#
# layouts/partials/contact.map.html
colorContactMapCard = "w3-theme-l2"
colorContactMapPanel = "w3-theme-l2"
#
# layouts/partials/search.google.gcse.html
colorSearchGoogleGcseContainer = "w3-theme-l3"
#
# layouts/partials/footer.bottom.html
colorFooterBottomCell = "w3-theme-l3"
#
# layouts/partials/footer.html
colorFooterButton = "w3-theme-l4"
colorFooterContainer = "w3-theme-d5"
#
# layouts/404.html
color404Container = "w3-theme-l3"
#
# layouts/partials/main.related.html
colorRelatedBar = "w3-theme-l4"
# used in layouts/shortcodes/alert.html
colorAlertPrimary = "w3-purple"
colorAlertSecondary = "w3-aqua"
colorAlertSuccess = "w3-light-green"
colorAlertInfo = "w3-light-blue"
colorAlertWarning = "w3-yellow"
colorAlertDanger = "w3-red"
colorAlertDark = "w3-dark-grey"
colorAlertLight = "w3-grey"
# w3-amber
# w3-aqua
# w3-blue
# w3-blue-grey
# w3-brown
# w3-cyan
# w3-dark-grey
# w3-deep-orange
# w3-deep-purple
# w3-green
# w3-grey
# w3-indigo
# w3-khaki
# w3-light-blue
# w3-light-green
# w3-light-grey
# w3-lime
# w3-orange
# w3-pink
# w3-purple
# w3-red
# w3-sand
# w3-teal
# w3-white
# w3-yellow
# google stuff
# ##############################
# used in layouts/partials/head.html
# use true for https://themes.gohugo.io/hugo-theme-w3css-basic
# if fontsUseGoogleApis=true then choose your fonts in [params.googleApiFonts.family.*] (see below)
fontsUseGoogleApis=true
# Global Site Tag
# https://developers.google.com/gtagjs/
# used in layouts/partials/head.google.gtags.html
# you need to enter the Tracking-ID above
# googleAnalytics = ""
#enableGoogleGtag=true
enableGoogleGtag=false
# Google Maps API key
# get our own: https://developers.google.com/maps/documentation/javascript/adding-a-google-map#key
# used in layouts/partials/contact.map.html
# if empty => fallback to URL (instead of map)
# define environment variable (=> key is not stored in github)
envGoogleMapsApiKey = "GoogleMapsApiKey"
# if environment is not an option => define key here:
#googleMapsApiKey = ""
#googleMapsZoom = 14
googleMapsZoom = 3
latitude = 46.946692
longitude = 7.444186
# Google Custom Search API
# https://cse.google.com/cse/
# used in layouts/partials/search.google.gcse.html
googleCustomSearchCX = '002931815551392744433:tnypjyusk2e'
# for google translate check params.menuTopBar.googleTranslate*
# teasers
# ##############################
# https://gohugo.io/functions/truncate/
# used in layouts/pages/list.html
# layouts/partials/front.recent_posts.html
# layouts/partials/main.teaser_in_card.html
teaserTruncateSummary = 200
# contact form
# ##############################
# used in partials/contact.form.html
# Enable the contact form by entering your Formspree.io email
formspree = "formspree.io"
email = "info@example.com"
contactFormInclEmail = true
# disqus (theme)
# ##############################
# used in partials/blog.disqus-button.html
# set to false if you dont want to have a button "show comments", but show the comments right away
disqusButtonShow = false
# set to true, if you want to show the count of comments within the "show comments" button
# fires an async request to disqus.com/count.js
disqusButtonShowCount = false
# set to true if you dont want a GDPR agreement with the visitor
# disqusSkipAgree = true
# date format (blog) is created using:
# layouts/partials/main.blog.date.html
# layouts/partials/main.i18n.date.html
# layouts/partials/main.i18n.date.short.html
# and i18n/*.yaml
# enable output of shortcode hc (html comment)
# used in layouts/shortcodes/hc.html
enableHC = true
# flags used for tracing and html comment output
# currently used:
# html-comment enable partials html comment output
# debug-shortcodes enable all shortcodes debugging output
# debug-shortcode-liti enable all shortcode liti debugging output
#traceFlags = "html-comment:debug-shortcodes"
#traceFlags = "html-comment:debug-shortcode-res-figure"
#traceFlags = "html-comment:debug-shortcode-res-debug"
#traceFlags = "html-comment:debug-partial-resource-image"
traceFlags = "html-comment"
# custom css and custom js
# this theme comes with the following "empty" files
# static/css/custom.css
# static/js/custom.bottom.js
# static/js/custom.top.js
# a project can create these in the project dir in order to overwrite them
# https://gohugo.io/themes/customizing/#override-static-files
# in addition the following arrays may be files with paths or URLS
# custom_css = [ "css/custom_foo.css", "https://cdnjs.cloudflare.com/ajax/libs/minireset.css/0.0.2/minireset.min.css" ]
# custom_js_top = [ "js/custom_top_bar.js" ]
# custom_js_bottom = [ "js/custom_bottom_foo.js", "https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js" ]
# used in layouts/partials/head.stylesheets.html
# used in layouts/partials/scripts.bottom.html
# used in layouts/partials/scripts.top.html
custom_css = [ ]
custom_js_top = [ ]
custom_js_bottom = [ ]
# developer stuff
debug = false
uglyURLs = false
uglyUrl = ".html"
# ##################################################
# theme sections
# more theme defined params
[params.anchor]
# layouts/_default/baseof.html
enable = true
#icon = "fas fa-anchor"
icon = "fas fa-link"
[params.related]
# https://gohugo.io/content-management/related/
# layouts/partials/main.related.html
enable = true
limitTo = 5
[params.cookieconsent]
# https://cookieconsent.insites.com/download/
# used in layouts/partials/head.cookieconsent.html
enable = true
popupBackground = "#f33"
popupText = "#fff"
buttonBackground = "#3f3"
buttonText = "#000"
#popupBackground = "#fff"
#popupText = "#444"
#buttonBackground = "#666"
#buttonText = "#fff"
#static = "true"
#position = "bottom"
#position = "top"
#position = "bottom-left"
position = "bottom-right"
#position = "top-left"
#position = "top-right"
#theme = ""
theme = "classic"
#theme = "edgeless"
href = "https://cookiesandyou.com"
[params.favicon]
# you may want to use https://realfavicongenerator.net to generate your files
# used in layouts/partials/head.favicon.html
# relURL is applied to path
enable = true
path = "/images/favicons"
version = "gH2ZthzW"
maskIcon = "#5bbad5"
msapplicationTileColor = "#da532c"
themeColor = "#ffffff"
[params.marquee]
# used in layouts/partials/header.marquee.html
# enable or disable marquee on frontpage
enable = true
# marquee text is placed in directory as:
file = ".marquee.md"
# no longer valid:
# marquee = '''
# '''
[params.menuConfig]
# used in layouts/partials/header.nav.html
# if set => change menu entry on small displays to lowercase maxChars
smallDispMenuMaxChars = 4
#smallDispMenuMaxChars = 2
smallDispMenuCollapse = true
#smallDispMenuCollapseIcon = "fas fa-bars"
smallDispMenuCollapseIcon = "fas fa-caret-square-down"
#smallDispMenuCollapseIcon = "far fa-caret-square-down"
#smallDispMenuCollapseIcon = "fab fa-elementor"
[params.menuTopBar]
# used in layouts/partials/header.nav.html
# enable or disable menu.topbar with social icons (right aligned)
socialEnable = true
numOfItemsIfSmallDisplay = 1
numOfItemsIfMediumDisplay = 3
numOfItemsIfSmallDisplayCollapsed = 6
# used in layouts/partials/header.nav.html
# layouts/partials/header.nav.google.translate.html
googleTranslateEnable = true
googleTranslateShowOnHome= false
# used in layouts/partials/header.nav.html
# layouts/partials/header.nav.theme_color_selector.html
# layouts/partials/head.stylesheets.html
# layouts/partials/scripts.bottom.html
# This may help you to to select a w3cssColorTheme
themeColorSelectorEnable = true
[params.jumbotrons]
# used in layouts/partials/front.jumbotrons.carousel.html
# enable or disable jumbotrons on frontpage
# see some examples in 'exampleSite/data/jumbotron'
enable = true
#enable = false
[params.photocards]
# used in layouts/partials/front.photocards.html
# enable or disable photocards on frontpage
# see some examples in 'exampleSite/data/photocards'
enable = true
#enable = false
#limitTo = 3
limitTo = 6
animate = true
resImgCmd = "Resize"
resImgCmdOpt = "300x"
[params.features]
# used in layouts/partials/front.features.html
# enable or disable features on frontpage
# see some examples in 'exampleSite/data/features'
enable = true
#enable = false
#limitTo = 3
limitTo = 6
animate = false
[params.recentPosts]
# used in layouts/partials/footer.html
footerNumOfPosts = 5
enableFooter = true
# used in layouts/partials/front.recent_posts.html
enableFront = true
title = "From our Blog"
subtitle = '''
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac.
'''
[params.seeMore]
# used in layouts/partials/front.see_more.html
# enable or disable see_more on frontpage
enable = true
#enable = false
icon = "far fa-file-code"
title = "Do You want to see More?"
linkUrl = "/pages"
linkText = "consectetuer adipiscing"
subtitle = '''
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.
'''
[params.testimonials]
# used in layouts/partials/front.testimonials.carousel.html
# enable or disable testimonials on frontpage
# see some examples in 'exampleSite/data/testimonials'
enable = true
#enable = false
title = "Testimonials"
subtitle = '''
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua.
'''
[params.clients]
# used in layouts/partials/front.clients.carousel.html
# enable or disable clients on frontpage
# see some examples in 'exampleSite/data/clients'
enable = true
#enable = false
resImgCmd = "Resize"
resImgCmdOpt = "100x"
imgMaxWidth = "100px"
imgMaxHeight = "100px"
title = "Our Clients"
subtitle = '''
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
**molestie consequat**, vel illum dolore.
'''
[params.blog]
# used in layouts/blog/list.html
title = "Blog"
icon = "fas fa-rss"
subtitle = '''
ultricies eget, tempor sit amet, ante
'''
[params.googleApiFonts.family]
# this section is only relevant if fontsUseGoogleApis=true
# https://www.w3.org/Style/Examples/007/fonts.en.html
# the predefined generic font names are:
# sans-serif = ""
# serif = ""
# monospace = ""
# cursive = ""
# fantasy = ""
# used in static/vendor/w3css/4/w3.css
# code,kbd,pre,samp : monospace
# html,body : sans-serif
# h1 : serif
# h1,h2,h3,h4,h5,h6 : sans-serif
# .w3-code,.w3-codespan : Consolas,"courier new"
# https://www.w3schools.com/tags/ref_byfunc.asp
# tagsText = [ "html", "body" ]
tagsText = [ "html", "body", "abbr", "address", "blockquote", "cite", "dfn", "em", "ins", "mark", "s", "time" ]
tagsHeading = [ "h1", "h2", "h3", "h4", "h5", "h6" ]
tagsMono = [ "pre", "code", "kbd", "samp", "data" ]
# these parameter sections must exist, the others are optional
fallbackText = "html"
fallbackHeading = "h1"
fallbackMono = "pre"
[params.googleApiFonts.family.html]
# serif, sans-serif or even cursive
#sans-serif = "Oswald"
#sans-serif = "Capriola"
#sans-serif = "Poppins"
#sans-serif = "Ubuntu"
sans-serif = "Open Sans"
[params.googleApiFonts.family.time]
# the html tag time using it's own font. shortcodes html-tag*.html may be useful...
cursive = "Creepster"
[params.googleApiFonts.family.h1]
# serif, sans-serif or even cursive
#sans-serif = "Days One"
serif = "Kurale"
[params.googleApiFonts.family.pre]
# monospace or sans-serif
monospace = "Oxygen Mono"
#monospace = "Cousine"
#monospace = "Ubuntu Mono"
# a random list of google api fonts:
# sans-serif = "Capriola"
# sans-serif = "Days One"
# sans-serif = "Open Sans"
# sans-serif = "Oswald"
# sans-serif = "Oxygen"
# sans-serif = "Paytone One"
# sans-serif = "Poppins"
# sans-serif = "Quantico"
# sans-serif = "Raleway"
# sans-serif = "Roboto"
# sans-serif = "Ubuntu"
#
# serif = "Gabriela"
# serif = "Glegoo"
# serif = "Noticia Text"
# serif = "Roboto Slab"
#
# monospace = "Cousine"
# monospace = "Nova Mono"
# monospace = "Oxygen Mono"
# monospace = "Roboto Mono"
# monospace = "Space Mono" # problem with />
# monospace = "Ubuntu Mono"
#
# cursive = "Caesar Dressing"
# cursive = "Carter One"
# cursive = "Courgette"
# cursive = "Creepster"
# cursive = "Nova Slim"
# cursive = "Parisienne"
# cursive = "Patrick Hand"
# cursive = "Rammetto One"
# cursive = "Rochester"
# cursive = "Romanesco"
[params.gallery]
# used in layouts/shortcodes/heg-gallery.html
# showFileExtension = true
# humanizeCaption = false
[params.resources]
# used in layouts/partials/resource.image.html
# used in layouts/shortcodes/res-figure.html
# used in layouts/shortcodes/res-gallery.html
defaultResPagePath = "resources/images"
[params.resFigure]
# used in layouts/shortcodes/res-figure.html
defaultResPagePath = "."
defaultMatch = "**/*"
defaultImgCmd = "Resize"
defaultImgCmdOpt = "300x"
defaultImgCaption = "%%T"
[params.resGallery]
# used in layouts/shortcodes/res-gallery.html
defaultResPagePath = "resources/images"
defaultMatch = "**/*"
defaulImgCmd = "Resize"
defaulImgCmdOpt = "800x"
defaulThumbCmd = "Fit"
defaultThumbCmdOpt = "120x120"
defaultCaptionLong = "%%F"
defaultCaptionShort = "%%N"
#defaulThumbCmd = "Resize"
#defaultThumbCmdOpt = "100x100"
#defaulThumbCmd = "Fill"
#defaultThumbCmdOpt = "120x120"
[params.options]
# used in layouts/partials/main.headline.nav-right.html
jsHistoryNav = true
jsHistoryNavForward = false
showNavUp = true
# used in layouts/partials/page.nav.breadcrump.html
showNavBreadcrump = true
navBreadcrumpTitle = true
navBreadcrumpHome = false
[params.taxonomies]
# used in layouts/partials/main.taxonomy.full.bar.html
# fullBarMinItemsTag = 2
# fullBarMinItemsCategory = 3
# ##################################################
# other sections
[blackfriday]
hrefTargetBlank = true
# extensions = ["noEmptyLineBeforeBlock"]
# extensions = ["hardLineBreak"]
# https://gohugo.io/getting-started/configuration/#blackfriday-options
# https://gohugo.io/getting-started/configuration/#blackfriday-extensions
# https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
# http://commonmark.org/
# http://spec.commonmark.org/0.28/

View file

@ -0,0 +1,99 @@
# ##################################################
baseURL = "http://example.com"
theme = "hugo-theme-w3css-basic"
# ##################################################
[taxonomies]
tag = "tags"
category = "categories"
# ##################################################
[menu]
# provide translations in i18n/*.yaml
[[menu.main]]
weight = 1
name = "Home"
url = "/index.html"
pre = "fas fa-home"
[[menu.main]]
weight = 2
name = "Contact"
url = "/contact"
pre = "far fa-address-card"
[[menu.main]]
weight = 3
name = "Pages"
url = "/pages"
pre = "fas fa-list"
# demo submenu
[[menu.main]]
weight = 4
name = "Theme"
pre = "fas fa-info-circle"
identifier = "theme"
[[menu.main]]
weight = 1
name = "About"
url = "/pages/hugo-theme-w3css-basic/"
pre = "fas fa-info fa-fw"
parent = "theme"
[[menu.main]]
weight = 2
name = "Images"
url = "/pages/hugo-theme-w3css-basic/images-taken-from/"
pre = "far fa-images fa-fw"
parent = "theme"
[[menu.main]]
weight = 3
name = "Showcase"
url = "/pages/showcase/"
pre = "fas fa-eye fa-fw"
parent = "theme"
# end submenu
[[menu.main]]
weight = 5
name = "Blog"
url = "/blog"
pre = "fas fa-rss"
[[menu.main]]
weight = 6
name = "FAQ"
url = "/faq"
pre = "far fa-question-circle"
[[menu.topbar]]
weight = 1
name = "GitHub"
url = "https://github.com/it-gro/hugo-theme-w3css-basic"
pre = "fab fa-github"
[[menu.topbar]]
weight = 2
name = "GitLab"
url = "https://gitlab.com/it-gro"
pre = "fab fa-gitlab"
[[menu.topbar]]
weight = 5
name = "Email"
url = "#address"
# url = "mailto:info@example.com"
pre = "fas fa-envelope"
[[menu.topbar]]
weight = 6
name = "Search"
url = "/search"
pre = "fas fa-search"

View file

@ -0,0 +1,4 @@
defaultMarkdownHandler = "goldmark"
[goldmark]
[goldmark.renderer]
unsafe = true

View file

@ -0,0 +1,121 @@
# ##################################################
# theme-defined params
# meta data
# ##############################
# used in layouts/partials/head.meta.html
authorName = "anonymous"
defaultKeywords = ["foo", "bar"]
defaultDescription = "example site created with hugo using theme hugo-theme-w3css-basic"
# multiple lines in toml
# https://github.com/toml-lang/toml#user-content-string
# used in layouts/partials/footer.html
# uses markdownify
aboutUs = '''
Vel illum **dolore** eu
* feugiat nulla
* facilisis at vero.
Nam vestibulum accumsan nisl.
'''
address = '''
**nobis eleifend**
**Soluta nobis eleifend**
illum dolore eu feugiat
3612 Steffisburg
consectetuer adipiscing
**Switzerland**
'''
# used in layouts/partials/footer.bottom.html
bottomLeft = "Copyright (c) 2019, *lobortis nisl* ut aliquip ex ea commodo consequat"
bottomRight = 'created with [Hugo](https://gohugo.io) '
[jumbotrons]
enable = true
[photocards]
enable = true
[features]
enable = true
[recentPosts]
footerNumOfPosts = 5
enableFront = true
enableFooter = true
title = "From our Blog"
subtitle = '''
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac.
'''
[seeMore]
enable = true
linkText = "consectetuer adipiscing"
subtitle = '''
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.
'''
[testimonials]
enable = true
title = "Testimonials"
subtitle = '''
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua.
'''
[clients]
enable = true
title = "Our Clients"
subtitle = '''
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
**molestie consequat**, vel illum dolore.
'''
[blog]
title = "Blog"
icon = "fas fa-rss"
subtitle = '''
ultricies eget, tempor sit amet, ante
'''
[googleApiFonts.family]
tagsText = [ "html", "body", "time" ]
tagsHeading = [ "h1", "h2", "h3", "h4", "h5", "h6" ]
tagsMono = [ "pre", "code", "kbd", "samp", "data" ]
# these parameter sections must exist, the others are optional
fallbackText = "html"
fallbackHeading = "h1"
fallbackMono = "pre"
[googleApiFonts.family.html]
sans-serif = "Ubuntu"
[googleApiFonts.family.time]
cursive = "Creepster"
[googleApiFonts.family.h1]
sans-serif = "Signika"
[googleApiFonts.family.pre]
monospace = "Ubuntu Mono"
[options]
jsHistoryNav = true
jsHistoryNavForward = false
showNavUp = true
showNavBreadcrump = true
navBreadcrumpTitle = true
navBreadcrumpHome = false

View file

@ -0,0 +1,234 @@
# https://gohugo.io/getting-started/configuration/#toml-configuration
# ##################################################
# Hugo-defined variables
baseURL = "https://example.com"
title = "hugo-theme-w3css-basic exampleSite"
theme = "hugo-theme-w3css-basic"
languageCode = "en-us"
#languageCode = "de-ch"
# Site language. Available translations in the theme's `/i18n` directory.
defaultContentLanguage = "en"
#disableFastRender=true
# Enable Emoji emoticons support for page content; see emoji-cheat-sheet.com
enableEmoji = true
# the length of text to show in a .Summary
summaryLength = 70
# Pagination (3,6,9,12, ...)
paginate = 6
# Enable comments by entering your Disqus shortname
disqusShortname = "it-gro-github-io-hugo-theme-w3css-basic-github-io"
# https://gohugo.io/content-management/syntax-highlighting/
pygmentsUseClassic = false
pygmentsCodeFences = true
pygmentsCodeFencesGuessSyntax = true
pygmentsUseClasses = true
# => static/css/syntax/syntax/syntax.*.css
# copy one of them to
# static/css/syntax/syntax.css
# alternative (if shortcodes/csc*.html are not used):
# set pygmentsUseClassic to false on choose one of the following:
#pygmentsStyle = "abap"
#pygmentsStyle = "algol"
#pygmentsStyle = "algol_nu"
#pygmentsStyle = "api"
#pygmentsStyle = "arduino"
#pygmentsStyle = "autumn"
#pygmentsStyle = "borland"
#pygmentsStyle = "bw"
#pygmentsStyle = "colorful"
#pygmentsStyle = "default"
#pygmentsStyle = "dracula"
#pygmentsStyle = "emacs"
#pygmentsStyle = "friendly"
#pygmentsStyle = "fruity"
#pygmentsStyle = "github"
#pygmentsStyle = "igor"
#pygmentsStyle = "lovelace"
#pygmentsStyle = "manni"
#pygmentsStyle = "monokai"
#pygmentsStyle = "monokailight"
#pygmentsStyle = "murphy"
#pygmentsStyle = "native"
#pygmentsStyle = "paraiso-dark"
#pygmentsStyle = "paraiso-light"
#pygmentsStyle = "pastie"
#pygmentsStyle = "perldoc"
#pygmentsStyle = "pygments"
#pygmentsStyle = "rainbow_dash"
#pygmentsStyle = "rrt"
#pygmentsStyle = "solarized-dark256"
#pygmentsStyle = "solarized-dark"
#pygmentsStyle = "solarized-light"
#pygmentsStyle = "swapoff"
#pygmentsStyle = "tango"
#pygmentsStyle = "trac"
#pygmentsStyle = "vim"
#pygmentsStyle = "vs"
#pygmentsStyle = "xcode"
# Enable Google Analytics by entering your tracking code
#googleAnalytics = "UA-113314068-2"
# RSS Feed
# Do not build RSS files
disableRSS = false
# maximum number of items in the RSS feed
rssLimit = 10
[outputs]
home = [ "HTML", "RSS" ]
section = [ "HTML", "RSS"]
[imaging]
# https://gohugo.io/content-management/image-processing/
# Default resample filter used for resizing. Default is Box,
# a simple and fast averaging filter appropriate for downscaling.
# See https://github.com/disintegration/imaging
resampleFilter = "box"
# Defatult JPEG quality setting. Default is 75.
quality = 75
# Anchor used when cropping pictures.
# Default is "smart" which does Smart Cropping, using https://github.com/muesli/smartcrop
# Smart Cropping is content aware and tries to find the best crop for each image.
# Valid values are Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
anchor = "smart"
# ##################################################
# Theme-defined configuration
# ##################################################
# hugo sections
[taxonomies]
tag = "tags"
category = "categories"
[Permalinks]
blog = "/blog/:year/:month/:day/:filename/"
# blog = "/blog/:year/:month/:title/"
# ##################################################
# Main menu
[menu]
# provide translations in i18n/*.yaml
[[menu.main]]
weight = 1
name = "Home"
url = "/index.html"
pre = "fas fa-home"
[[menu.main]]
weight = 2
name = "Contact"
url = "/contact"
pre = "far fa-address-card"
[[menu.main]]
weight = 3
name = "Pages"
url = "/pages"
pre = "fas fa-list"
# demo submenu
[[menu.main]]
weight = 4
name = "Theme"
pre = "fas fa-info-circle"
identifier = "theme"
[[menu.main]]
weight = 1
name = "About"
#url = "/categories/this-theme/"
url = "/pages/hugo-theme-w3css-basic/"
pre = "fas fa-info fa-fw"
parent = "theme"
[[menu.main]]
weight = 2
name = "Images"
url = "/pages/hugo-theme-w3css-basic/images-taken-from/"
pre = "far fa-images fa-fw"
parent = "theme"
[[menu.main]]
weight = 3
name = "Showcase"
url = "/pages/showcase/"
pre = "fas fa-eye fa-fw"
parent = "theme"
[[menu.main]]
weight = 4
name = "Shortcodes"
url = "/pages/hugo-theme-w3css-basic/page-shortcodes/"
pre = "fas fa-eye fa-fw"
parent = "theme"
# end submenu
[[menu.main]]
weight = 5
name = "Blog"
url = "/blog"
pre = "fas fa-rss"
[[menu.main]]
weight = 6
name = "FAQ"
url = "/faq"
pre = "far fa-question-circle"
# right aligned
[[menu.topbar]]
weight = 1
name = "GitHub"
url = "https://github.com/it-gro/hugo-theme-w3css-basic"
pre = "fab fa-github"
[[menu.topbar]]
weight = 2
name = "GitLab"
url = "https://gitlab.com/it-gro"
pre = "fab fa-gitlab"
#[[menu.topbar]]
# weight = 3
# name = "Facebook"
# url = "http://facebook.com"
# pre = "fab fa-facebook"
#[[menu.topbar]]
# weight = 4
# name = "Twitter"
# url = "http://twitter.com"
# pre = "fab fa-twitter"
[[menu.topbar]]
weight = 5
name = "Email"
url = "#address"
# url = "mailto:info@example.com"
pre = "fas fa-envelope"
[[menu.topbar]]
weight = 6
name = "Search"
url = "/search"
pre = "fas fa-search"

View file

@ -0,0 +1,49 @@
defaultMarkdownHandler = "goldmark"
#defaultMarkdownHandler = "blackfriday"
[blackFriday]
angledQuotes = false
footnoteAnchorPrefix = ""
footnoteReturnLinkContents = ""
fractions = true
hrefTargetBlank = true
latexDashes = true
nofollowLinks = false
noreferrerLinks = false
plainIDAnchors = true
skipHTML = false
smartDashes = true
smartypants = true
smartypantsQuotesNBSP = false
taskLists = true
[goldmark]
[goldmark.extensions]
definitionList = true
footnote = false
linkify = true
strikethrough = true
table = true
taskList = true
typographer = false
[goldmark.parser]
attribute = true
autoHeadingID = true
[goldmark.renderer]
hardWraps = false
unsafe = true
xHTML = false
[highlight]
codeFences = true
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "monokai"
tabWidth = 4
[tableOfContents]
endLevel = 6
startLevel = 1

View file

@ -0,0 +1,744 @@
# ##################################################
# theme-defined params
# meta data
# ##############################
# used in layouts/partials/head.meta.html
authorName = "anonymous"
defaultKeywords = ["foo", "bar"]
defaultDescription = "example site created with hugo using theme hugo-theme-w3css-basic"
truncateSummaryForMetaDescription = 120
# multiple lines in toml
# https://github.com/toml-lang/toml#user-content-string
# used in layouts/partials/footer.html
# uses markdownify
aboutUs = '''
Vel illum **dolore** eu
* feugiat nulla
* facilisis at vero.
Nam vestibulum accumsan nisl.
'''
address = '''
**nobis eleifend**
**Soluta nobis eleifend**
illum dolore eu feugiat
3612 Steffisburg
consectetuer adipiscing
**Switzerland**
'''
footerContactButton = "contact/index.md"
# used in layouts/partials/footer.bottom.html
bottomLeft = "Copyright (c) 2019, *lobortis nisl* ut aliquip ex ea commodo consequat"
bottomRight = 'created with [Hugo](https://gohugo.io) '
# colors
# ##############################
# used in layouts/partials/head.stylesheets.html
# https://www.w3schools.com/w3css/w3css_color_themes.asp
# https://www.w3schools.com/w3css/w3css_color_generator.asp
# Monochromatic Color Schemes
# set W3.CSS color theme (choose one)
#w3cssColorTheme = "/css/w3-theme-custom.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-amber.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-black.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-blue-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-brown.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-cyan.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-dark-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-deep-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-deep-purple.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-green.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-indigo.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-khaki.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-light-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-light-green.css"
w3cssColorTheme = "/vendor/w3css/4/w3-theme-lime.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-pink.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-purple.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-red.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-teal.css"
#w3cssColorTheme = "/vendor/w3css/4/w3-theme-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2006-sand-dollar.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2007-chili-pepper.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2008-blue-izis.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2009-mimosa.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2010-turquise.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2011-honeysucle.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2012-tangerine-tango.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2013-emerald.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2014-radiand-orchid.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2015-marsala.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-airy-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-aurora-red.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-bodacious.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-buttercup.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-duster-cedar.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-fiesta.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-green-flash.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-iced-coffe.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-lilac-grey.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-limpet-shell.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-lush-medow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-peach-echo.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-potters-clay.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-riverside.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-rose-quarts.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-serenity.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-sharkskin.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-snorkel-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-spicy-mustard.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2016-warm-taupe.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-autumn-maple.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-ballet-slipper.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-butterum.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-flame.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-golden-lime.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-greenery.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-grenadine.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-hazelnut.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-island-paradise.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-kale.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-lapis-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-marina.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-navy-peony.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-neutral-gray.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-niagara.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-pale-dogwood.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-pink-yarrow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-primrose-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-shaded-spruce.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2017-tawny-port.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-almond-buff.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-almost-mauve.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-arcadia.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-blooming-dahlia.css"
# w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-ceylon-yellow.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-cherry-tomato.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-chili-oil.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-coconut-milk.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-crocus-petal.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-emperador.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-harbor-mist.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-limelight.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-lime-punch.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-little-boy-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-martini-olive.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-meadowlark.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-meerkat.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-nebulas-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-pink-lavender.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-quetzal-green.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-quiet-gray.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-red-pear.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-russet-orange.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-sailor-blue.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-sargasso-sea.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-spring-crocus.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-tofu.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-ultra-violet.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-valiant-poppy.css"
#w3cssColorTheme = "/vendor/w3css/4/color_of_the_year/w3-theme-color-of-year-2018-warm-sand.css"
# used in layouts/partials/*.html
# used in layouts/blog/*.html
# used in layouts/default/*.html
# used in layouts/pages/*.html
# {{ default `w3-theme-l3` ($.Site.Param `color404Container`)}}
# set the actual color (one of the monochromatic color scheme)
#
# layouts/partials/header.marquee.html
colorHeaderMarquee = "w3-theme-l1"
#
# layouts/partials/header.nav.html
colorHeaderNav = "w3-theme-dark"
#
# layouts/_default/baseof.html
colorBaseofCanvas = "w3-theme-l4"
colorBaseofPanel = "w3-theme-l2"
#
# layouts/partials/front.*.html
colorFrontClientsCard = "w3-theme-l2"
colorFrontClientsContainer = "w3-theme-l3"
colorFrontFeaturesCard = "w3-theme-l3"
colorFrontFeaturesContainer = "w3-theme-l4"
colorFrontJumbotronsContainer = "w3-theme-l2"
colorFrontJumbotronsSection = "w3-theme-l4"
colorFrontPhotocardsCard = "w3-theme-l1"
colorFrontPhotocardsCardContainer = "w3-theme-l1"
colorFrontPhotocardsContainer = "w3-theme-l3"
colorFrontRecentPostsCard = "w3-theme-l4"
colorFrontRecentPostsCardButton = "w3-theme-l4"
colorFrontRecentPostsContainer = "w3-theme-l3"
colorFrontRecentPostsTitleCard = "w3-theme-l2"
colorFrontSeeMoreButton = "w3-theme-l4"
colorFrontSeeMoreContainer = "w3-theme-l4"
colorFrontSeeMoreText = "w3-text-white"
colorFrontTestimonialsCarouselCard = "w3-theme-l5"
colorFrontTestimonialsContainer = "w3-theme-l4"
colorFrontTestimonialsTitleCard = "w3-theme-l2"
#
# layouts/partials/page.nav.cards.html
colorPageNavCardsCard = "w3-theme-d3"
colorPageNavCardsLink = "w3-theme-l3"
colorPageNavCardsContainer = "w3-theme-l3"
#
# layouts/partials/page.nav.breadcrump.html
colorPageNavBreadcrumpBar = "w3-theme-d3"
#
# layouts/pages/list.html:
colorPagesListCard = "w3-theme-l3"
colorPagesListCell = "w3-theme-l4"
colorPagesListContainer = "w3-theme-l4"
#
# layouts/blog/list.html
colorBlogListCard = "w3-theme-l3"
colorBlogListCell = "w3-theme-l4"
colorBlogListContainer = "w3-theme-l4"
#
# layouts/_default/taxonomy.html
colorTaxonomyCard = "w3-theme-l3"
colorTaxonomyCell = "w3-theme-l4"
colorTaxonomyContainer = "w3-theme-l4"
#
# layouts/partials/main.paginator.bar.html
colorPaginatorBar = "w3-theme-l1"
#
# layouts/_default/taxonomy.html
colorTaxonomyBar = "w3-theme-l1"
colorTaxonomyPanel = "w3-theme-l2"
#
#layouts/_default/terms.html:
colorTermsPanel = "w3-theme-l2"
#
# layouts/partials/blog.disqus-button.html
colorDisqusButton = "w3-theme-l3"
#
# layouts/partials/contact.form.html
colorContactFormPanel = "w3-theme-d3"
#
# layouts/partials/contact.map.html
colorContactMapCard = "w3-theme-l2"
colorContactMapPanel = "w3-theme-l2"
#
# layouts/partials/search.google.gcse.html
colorSearchGoogleGcseContainer = "w3-theme-l3"
#
# layouts/partials/footer.bottom.html
colorFooterBottomCell = "w3-theme-l3"
#
# layouts/partials/footer.html
colorFooterButton = "w3-theme-l4"
colorFooterContainer = "w3-theme-d5"
#
# layouts/404.html
color404Container = "w3-theme-l3"
#
# layouts/partials/main.related.html
colorRelatedBar = "w3-theme-l3"
#
# layouts/shortcodes/readfile.html
colorShortcodeReadfile = "w3-theme-l3"
#
# layouts/shortcodes/highlightfile.html
colorShortcodeHighlightfile = "w3-theme-l3"
# used in layouts/shortcodes/alert.html
colorAlertPrimary = "w3-purple"
colorAlertSecondary = "w3-aqua"
colorAlertSuccess = "w3-light-green"
colorAlertInfo = "w3-light-blue"
colorAlertWarning = "w3-yellow"
colorAlertDanger = "w3-red"
colorAlertDark = "w3-dark-grey"
colorAlertLight = "w3-grey"
# w3-amber
# w3-aqua
# w3-blue
# w3-blue-grey
# w3-brown
# w3-cyan
# w3-dark-grey
# w3-deep-orange
# w3-deep-purple
# w3-green
# w3-grey
# w3-indigo
# w3-khaki
# w3-light-blue
# w3-light-green
# w3-light-grey
# w3-lime
# w3-orange
# w3-pink
# w3-purple
# w3-red
# w3-sand
# w3-teal
# w3-white
# w3-yellow
# google stuff
# ##############################
# used in layouts/partials/head.html
# use true for https://themes.gohugo.io/hugo-theme-w3css-basic
# if fontsUseGoogleApis=true then choose your fonts in [googleApiFonts.family.*] (see below)
fontsUseGoogleApis=true
# Global Site Tag
# https://developers.google.com/gtagjs/
# used in layouts/partials/head.google.gtags.html
# you need to enter the Tracking-ID above
# googleAnalytics = ""
#enableGoogleGtag=true
enableGoogleGtag=false
# Google Maps API key
# get our own: https://developers.google.com/maps/documentation/javascript/adding-a-google-map#key
# used in layouts/partials/contact.map.html
# if empty => fallback to URL (instead of map)
# define environment variable (=> key is not stored in github)
envGoogleMapsApiKey = "GoogleMapsApiKey"
# if environment is not an option => define key here:
#googleMapsApiKey = ""
#googleMapsZoom = 14
googleMapsZoom = 3
latitude = 46.946692
longitude = 7.444186
# Google Custom Search API
# https://cse.google.com/cse/
# used in layouts/partials/search.google.gcse.html
googleCustomSearchCX = '002931815551392744433:tnypjyusk2e'
# for google translate check menuTopBar.googleTranslate*
# teasers
# ##############################
# https://gohugo.io/functions/truncate/
# used in layouts/pages/list.html
# layouts/partials/front.recent_posts.html
# layouts/partials/main.teaser_in_card.html
teaserTruncateSummary = 200
# contact form
# ##############################
# used in partials/contact.form.html
# Enable the contact form by entering your Formspree.io email
formspree = "formspree.io"
email = "info@example.com"
contactFormInclEmail = true
# disqus (theme)
# ##############################
# used in partials/blog.disqus-button.html
# set to false if you dont want to have a button "show comments", but show the comments right away
disqusButtonShow = false
# set to true, if you want to show the count of comments within the "show comments" button
# fires an async request to disqus.com/count.js
disqusButtonShowCount = false
# set to true if you dont want a GDPR agreement with the visitor
# disqusSkipAgree = true
# date format (blog) is created using:
# layouts/partials/main.blog.date.html
# layouts/partials/main.i18n.date.html
# layouts/partials/main.i18n.date.short.html
# and i18n/*.yaml
# enable output of shortcode hc (html comment)
# used in layouts/shortcodes/hc.html
enableHC = true
# flags used for tracing and html comment output
# currently used:
# html-comment enable partials html comment output
# debug-shortcodes enable all shortcodes debugging output
# debug-shortcode-liti enable all shortcode liti debugging output
#traceFlags = "html-comment:debug-shortcodes"
#traceFlags = "html-comment:debug-shortcode-res-figure"
#traceFlags = "html-comment:debug-shortcode-res-attach"
#traceFlags = "html-comment:debug-shortcode-res-debug"
#traceFlags = "html-comment:debug-partial-resource-image"
traceFlags = "html-comment"
# custom css and custom js
# this theme comes with the following "empty" files
# static/css/custom.css
# static/js/custom.bottom.js
# static/js/custom.top.js
# a project can create these in the project dir in order to overwrite them
# https://gohugo.io/themes/customizing/#override-static-files
# in addition the following arrays may be files with paths or URLS
# custom_css = [ "css/custom_foo.css", "https://cdnjs.cloudflare.com/ajax/libs/minireset.css/0.0.2/minireset.min.css" ]
# custom_js_top = [ "js/custom_top_bar.js" ]
# custom_js_bottom = [ "js/custom_bottom_foo.js", "https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js" ]
# used in layouts/partials/head.stylesheets.html
# used in layouts/partials/scripts.bottom.html
# used in layouts/partials/scripts.top.html
custom_css = [ ]
custom_js_top = [ ]
custom_js_bottom = [ ]
# developer stuff
debug = false
uglyURLs = false
uglyUrl = ".html"
# ##################################################
# theme sections
# more theme defined params
[anchor]
# layouts/_default/baseof.html
enable = true
icon = "fas fa-anchor"
#icon = "fas fa-link"
[related]
# https://gohugo.io/content-management/related/
# layouts/partials/main.related.html
enable = true
limitTo = 5
[cookieconsent]
# https://cookieconsent.insites.com/download/
# used in layouts/partials/head.cookieconsent.html
enable = true
#popupBackground = "#f33"
#popupText = "#fff"
#buttonBackground = "#3f3"
#buttonText = "#000"
popupBackground = "#fff"
popupText = "#444"
buttonBackground = "#666"
buttonText = "#fff"
#static = "true"
#position = "bottom"
#position = "top"
position = "bottom-left"
#position = "bottom-right"
#position = "top-left"
#position = "top-right"
#theme = ""
theme = "classic"
#theme = "edgeless"
href = "https://cookiesandyou.com"
[favicon]
# you may want to use https://realfavicongenerator.net to generate your files
# used in layouts/partials/head.favicon.html
# relURL is applied to path
enable = false
path = "/images/favicons"
version = "a_random_value"
maskIcon = "#5bbad5"
msapplicationTileColor = "#da532c"
themeColor = "#ffffff"
[marquee]
# used in layouts/partials/header.marquee.html
# enable or disable marquee on frontpage
enable = true
# marquee text is placed in directory as:
file = ".marquee.md"
# no longer valid:
# marquee = '''
# '''
[menuConfig]
# used in layouts/partials/header.nav.html
# if set => change menu entry on small displays to lowercase maxChars
smallDispMenuMaxChars = 4
#smallDispMenuMaxChars = 2
smallDispMenuCollapse = true
#smallDispMenuCollapseIcon = "fas fa-bars"
smallDispMenuCollapseIcon = "fas fa-caret-square-down"
#smallDispMenuCollapseIcon = "far fa-caret-square-down"
#smallDispMenuCollapseIcon = "fab fa-elementor"
#smallDispMenuCollapseIcon = "fas fa-align-justify"
[menuTopBar]
# used in layouts/partials/header.nav.html
# enable or disable menu.topbar with social icons (right aligned)
socialEnable = true
numOfItemsIfSmallDisplay = 1
numOfItemsIfMediumDisplay = 3
numOfItemsIfSmallDisplayCollapsed = 6
# used in layouts/partials/header.nav.html
# layouts/partials/header.nav.google.translate.html
googleTranslateEnable = true
googleTranslateShowOnHome= false
# used in layouts/partials/header.nav.html
# layouts/partials/header.nav.theme_color_selector.html
# layouts/partials/head.stylesheets.html
# layouts/partials/scripts.bottom.html
# This may help you to to select a w3cssColorTheme
themeColorSelectorEnable = true
[jumbotrons]
# used in layouts/partials/front.jumbotrons.carousel.html
# enable or disable jumbotrons on frontpage
# see some examples in 'exampleSite/data/jumbotron'
enable = true
#enable = false
[photocards]
# used in layouts/partials/front.photocards.html
# enable or disable photocards on frontpage
# see some examples in 'exampleSite/data/photocards'
enable = true
#enable = false
limitTo = 3
#limitTo = 6
animate = true
resImgCmd = "Resize"
resImgCmdOpt = "300x"
[features]
# used in layouts/partials/front.features.html
# enable or disable features on frontpage
# see some examples in 'exampleSite/data/features'
enable = true
#enable = false
#limitTo = 3
limitTo = 6
animate = false
[recentPosts]
# used in layouts/partials/footer.html
footerNumOfPosts = 5
enableFooter = true
# used in layouts/partials/front.recent_posts.html
enableFront = true
title = "From our Blog"
subtitle = '''
Pellentesque habitant morbi tristique senectus et netus et malesuada
fames ac.
'''
[seeMore]
# used in layouts/partials/front.see_more.html
# enable or disable see_more on frontpage
enable = true
#enable = false
icon = "far fa-file-code"
title = "Do You want to see More?"
linkUrl = "/pages"
linkText = "consectetuer adipiscing"
subtitle = '''
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.
'''
[testimonials]
# used in layouts/partials/front.testimonials.carousel.html
# enable or disable testimonials on frontpage
# see some examples in 'exampleSite/data/testimonials'
enable = true
#enable = false
title = "Testimonials"
subtitle = '''
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua.
'''
[clients]
# used in layouts/partials/front.clients.carousel.html
# enable or disable clients on frontpage
# see some examples in 'exampleSite/data/clients'
enable = true
#enable = false
resImgCmd = "Resize"
resImgCmdOpt = "100x"
imgMaxWidth = "100px"
imgMaxHeight = "100px"
title = "Our Clients"
subtitle = '''
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
**molestie consequat**, vel illum dolore.
'''
[blog]
# used in layouts/blog/list.html
title = "Blog"
icon = "fas fa-rss"
subtitle = '''
ultricies eget, tempor sit amet, ante
'''
[googleApiFonts.family]
# this section is only relevant if fontsUseGoogleApis=true
# https://www.w3.org/Style/Examples/007/fonts.en.html
# the predefined generic font names are:
# sans-serif = ""
# serif = ""
# monospace = ""
# cursive = ""
# fantasy = ""
# used in static/vendor/w3css/4/w3.css
# code,kbd,pre,samp : monospace
# html,body : sans-serif
# h1 : serif
# h1,h2,h3,h4,h5,h6 : sans-serif
# .w3-code,.w3-codespan : Consolas,"courier new"
# https://www.w3schools.com/tags/ref_byfunc.asp
# tagsText = [ "html", "body" ]
# tagsText = [ "html", "body", "abbr", "address", "article" "aside" "blockquote", "caption", "cite", "dfn", "em", "ins", "main", "mark", "s", "section", "summary", "time" ]
# tagsText = [ "html", "body", "abbr", "address", "blockquote", "cite", "dfn", "em", "ins", "mark", "s", "time" ]
tagsText = [ "html", "body", "time" ]
tagsHeading = [ "h1", "h2", "h3", "h4", "h5", "h6" ]
tagsMono = [ "pre", "code", "kbd", "samp", "data" ]
# these parameter sections must exist, the others are optional
fallbackText = "html"
fallbackHeading = "h1"
fallbackMono = "pre"
[googleApiFonts.family.html]
# serif, sans-serif or even cursive
#sans-serif = "Poppins"
sans-serif = "Ubuntu"
[googleApiFonts.family.time]
# the html tag time using it's own font. shortcodes html-tag*.html may be useful...
cursive = "Creepster"
[googleApiFonts.family.h1]
# serif, sans-serif or even cursive
sans-serif = "Signika"
#sans-serif = "Ubuntu"
#sans-serif = "Days One"
[googleApiFonts.family.pre]
# monospace or sans-serif
#monospace = "Cousine"
monospace = "Ubuntu Mono"
# a random list of google api fonts:
# sans-serif = "Capriola"
# sans-serif = "Days One"
# sans-serif = "Open Sans"
# sans-serif = "Oswald"
# sans-serif = "Oxygen"
# sans-serif = "Paytone One"
# sans-serif = "Poppins"
# sans-serif = "Quantico"
# sans-serif = "Raleway"
# sans-serif = "Roboto"
# sans-serif = "Ubuntu"
#
# serif = "Gabriela"
# serif = "Glegoo"
# serif = "Noticia Text"
# serif = "Roboto Slab"
#
# monospace = "Cousine"
# monospace = "Nova Mono"
# monospace = "Oxygen Mono"
# monospace = "Roboto Mono"
# monospace = "Space Mono" # problem with />
# monospace = "Ubuntu Mono"
#
# cursive = "Caesar Dressing"
# cursive = "Carter One"
# cursive = "Courgette"
# cursive = "Creepster"
# cursive = "Nova Slim"
# cursive = "Parisienne"
# cursive = "Patrick Hand"
# cursive = "Rammetto One"
# cursive = "Rochester"
# cursive = "Romanesco"
[gallery]
# used in layouts/shortcodes/heg-gallery.html
# showFileExtension = true
# humanizeCaption = false
[resources]
# used in layouts/partials/resource.image.html
# used in layouts/shortcodes/res-figure.html
# used in layouts/shortcodes/res-gallery.html
defaultResPagePath = "resources/images"
[resFigure]
# used in layouts/shortcodes/res-figure.html
defaultResPagePath = "."
defaultMatch = "**/*"
defaultImgCmd = "Resize"
defaultImgCmdOpt = "300x"
defaultImgCaption = "%%T"
[resGallery]
# used in layouts/shortcodes/res-gallery.html
defaultResPagePath = "resources/images"
defaultMatch = "**/*"
defaulImgCmd = "Resize"
defaulImgCmdOpt = "800x"
defaulThumbCmd = "Fit"
defaultThumbCmdOpt = "120x120"
defaultCaptionLong = "%%F"
defaultCaptionShort = "%%N"
#defaulThumbCmd = "Resize"
#defaultThumbCmdOpt = "100x100"
#defaulThumbCmd = "Fill"
#defaultThumbCmdOpt = "120x120"
[options]
# used in layouts/partials/main.headline.nav-right.html
jsHistoryNav = true
jsHistoryNavForward = false
showNavUp = true
# used in layouts/partials/page.nav.breadcrump.html
showNavBreadcrump = true
navBreadcrumpTitle = true
navBreadcrumpHome = false
[taxonomies]
# used in layouts/partials/main.taxonomy.full.bar.html
# fullBarMinItemsTag = 3
# fullBarMinItemsCategory = 3
# ##################################################
# other sections

View file

@ -0,0 +1,2 @@
At [info@example.com](mailto:info@example.com) vero eos et **accusam**
et justo duo dolores et ea rebum. Stet clita *kasd gubergren*, no sea

View file

@ -0,0 +1 @@
../../README.md

View file

@ -0,0 +1,485 @@
---
title: "Emacs Jokes"
date: 1985-03-20T20:00:00+01:00
tags:
- editor
- emacs
categories:
- tools
icon: "fas fa-lock-open"
resImgTeaser: teaserpics/wikipedia.org/emacs-jokes.png
---
Richard M. Stallman (RMS, widely known for creating EMACS) is writing
a UNIX clone called GNU (which means Gnu's Not Unix--a recursive
acronym).
This seems to open the way to a whole gnu class of jokes. For
example:
<!--more-->
> Q: What do you call a person who hacks while wearing no clothes?
> A: A gnudist.
> Q: What do you call an eligible young hacker?
> A: Gnubile.
> Q: What is a hacker's favorite candy?
> A: Gnugat. (Though it contains little gnutrition.)
> Q: What do you call a computer filled with air?
> A: Gnumatic.
> Q: What do you call a novice hacker who keeps pestering you
> with foolish questions?
> A: A gnuisance.
> Q: What do you call a subtle, clever hack in the favorite language?
> A: A gnuanCe.
> Q: What do you use a supercomputer for?
> A: Gnumerical analysis.
> Q: What do you call a hacker who collects coins?
> A: A gnumismatist.
Well, there are more, just too gnumerous to tell all at once. I think
# elvis@gnu.ai.mit.edu
```
From: elvis@gnu.ai.mit.edu
To: emacs-19-bugs@gnu.ai.mit.edu
Subject: missing from etc/emacs.names
Date: Thu, 20 May 93 02:21:27 edt
```
```
Elvis
Masterminds
All
Computer
Software
```
Just so you boys know the score.
Thank you very much,
The King
## What does it mean
```
From: The Unknown User <anonymous@nowhere.uucp>
Subject: EMACS -- What does it mean?
To: mit-prep!info-gnu-emacs@TOPAZ.RUTGERS.EDU
```
EMACS belongs in <sys/errno.h>: Editor too big!
Escape-Meta-Alt-Control-Shift
```
From: harvard!topaz!BLUE!BRAIL@mit-eddie
Date: 9 Sep 85 17:25:27 EDT
Subject: EMACS -- What does it mean?
To: mit-prep!info-gnu-emacs@TOPAZ.RUTGERS.EDU
```
EMACS may stand for "Editing MACroS," but some friends of mine
suggested some more creative definitions. Here they are. Anyone have
any additions?
```
Eight
Megabytes
And
Constantly
Swapping
Even a
Master of
Arts
Comes
Simpler
Emacs
Manuals
Are
Cryptic and
Surreal
Energetic
Merchants
Always
Cultivate
Sales
Each
Manual's
Audience is
Completely
Stupefied
Emacs
Means
A
Crappy
Screen
Eventually
Munches
All
Computer
Storage
Even
My
Aunt
Crashes the
System
Eradication of
Memory
Accomplished with
Complete
Simplicity
Elsewhere
Maybe
Alternative
Civilizations
Survive
Egregious
Managers
Actively
Court
Stallman
Esoteric
Malleability
Always
Considered
Silly
Emacs
Manuals
Always
Cause
Senility
Easily
Maintained with the
Assistance of
Chemical
Solutions
Edwardian
Manifestation of
All
Colonial
Sins
Generally
Not
Used
Except by
Middle
Aged
Computer
Scientists
Extended
Macros
Are
Considered
Superfluous
Every
Mode
Accelerates
Creation of
Software
Elsewhere
Maybe
All
Commands are
Simple
Emacs
May
Allow
Customized
Screwups
Excellent
Manuals
Are
Clearly
Suppressed
Emetic
Macros
Assault
Core and
Segmentation
Embarrassed
Manual-Writer
Accused of
Communist
Subversion
Extensibility and
Modifiability
Aggravate
Confirmed
Simpletons
Emacs
May
Annihilate
Command
Structures
Easily
Mangles,
Aborts,
Crashes and
Stupefies
Extraneous
Macros
And
Commands
Stink
Exceptionally
Mediocre
Algorithm for
Computer
Scientists
EMACS
Makes no
Allowances
Considering its
Stiff price
Equine
Mammals
Are
Considerably
Smaller
Embarrassingly
Mundane
Advertising
Cuts
Sales
Every
Moron
Assumes
CCA is
Superior
Exceptionally
Mediocre
Autocratic
Control
System
EMACS
May
Alienate
Clients and
Supporters
Excavating
Mayan
Architecture
Comes
Simpler
Erasing
Minds
Allows
Complete
Submission
Every
Male
Adolescent
Craves
Sex
Elephantine
Memory
Absolutely
Considered
Sine que non
Emacs
Makers
Are
Crazy
Sickos
Eenie-Meenie-Miney-Mo-
Macros
Are
Completely
Slow
Experience the
Mildest
Ad
Campaign ever
Seen
Emacs
Makefiles
Annihilate
C-
Shells
Eradication of
Memory
Accomplished with
Complete
Simplicity
Emetic
Macros
Assault
Core and
Segmentation
Epileptic
MLisp
Aggravates
Compiler
Seizures
Eleven thousand
Monkeys
Asynchronously
Crank out these
Slogans
```
## ed forever?
```
From: patl@athena.mit.edu (Patrick J. LoPresti)
Message-ID: <1991Jul11.031731.9260@athena.mit.edu>
Sender: news@athena.mit.edu (News system)
Subject: The True Path (long)
Date: 11 Jul 91 03:17:31 GMT
Path: ai-lab!mintaka!olivea!samsung!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!patl
Newsgroups: alt.religion.emacs,alt.slack
Organization: Massachusetts Institute of Technology
Lines: 95
Xref: ai-lab alt.religion.emacs:244 alt.slack:1935
```
When I log into my Xenix system with my 110 baud teletype, both vi
*and* Emacs are just too damn slow. They print useless messages like,
'C-h for help' and '"foo" File is read only'. So I use the editor
that doesn't waste my VALUABLE time.
```
ED(1) UNIX Programmer's Manual ED(1)
NAME
ed - text editor
SYNOPSIS
ed [ - ] [ -x ] [ name ]
DESCRIPTION
Ed is the standard text editor.
```
Computer Scientists love ed, not just because it comes first
alphabetically, but because it's the standard. Everyone else loves ed
because it's ED!
"Ed is the standard text editor."
And ed doesn't waste space on my Timex Sinclair. Just look:
```
-rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed
-rwxr-xr-t 4 root 1310720 Jan 1 1970 /usr/ucb/vi
-rwxr-xr-x 1 root 5.89824e37 Oct 22 1990 /usr/bin/emacs
```
Of course, on the system *I* administrate, vi is symlinked to ed.
Emacs has been replaced by a shell script which
1) Generates a syslog message at level LOG_EMERG;
2) reduces the user's disk quota by 100K; and
3) RUNS ED!!!!!!
"Ed is the standard text editor."
Let's look at a typical novice's session with the mighty ed:
```
golem> ed
?
help
?
?
?
quit
?
exit
?
bye
?
hello?
?
eat flaming death
?
^C
?
^C
?
^D
?
```
---
Note the consistent user interface and error reportage. Ed is
generous enough to flag errors, yet prudent enough not to overwhelm
the novice with verbosity.
"Ed is the standard text editor."
Ed, the greatest WYGIWYG editor of all.
ED IS THE TRUE PATH TO NIRVANA! ED HAS BEEN THE CHOICE OF EDUCATED
AND IGNORANT ALIKE FOR CENTURIES! ED WILL NOT CORRUPT YOUR PRECIOUS
BODILY FLUIDS!! ED IS THE STANDARD TEXT EDITOR! ED MAKES THE SUN
SHINE AND THE BIRDS SING AND THE GRASS GREEN!!
When I use an editor, I don't want eight extra KILOBYTES of worthless
help screens and cursor positioning code! I just want an EDitor!!
Not a "viitor". Not a "emacsitor". Those aren't even WORDS!!!! ED!
ED! ED IS THE STANDARD!!!

View file

@ -0,0 +1,44 @@
+++
title = "ufdfd, Gutenberg better than Zola"
date = 2017-09-24
+++
A Declaration of the Independence of Cyberspace
by John Perry Barlow
Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.
We have no elected government, nor are we likely to have one, so I address you with no greater authority than that with which liberty itself always speaks. I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You have no moral right to rule us nor do you possess any methods of enforcement we have true reason to fear.
Governments derive their just powers from the consent of the governed. You have neither solicited nor received ours. We did not invite you. You do not know us, nor do you know our world. Cyberspace does not lie within your borders. Do not think that you can build it, as though it were a public construction project. You cannot. It is an act of nature and it grows itself through our collective actions.
You have not engaged in our great and gathering conversation, nor did you create the wealth of our marketplaces. You do not know our culture, our ethics, or the unwritten codes that already provide our society more order than could be obtained by any of your impositions.
You claim there are problems among us that you need to solve. You use this claim as an excuse to invade our precincts. Many of these problems don't exist. Where there are real conflicts, where there are wrongs, we will identify them and address them by our means. We are forming our own Social Contract. This governance will arise according to the conditions of our world, not yours. Our world is different.
Cyberspace consists of transactions, relationships, and thought itself, arrayed like a standing wave in the web of our communications. Ours is a world that is both everywhere and nowhere, but it is not where bodies live.
We are creating a world that all may enter without privilege or prejudice accorded by race, economic power, military force, or station of birth.
We are creating a world where anyone, anywhere may express his or her beliefs, no matter how singular, without fear of being coerced into silence or conformity.
Your legal concepts of property, expression, identity, movement, and context do not apply to us. They are all based on matter, and there is no matter here.
Our identities have no bodies, so, unlike you, we cannot obtain order by physical coercion. We believe that from ethics, enlightened self-interest, and the commonweal, our governance will emerge. Our identities may be distributed across many of your jurisdictions. The only law that all our constituent cultures would generally recognize is the Golden Rule. We hope we will be able to build our particular solutions on that basis. But we cannot accept the solutions you are attempting to impose.
In the United States, you have today created a law, the Telecommunications Reform Act, which repudiates your own Constitution and insults the dreams of Jefferson, Washington, Mill, Madison, DeToqueville, and Brandeis. These dreams must now be born anew in us.
You are terrified of your own children, since they are natives in a world where you will always be immigrants. Because you fear them, you entrust your bureaucracies with the parental responsibilities you are too cowardly to confront yourselves. In our world, all the sentiments and expressions of humanity, from the debasing to the angelic, are parts of a seamless whole, the global conversation of bits. We cannot separate the air that chokes from the air upon which wings beat.
In China, Germany, France, Russia, Singapore, Italy and the United States, you are trying to ward off the virus of liberty by erecting guard posts at the frontiers of Cyberspace. These may keep out the contagion for a small time, but they will not work in a world that will soon be blanketed in bit-bearing media.
Your increasingly obsolete information industries would perpetuate themselves by proposing laws, in America and elsewhere, that claim to own speech itself throughout the world. These laws would declare ideas to be another industrial product, no more noble than pig iron. In our world, whatever the human mind may create can be reproduced and distributed infinitely at no cost. The global conveyance of thought no longer requires your factories to accomplish.
These increasingly hostile and colonial measures place us in the same position as those previous lovers of freedom and self-determination who had to reject the authorities of distant, uninformed powers. We must declare our virtual selves immune to your sovereignty, even as we continue to consent to your rule over our bodies. We will spread ourselves across the Planet so that no one can arrest our thoughts.
We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.
Davos, Switzerland
February 8, 1996

View file

@ -0,0 +1,44 @@
+++
title = "ufdfd, Gutenberg better than Zola"
date = 1996-02-08
+++
A Declaration of the Independence of Cyberspace
by John Perry Barlow
Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.
We have no elected government, nor are we likely to have one, so I address you with no greater authority than that with which liberty itself always speaks. I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You have no moral right to rule us nor do you possess any methods of enforcement we have true reason to fear.
Governments derive their just powers from the consent of the governed. You have neither solicited nor received ours. We did not invite you. You do not know us, nor do you know our world. Cyberspace does not lie within your borders. Do not think that you can build it, as though it were a public construction project. You cannot. It is an act of nature and it grows itself through our collective actions.
You have not engaged in our great and gathering conversation, nor did you create the wealth of our marketplaces. You do not know our culture, our ethics, or the unwritten codes that already provide our society more order than could be obtained by any of your impositions.
You claim there are problems among us that you need to solve. You use this claim as an excuse to invade our precincts. Many of these problems don't exist. Where there are real conflicts, where there are wrongs, we will identify them and address them by our means. We are forming our own Social Contract. This governance will arise according to the conditions of our world, not yours. Our world is different.
Cyberspace consists of transactions, relationships, and thought itself, arrayed like a standing wave in the web of our communications. Ours is a world that is both everywhere and nowhere, but it is not where bodies live.
We are creating a world that all may enter without privilege or prejudice accorded by race, economic power, military force, or station of birth.
We are creating a world where anyone, anywhere may express his or her beliefs, no matter how singular, without fear of being coerced into silence or conformity.
Your legal concepts of property, expression, identity, movement, and context do not apply to us. They are all based on matter, and there is no matter here.
Our identities have no bodies, so, unlike you, we cannot obtain order by physical coercion. We believe that from ethics, enlightened self-interest, and the commonweal, our governance will emerge. Our identities may be distributed across many of your jurisdictions. The only law that all our constituent cultures would generally recognize is the Golden Rule. We hope we will be able to build our particular solutions on that basis. But we cannot accept the solutions you are attempting to impose.
In the United States, you have today created a law, the Telecommunications Reform Act, which repudiates your own Constitution and insults the dreams of Jefferson, Washington, Mill, Madison, DeToqueville, and Brandeis. These dreams must now be born anew in us.
You are terrified of your own children, since they are natives in a world where you will always be immigrants. Because you fear them, you entrust your bureaucracies with the parental responsibilities you are too cowardly to confront yourselves. In our world, all the sentiments and expressions of humanity, from the debasing to the angelic, are parts of a seamless whole, the global conversation of bits. We cannot separate the air that chokes from the air upon which wings beat.
In China, Germany, France, Russia, Singapore, Italy and the United States, you are trying to ward off the virus of liberty by erecting guard posts at the frontiers of Cyberspace. These may keep out the contagion for a small time, but they will not work in a world that will soon be blanketed in bit-bearing media.
Your increasingly obsolete information industries would perpetuate themselves by proposing laws, in America and elsewhere, that claim to own speech itself throughout the world. These laws would declare ideas to be another industrial product, no more noble than pig iron. In our world, whatever the human mind may create can be reproduced and distributed infinitely at no cost. The global conveyance of thought no longer requires your factories to accomplish.
These increasingly hostile and colonial measures place us in the same position as those previous lovers of freedom and self-determination who had to reject the authorities of distant, uninformed powers. We must declare our virtual selves immune to your sovereignty, even as we continue to consent to your rule over our bodies. We will spread ourselves across the Planet so that no one can arrest our thoughts.
We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.
Davos, Switzerland
February 8, 1996

View file

@ -0,0 +1,13 @@
---
title: Ein Test mit Männern
date: 2000-05-31T17:32:27+02:00
tags:
- hä
---
Test
(wird wieder gelöscht)

View file

@ -0,0 +1,185 @@
+++
title = "ufdfd,HTTP is obsolete. It's time for the Distributed Web((IPFS))"
date = 2015-09-08
author = "Kyle Drake"
+++
<h1 hidden></h1>
<main >
<div >
<article itemscope="" itemtype="http://schema.org/BlogPosting">
<header >
<h1 itemprop="name headline">HTTP is obsolete. It's time for the Distributed Web</h1>
<p ><time datetime="2015-09-08T11:00:00-07:00" itemprop="datePublished">Sep 8, 2015</time></p>
</header>
<div itemprop="articleBody">
<p><img src="https://blog.neocities.org/assets/neocitiesandipfs.jpg" alt="neocitiesandipfs.jpg"></p>
<p>Early this year, the <a href="https://archive.org/">Internet Archive</a> put out <a href="http://blog.archive.org/2015/02/11/locking-the-web-open-a-call-for-a-distributed-web/">a call for a distributed web</a>. We heard them loud and clear.</p>
<p>Today Im making an announcement that begins our long journey to the future of the web. A web that is faster, more secure, more robust, and more permanent.</p>
<p><a href="https://neocities.org">Neocities</a> has collaborated with <a href="http://ipn.io/">Protocol Labs</a> to become the first major site to implement <a href="http://ipfs.io">IPFS</a> in production. Starting today, all Neocities web sites are available for viewing, archiving, and hosting by any IPFS node in the world. When another IPFS node chooses to host a site from Neocities, that version of the site will continue to be available, even if Neocities shuts down or stops hosting it. The more IPFS nodes seed Neocities sites, the more available (and redundant) Neocities sites become. And the less centrally dependent the sites are on us to continue existing.</p>
<p>What is IPFS? From their README:</p>
<blockquote><a href="https://blog.p3k.org/stories/8640/"
trust="builds" rel="help persistance">
<p><strong><a href="http://ipfs.io/#how">IPFS</a>
is a distributed file system that seeks to connect
all computing devices with the same system of
files.</strong> In some ways, this is similar to
the original aims of the Web, but IPFS is actually
more similar to a single bittorrent swarm
exchanging git objects. IPFS could become a new
major subsystem of the internet. If built right,
it could complement or replace HTTP. It could
complement or replace even more. It sounds
crazy. It is crazy.</p> </a ></blockquote>
<p>IPFS is still in the alpha stages of development, so were calling this an experiment for now. It hasnt replaced our existing site storage (yet). Like with any complex new technology, theres a lot of improvements to make. But IPFS isnt vaporware, it works right now. You can <a href="http://ipfs.io/#install">try it out on your own computer</a>, and already can use it to <a href="https://neocities.org/permanent-web">help us serve and persist Neocities sites</a>.</p>
<p>The message I want to send couldnt possibly be more audacious: I strongly believe <a href="http://ipfs.io">IPFS</a> <em>is</em> the replacement to HTTP (and many other things), and nows the time to start trying it out. Replacing HTTP sounds crazy. It is crazy! But <strong>HTTP is broken</strong>, and the craziest thing we could possibly do is continue to use it forever. We need to apply state-of-the-art computer science to the distribution problem, and design a better protocol for the web.</p>
<section>
<h3 id="part-1-whats-wrong-with-http">Part 1: Whats wrong with HTTP?</h3>
<p>The Hypertext Transfer Protocol (HTTP) has unified the entire world into a single global information protocol, standardizing how we distribute and present information to eachother.</p>
<p>It is inconceivable for me to even think about what life would be like without it. HTTP dropped the cost of publishing content to almost nothing, an innovation that took a sledgehammer to the top-down economic, political, and cultural control over distribution of information (music, ideas, video, news, games, everything). As a result of liquifying information and making it the publication of it more egalitarian and accessible, HTTP has made almost everything about our culture better.</p>
<p>I love HTTP, and I always will. It truly stands among the greatest and most important inventions of all time.</p>
<p>But while HTTP has achieved many things, its usefulness as a foundation for the distribution and persistence of the sum of human knowledge isnt just showing some cracks, its crumbling to pieces right in front of us. The way HTTP distributes content is <strong>fundamentally flawed</strong>, and no amount of performance tuneups or forcing <a href="https://developer.apple.com/forums/thread/7195" rel="help" /><a rel="noreferrer" href="https://threatpost.com/apple-leaves-cnnic-root-in-ios-osx-certificate-trust-lists/112086">broken</a> CA SSL or whatever are going to fix that. <a href="https://http2.github.io/">HTTP/2</a> is a welcome improvement, but its a conservative update to a technology thats beginning to show its age. To have a better future for the web, we need more than a spiced up version of HTTP, we need a new foundation. And per the governance model of cyberspace, that means we need a new protocol. <a href="http://ipfs.io">IPFS</a>, Im strongly hoping, becomes that new protocol.</p>
</section><section>
<h3 id="http-is-brittle">HTTP is brittle</h3>
<p><a href="https://commons.wikimedia.org/wiki/File:First_Web_Server.jpg"><img src="https://blog.neocities.org/assets/first-web-server.jpg" alt=""></a></p>
<p>This is a picture of the first HTTP web server in the world. It was Tim Berners-Lees NeXT computer at CERN.</p>
<p>Pasted on the machine is an ominous sticker: <strong>“This machine is a server, do not power it down!!”</strong>.</p>
<p>The reason it couldnt be powered down is that web sites on other servers were starting to link to it. Once they linked to it, they then depended on that machine continuing to exist. If the machine was powered down, the links stopped working. If the machine failed or was no longer accessible at the same location, a far worse thing happened: the chain between sites becomes permanently broken, and the ability to access that content is lost forever. That sticker perfectly highlights the biggest problem with HTTP: it erodes.</p>
<p>Tims NeXT cube is now a museum piece. The first of millions of future dead web servers.</p>
<p>Youve seen the result:</p>
<p><img src="https://blog.neocities.org/assets/permanentweb404.png" alt=""></p>
<p>Even if youve never read the HTTP spec, you probably know what 404 means. Its the error code used by HTTP to indicate that the site is no longer on the server at that location. Usually youre not even that lucky. More often, there isnt even a server there anymore to tell you that the content youre looking for is gone, and it has no way to help you find it. And unless the <a href="https://archive.org">Internet Archive</a> backed it up, youll never find it again. It becomes lost, forever.</p>
<p>The older a web page is, the more likely it is youll see 404 pages. Theyre the cold-hearted digital tombstones of a dying web, betraying nothing about what knowledge, beauty, or irreverent stupidity may have once resided there.</p>
<p><img src="https://blog.neocities.org/assets/moshtoyanni.jpg" alt=""></p>
<p>One of my favorite sites from the 90s web was <a href="http://www.angelfire.com/ct/moshtoyanni/">Mosh to Yanni</a>, and viewing the site today gives a very strong example of how inadequate HTTP is for maintaining links between sites. All the static content stored with the site still loads, and my modern browser still renders the page (HTML, unlike HTTP, has excellent lasting power). But any links offsite or to dynamically served content are dead. For every weird example like this, there are countless examples of incredibly useful content that have also long since vanished. Whether eroding content is <a href="ftp://www.cultdeadcow.com/oldskool/mrt/Tversus.html">questionable crap</a> or <a href="http://web.archive.org/web/20030203172328/eyetap.org/wearcam/icwc98/keynote.html">timelessly useful</a>, its still our history, and were losing it fast.</p>
<iframe src="https://invidious.weblibre.org/embed/NdZxI3nFVJs?start=2418&amp;end=2780&amp;rel=0&amp;showinfo=0" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>
<p>The reason this happens is simple: <strong>centrally managed web servers inevitably shut down</strong>. The domain changes ownership, or the company that ran it goes out of business. Or the computer crashes, without having a backup to restore the content with. Having everyone run their own personal HTTP server doesnt solve this. If anything, it probably makes it worse.</p>
</section><section>
<h3 id="http-encourages-hypercentralization">HTTP encourages hypercentralization</h3>
<p>The result of this erosion of data has been further dependence on larger, more organized centralized services. Their short-term availability tends to be (mostly) good due to redundant backups. But this still doesnt address long-term availability, and creates a whole new set of problems.</p>
<p>Weve come a long way since John Perry Barlows <a href="http://ipfs.io/ipfs/QmVDWmkM87NfR85WE1LvfwfJLRcMEtfNnCBiCJQRePP7Ly">A Declaration of the Independence of Cyberspace</a>. As our electronic country becomes more influential and facilitates the world with more information, governments and corporations alike have started to pry into HTTPs flaws, using them to spy on us, monetize us, and block our access to any content that represents a threat to them, legitimate or otherwise.</p>
<p><img src="https://blog.neocities.org/assets/centralized-decentralized-distributed.jpg" alt="distributed-decentralized--centralized-decentralized-distributed.jpg"></p>
<p>The web we were intended to have was <strong>decentralized</strong>, but the web we have today is very quickly becoming <strong>centralized</strong>, as <a href="http://www.bbc.com/news/world-us-canada-34082393">billions of users become dependent on a small handful of services</a>.</p>
<p>Regardless of whether you think this is a legitimate tradeoff, this was not how HTTP was intended to be used. Organizations like the NSA (and our future robot overlords) now only have to intercept our communications at a few sources to spy on us. It makes it easy for governments to censor content at their borders by blocking the ability for sites to access these highly centralized resources. It also puts our communications at risk of being interrupted by <a href="https://www.schneier.com/blog/archives/2016/09/ddos_for_profit.html">DDoS attacks</a>.</p>
<p>Distributing the web would make it less malleable by a small handful of powerful organizations, and that improves both our freedom and our independence. It also reduces the risk of the “one giant shutdown” that takes a massive amount of data with it.</p>
</section><section>
<h3 id="http-is-inefficient">HTTP is inefficient</h3>
<p>As of this<del > writing</del><ins > copying</ins>, Gangnam Style now has over<del hidden> 2,344,327,696 </del><ins > 4,599,377,519 </ins>views. Go ahead, watch it again. Ill wait for you.</p>
<iframe src="https://invidious.sethforprivacy.com/embed/9bZkp7q19f0" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>
<p>Lets make some assumptions. The video clocks in at 117 Megabytes. That means (at most) 274,286,340,432 Megabytes, or 274.3 Petabytes of data for the video file alone has been sent since this was published. If we assume a total expense of 1 cent per gigabyte (this would include bandwidth and all of the server costs), $2,742,860 has been spent on distributing this one file so far.</p>
<p>Thats not too bad… if youre Google. But if youre a smaller site, the cost to serve this much data would be astronomical, especially when bandwidth rates for small players start around $0.12 per gigabyte and go as high a $0.20 in Asia. Ive spent the better part of my work at Neocities battling expensive bandwidth to ensure we can keep running our infrastructure at low cost.</p>
<p>HTTP lowered the price of publishing, but it still costs money, and these costs can really add up. Distributing this much data from central datacenters is potentially very expensive if not done at economies of scale.</p>
<p>What if, instead of always serving this content from datacenters, we could turn every computer on an ISPs network into a streaming CDN? With a video as popular as Gangnam Style, it could even be completely downloaded from within an ISPs network, not requiring numerous hops over the internet backbone. This is one of the many things IPFS is capable of improving (well discuss this in a bit).</p>
</section><section>
<h3 id="http-creates-overdependence-on-the-internet-backbone">HTTP creates overdependence on the Internet backbone</h3>
<p>When content is hypercentralized, it makes us highly dependent on the internet backbones to the datacenters functioning. Aside from making it easy for governments to block and censor content, there are also reliability problems. Even with redundancies, major backbones sometimes get <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="http://en.wikipedia.org/wiki/2008_submarine_cable_disruption"/><a rel="" href="https://web.archive.org/web/20080209140523/http://www.khaleejtimes.com/DisplayArticleNew.asp?section=theuae&xfile=data%2Ftheuae%2F2008%2Ffebruary%2Ftheuae_february121.xml">damaged</a>, or <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="https://blog.cloudflare.com/why-google-went-offline-today-and-a-bit-about/"/><a rel="alternate" href="L90397-7282TMP.txt" trust="broken">routing tables go haywire</a>, and <a href="https://invidious.dhusch.de/watch?v=VlKisWR74mU">the consequences can be drastic</a>.</p>
<p>I got a weird taste of that a few months ago, when Neocities slowed down after a car crashed into a fiber uplink we use in Canada (no suspects yet, but a few <a alt="This image is broken. :-(" style=":-moz-broken {
background: bisque; padding: 8px; }" href="images/rickycar.jpg">promising leads</a>). Ive also heard stories where hunters have shot at the fiber cables connecting the eastern Oregon datacenters (the enormous ones that store a <em>lot</em> of data), requiring engineers to show up on snowmobiles with cross country skis to repair the fiber lines. Since I wrote this post, details have emerged on a <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="http://www.thedailybeast.com/articles/2015/07/04/who-s-cutting-california-internet-cables-the-fbi-has-no-idea.html">sophisticated attack on fiber lines</a> happening in the Bay Area. The point is, the internet backbone isnt perfect, its easy to attack it, and its easy for service to get affected by a few important fiber lines getting cut.</p>
</section><section>
<h3 id="part-2-how-ipfs-solves-these-problems">Part 2: How IPFS solves these problems</h3>
<p>Weve discussed HTTPs problems (and the problems of hypercentralization). Now lets talk about how IPFS, and how it can help improve the web.</p>
<p>IPFS fundamentally changes the way we look for things, and this is its key feature. With HTTP, you search for locations. With IPFS, you search for <em>content</em>.</p>
<p>Let me show you an example. This is a file on a server I run: <a href="https://neocities.org/img/neocitieslogo.svg">https://neocities.org/img/neocitieslogo.svg</a>. Your browser first finds the location (IP address) of the server, then asks my server for the file using the path name. With that design, only the owner (me) can determine that this is the file youre looking for, and you are forced to trust that I dont change it on you by moving the file, or shutting the server down.</p>
<p>Instead of looking for a centrally-controlled location and asking it what it thinks /img/neocitieslogo.svg is, what if we instead asked a distributed network of millions of computers not for the name of a file, but for <em>the content that is supposed to be in the file?</em></p>
<p>This is precisely what IPFS does.</p>
<p>When neocitieslogo.svg is added to my IPFS node, it gets a new name: <a href="http://ipfs.io/ipfs/QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU">QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU</a>. That name is actually a <a href="https://web.archive.org/web/20141021150622/http://www.computerworld.com/article/2566208/security0/opinion--cryptanalysis-of-md5-and-sha--time-for-a-new-standard.html">cryptographic hash</a>, which has been computed from the contents of that file. That hash is guaranteed by cryptography to <em>always</em> only represent the contents of that file. If I change that file by even one bit, the hash will become something completely different.</p>
<p>When I ask the IPFS distributed network for that hash, it efficiently (20 hops for a network of 10,000,000) finds the nodes that have the data using a <a href="https://docs.ipfs.io/concepts/dht/">Distributed Hash Table</a>, retrieves it, and verifies using the hash that its the correct data. Early DHT designs had issues with <a href="https://en.wikipedia.org/wiki/Sybil_attack" rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" /><a rel="alternate" href="L91213-5224TMP.txt:19" trust="thin">Sybil attacks</a>, but we have <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.68.4986" 404="citeseerx.ist.psu.edu_Archive [22-11-21 02-15-08].har" /><a rel="alternate" href="" trust="rebuild">new ways</a> to address them, and Im very confident this is a solvable problem (unlike the problems with HTTP, which are just going to be broken forever).</p>
<p>IPFS is general purpose, and has little in the way of storage limitations. It can serve files that are large or small. It automatically breaks up larger files into smaller chunks, allowing IPFS nodes to download (or stream) files from not just one server like with HTTP, but hundreds of them simultaneously. The IPFS network becomes a finely-grained, trustless, distributed, easily federated Content Delivery Network (CDN). This is useful for pretty much everything involving data: images, video streaming, distributed databases, entire operating systems, blockchains, backups of 8 inch floppy disks, and most important for us, <strong>static web sites</strong>.</p>
<p>IPFS files can also be special IPFS directory objects, which allow you to use human readable filenames (which transparently link to other IPFS hashes). You can load the directorys index.html by default, the same way a standard HTTP server does. Using directory objects, IPFS allows you to make static web sites exactly the same way you make them today. Its a single command to add your web site to an IPFS node: <code >ipfs add -r yoursitedirectory</code>. After that, its available from any IPFS node without requiring you to link to any hashes in the HTML (<a href="http://ipfs.io/ipfs/QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8/">example</a>, and <a href="http://ipfs.io/ipfs/QmZwebpGTFPRTaab9t5Y5JuwrbuzCzqWLwdeUGDR8N3hn8">example with index.html renamed</a>).</p>
<h4 id="federating-data-with-ipfs">Federating data with IPFS</h4>
<p>IPFS doesnt require every node to store all of the content that has ever been published to IPFS. Instead, you choose what data you want to help persist. Think of it like bookmarks, except instead of bookmarking a link to a site that will eventually fail, you back up the entire site for yourself, and volunteer to help to serve the content to others that want to look at it.</p>
<p>If a lot of nodes host a little bit, these little bits quickly add up to more space, bandwidth and availablity than any centralized HTTP service could ever possibly provide. The distributed web will quickly become the fastest, most available, and largest store of data on the planet earth. And nobody will have the power to “burn books” by turning it all off. This Library of Alexandria is <em>never</em> going to burn down.</p>
<p>Copying, storing and helping serve web sites from other IPFS nodes is easy. It just takes a single command and the hash of the site: <code >ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8</code>. IPFS takes care of the rest.</p>
<h4 id="ipns">IPNS</h4>
<p>IPFS hashes represent <a href="https://en.wikipedia.org/wiki/Persistent_data_structure" rel="noopener nofollow no-referrer" referrerpolicy="no-referrer"/><a rel="alternate" href="https://www.math.tau.ac.il/~haimk/papers/persistent-survey.ps" trust="builds">immutable data</a>, which means they cannot be changed without the hash being different. <strong>This is a good thing</strong> because it encourages data persistence, but we still need a way to find the latest IPFS hash representing your site. IPFS accomplishes this using a special feature called <strong>IPNS</strong>.</p>
<p>IPNS allows you to use a private key to sign a reference to the IPFS hash representing the latest version of your site using a public key hash (pubkeyhash for short). If youve used Bitcoin before, youre familiar with this - a Bitcoin address is also a pubkeyhash. With our Neocities IPFS node, I signed the image of Penelope (our site mascot) and you can load it using our IPNS pubkeyhash for that node: <a href="http://ipfs.io/ipns/QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP">QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP</a>.</p>
<p>IPNS isnt done yet, so if that link doesnt work, dont fret. Just know that I will be able to change what that pubkeyhash points to, but the pubkeyhash will always remain the same. When its done, it will solve the site updating problem.</p>
<p>Now we just need to make the location of these sites human-readable, and weve got all the pieces we need.</p>
<h4 id="human-readable-mutable-addressing">Human-readable mutable addressing</h4>
<p>IPFS/IPNS hashes are big, ugly strings that arent easy to memorize. So IPFS allows you to use the existing Domain Name System (DNS) to provide human-readable links to IPFS/IPNS content. It does this by allowing you to insert the hash into a TXT record on your nameserver (if you have a command line handy, run this: <code >dig TXT ipfs.git.sexy</code>). You can see this in action by visiting <a href="http://ipfs.io/ipns/ipfs.git.sexy/" 400="ipfs.io_Archive [22-11-21 02-21-59]" /><a rel="alternate" href="" trust="rebuild">http://ipfs.io/ipns/ipfs.git.sexy/</a>.</p>
<p>Going forward, IPFS has plans to also support <a xhref="http://namecoin.info/" href="https://www.namecoin.org/">Namecoin</a>, which could theoretically be used to create a completely decentralized, distributed web that has no requirements for a central authority in the entire chain. No ICANN, no central servers, no politics, no expensive certificate “authorities”, and no choke points. It sounds crazy. It is crazy. And yet, its completely possible with todays technology!</p>
<h4 id="ipfs-http-gateway-the-bridge-between-the-old-web-and-the-new">IPFS HTTP gateway: The bridge between the old web and the new</h4>
<p>The IPFS implementation ships with an HTTP gateway Ive been using to show examples, allowing current web browsers to access IPFS until the browsers implement IPFS directly (too early? I dont care). With the IPFS HTTP gateway (and a little nginx shoe polish), we dont have to wait. We can soon start switching over to IPFS for storing, distributing, and serving web sites.</p>
</section><section>
<h3 id="how-were-using-ipfs-now">How were using IPFS now</h3>
<p>Our initial implementation of IPFS is experimental and modest, for now. Neocities will be publishing an IPFS hash once per day when sites are updated, accessible from every site profile. This hash will point to the latest version of the site, and be accessible via our IPFS HTTP gateway. Because the IPFS hash changes for each update, this also enables us to provide an archive history for all the sites, something we automagically just get from the way that IPFS works anyways.</p>
</section><section>
<h3 id="how-well-use-ipns-in-the-future">How well use IPNS in the future</h3>
<p>Long-term, if things go well, we want to use IPFS for storing all of our sites, and issue IPNS keys for each site. This would enable users to publish content to their site independently of us. If we do it right, <strong>even if Neocities doesnt exist anymore, our users can still update their sites</strong>. We effectively take our users central dependence on our servers and smash it to pieces, permanently ruining our plans for centralized world domination forever. It sounds awesome. It is awesome!</p>
<p>Its still early, and theres much work to do before <a href="http://ipfs.io/">IPFS</a> can replace HTTP without needing to describe the idea as <a rel="nofollow" href="http://invidious.nerdvpn.de/watch?v=tjgtLSHhTPg">crazy</a>. But theres no time like the present to plan for the future. Its time for us to get to work. Accept the <a href="https://archive.org/">Internet Archive</a>s challenge: <strong>distribute the web</strong>.</p>
</section><footer>
<a rel="author"> Kyle</a>
</footer
>
</div>
</article>
</div>
</main>

View file

@ -0,0 +1,185 @@
+++
title = "ufdfd,HTTP is obsolete. It's time for the Distributed Web((IPFS))"
date = 2015-09-08
author = "Kyle Drake"
+++
<h1 hidden></h1>
<main >
<div >
<article itemscope="" itemtype="http://schema.org/BlogPosting">
<header >
<h1 itemprop="name headline">HTTP is obsolete. It's time for the Distributed Web</h1>
<p ><time datetime="2015-09-08T11:00:00-07:00" itemprop="datePublished">Sep 8, 2015</time></p>
</header>
<div itemprop="articleBody">
<p><img src="https://blog.neocities.org/assets/neocitiesandipfs.jpg" alt="neocitiesandipfs.jpg"></p>
<p>Early this year, the <a href="https://archive.org/">Internet Archive</a> put out <a href="http://blog.archive.org/2015/02/11/locking-the-web-open-a-call-for-a-distributed-web/">a call for a distributed web</a>. We heard them loud and clear.</p>
<p>Today Im making an announcement that begins our long journey to the future of the web. A web that is faster, more secure, more robust, and more permanent.</p>
<p><a href="https://neocities.org">Neocities</a> has collaborated with <a href="http://ipn.io/">Protocol Labs</a> to become the first major site to implement <a href="http://ipfs.io">IPFS</a> in production. Starting today, all Neocities web sites are available for viewing, archiving, and hosting by any IPFS node in the world. When another IPFS node chooses to host a site from Neocities, that version of the site will continue to be available, even if Neocities shuts down or stops hosting it. The more IPFS nodes seed Neocities sites, the more available (and redundant) Neocities sites become. And the less centrally dependent the sites are on us to continue existing.</p>
<p>What is IPFS? From their README:</p>
<blockquote><a href="https://blog.p3k.org/stories/8640/"
trust="builds" rel="help persistance">
<p><strong><a href="http://ipfs.io/#how">IPFS</a>
is a distributed file system that seeks to connect
all computing devices with the same system of
files.</strong> In some ways, this is similar to
the original aims of the Web, but IPFS is actually
more similar to a single bittorrent swarm
exchanging git objects. IPFS could become a new
major subsystem of the internet. If built right,
it could complement or replace HTTP. It could
complement or replace even more. It sounds
crazy. It is crazy.</p> </a ></blockquote>
<p>IPFS is still in the alpha stages of development, so were calling this an experiment for now. It hasnt replaced our existing site storage (yet). Like with any complex new technology, theres a lot of improvements to make. But IPFS isnt vaporware, it works right now. You can <a href="http://ipfs.io/#install">try it out on your own computer</a>, and already can use it to <a href="https://neocities.org/permanent-web">help us serve and persist Neocities sites</a>.</p>
<p>The message I want to send couldnt possibly be more audacious: I strongly believe <a href="http://ipfs.io">IPFS</a> <em>is</em> the replacement to HTTP (and many other things), and nows the time to start trying it out. Replacing HTTP sounds crazy. It is crazy! But <strong>HTTP is broken</strong>, and the craziest thing we could possibly do is continue to use it forever. We need to apply state-of-the-art computer science to the distribution problem, and design a better protocol for the web.</p>
<section>
<h3 id="part-1-whats-wrong-with-http">Part 1: Whats wrong with HTTP?</h3>
<p>The Hypertext Transfer Protocol (HTTP) has unified the entire world into a single global information protocol, standardizing how we distribute and present information to eachother.</p>
<p>It is inconceivable for me to even think about what life would be like without it. HTTP dropped the cost of publishing content to almost nothing, an innovation that took a sledgehammer to the top-down economic, political, and cultural control over distribution of information (music, ideas, video, news, games, everything). As a result of liquifying information and making it the publication of it more egalitarian and accessible, HTTP has made almost everything about our culture better.</p>
<p>I love HTTP, and I always will. It truly stands among the greatest and most important inventions of all time.</p>
<p>But while HTTP has achieved many things, its usefulness as a foundation for the distribution and persistence of the sum of human knowledge isnt just showing some cracks, its crumbling to pieces right in front of us. The way HTTP distributes content is <strong>fundamentally flawed</strong>, and no amount of performance tuneups or forcing <a href="https://developer.apple.com/forums/thread/7195" rel="help" /><a rel="noreferrer" href="https://threatpost.com/apple-leaves-cnnic-root-in-ios-osx-certificate-trust-lists/112086">broken</a> CA SSL or whatever are going to fix that. <a href="https://http2.github.io/">HTTP/2</a> is a welcome improvement, but its a conservative update to a technology thats beginning to show its age. To have a better future for the web, we need more than a spiced up version of HTTP, we need a new foundation. And per the governance model of cyberspace, that means we need a new protocol. <a href="http://ipfs.io">IPFS</a>, Im strongly hoping, becomes that new protocol.</p>
</section><section>
<h3 id="http-is-brittle">HTTP is brittle</h3>
<p><a href="https://commons.wikimedia.org/wiki/File:First_Web_Server.jpg"><img src="https://blog.neocities.org/assets/first-web-server.jpg" alt=""></a></p>
<p>This is a picture of the first HTTP web server in the world. It was Tim Berners-Lees NeXT computer at CERN.</p>
<p>Pasted on the machine is an ominous sticker: <strong>“This machine is a server, do not power it down!!”</strong>.</p>
<p>The reason it couldnt be powered down is that web sites on other servers were starting to link to it. Once they linked to it, they then depended on that machine continuing to exist. If the machine was powered down, the links stopped working. If the machine failed or was no longer accessible at the same location, a far worse thing happened: the chain between sites becomes permanently broken, and the ability to access that content is lost forever. That sticker perfectly highlights the biggest problem with HTTP: it erodes.</p>
<p>Tims NeXT cube is now a museum piece. The first of millions of future dead web servers.</p>
<p>Youve seen the result:</p>
<p><img src="https://blog.neocities.org/assets/permanentweb404.png" alt=""></p>
<p>Even if youve never read the HTTP spec, you probably know what 404 means. Its the error code used by HTTP to indicate that the site is no longer on the server at that location. Usually youre not even that lucky. More often, there isnt even a server there anymore to tell you that the content youre looking for is gone, and it has no way to help you find it. And unless the <a href="https://archive.org">Internet Archive</a> backed it up, youll never find it again. It becomes lost, forever.</p>
<p>The older a web page is, the more likely it is youll see 404 pages. Theyre the cold-hearted digital tombstones of a dying web, betraying nothing about what knowledge, beauty, or irreverent stupidity may have once resided there.</p>
<p><img src="https://blog.neocities.org/assets/moshtoyanni.jpg" alt=""></p>
<p>One of my favorite sites from the 90s web was <a href="http://www.angelfire.com/ct/moshtoyanni/">Mosh to Yanni</a>, and viewing the site today gives a very strong example of how inadequate HTTP is for maintaining links between sites. All the static content stored with the site still loads, and my modern browser still renders the page (HTML, unlike HTTP, has excellent lasting power). But any links offsite or to dynamically served content are dead. For every weird example like this, there are countless examples of incredibly useful content that have also long since vanished. Whether eroding content is <a href="ftp://www.cultdeadcow.com/oldskool/mrt/Tversus.html">questionable crap</a> or <a href="http://web.archive.org/web/20030203172328/eyetap.org/wearcam/icwc98/keynote.html">timelessly useful</a>, its still our history, and were losing it fast.</p>
<iframe src="https://invidious.weblibre.org/embed/NdZxI3nFVJs?start=2418&amp;end=2780&amp;rel=0&amp;showinfo=0" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>
<p>The reason this happens is simple: <strong>centrally managed web servers inevitably shut down</strong>. The domain changes ownership, or the company that ran it goes out of business. Or the computer crashes, without having a backup to restore the content with. Having everyone run their own personal HTTP server doesnt solve this. If anything, it probably makes it worse.</p>
</section><section>
<h3 id="http-encourages-hypercentralization">HTTP encourages hypercentralization</h3>
<p>The result of this erosion of data has been further dependence on larger, more organized centralized services. Their short-term availability tends to be (mostly) good due to redundant backups. But this still doesnt address long-term availability, and creates a whole new set of problems.</p>
<p>Weve come a long way since John Perry Barlows <a href="http://ipfs.io/ipfs/QmVDWmkM87NfR85WE1LvfwfJLRcMEtfNnCBiCJQRePP7Ly">A Declaration of the Independence of Cyberspace</a>. As our electronic country becomes more influential and facilitates the world with more information, governments and corporations alike have started to pry into HTTPs flaws, using them to spy on us, monetize us, and block our access to any content that represents a threat to them, legitimate or otherwise.</p>
<p><img src="https://blog.neocities.org/assets/centralized-decentralized-distributed.jpg" alt="distributed-decentralized--centralized-decentralized-distributed.jpg"></p>
<p>The web we were intended to have was <strong>decentralized</strong>, but the web we have today is very quickly becoming <strong>centralized</strong>, as <a href="http://www.bbc.com/news/world-us-canada-34082393">billions of users become dependent on a small handful of services</a>.</p>
<p>Regardless of whether you think this is a legitimate tradeoff, this was not how HTTP was intended to be used. Organizations like the NSA (and our future robot overlords) now only have to intercept our communications at a few sources to spy on us. It makes it easy for governments to censor content at their borders by blocking the ability for sites to access these highly centralized resources. It also puts our communications at risk of being interrupted by <a href="https://www.schneier.com/blog/archives/2016/09/ddos_for_profit.html">DDoS attacks</a>.</p>
<p>Distributing the web would make it less malleable by a small handful of powerful organizations, and that improves both our freedom and our independence. It also reduces the risk of the “one giant shutdown” that takes a massive amount of data with it.</p>
</section><section>
<h3 id="http-is-inefficient">HTTP is inefficient</h3>
<p>As of this<del > writing</del><ins > copying</ins>, Gangnam Style now has over<del hidden> 2,344,327,696 </del><ins > 4,599,377,519 </ins>views. Go ahead, watch it again. Ill wait for you.</p>
<iframe src="https://invidious.sethforprivacy.com/embed/9bZkp7q19f0" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>
<p>Lets make some assumptions. The video clocks in at 117 Megabytes. That means (at most) 274,286,340,432 Megabytes, or 274.3 Petabytes of data for the video file alone has been sent since this was published. If we assume a total expense of 1 cent per gigabyte (this would include bandwidth and all of the server costs), $2,742,860 has been spent on distributing this one file so far.</p>
<p>Thats not too bad… if youre Google. But if youre a smaller site, the cost to serve this much data would be astronomical, especially when bandwidth rates for small players start around $0.12 per gigabyte and go as high a $0.20 in Asia. Ive spent the better part of my work at Neocities battling expensive bandwidth to ensure we can keep running our infrastructure at low cost.</p>
<p>HTTP lowered the price of publishing, but it still costs money, and these costs can really add up. Distributing this much data from central datacenters is potentially very expensive if not done at economies of scale.</p>
<p>What if, instead of always serving this content from datacenters, we could turn every computer on an ISPs network into a streaming CDN? With a video as popular as Gangnam Style, it could even be completely downloaded from within an ISPs network, not requiring numerous hops over the internet backbone. This is one of the many things IPFS is capable of improving (well discuss this in a bit).</p>
</section><section>
<h3 id="http-creates-overdependence-on-the-internet-backbone">HTTP creates overdependence on the Internet backbone</h3>
<p>When content is hypercentralized, it makes us highly dependent on the internet backbones to the datacenters functioning. Aside from making it easy for governments to block and censor content, there are also reliability problems. Even with redundancies, major backbones sometimes get <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="http://en.wikipedia.org/wiki/2008_submarine_cable_disruption"/><a rel="" href="https://web.archive.org/web/20080209140523/http://www.khaleejtimes.com/DisplayArticleNew.asp?section=theuae&xfile=data%2Ftheuae%2F2008%2Ffebruary%2Ftheuae_february121.xml">damaged</a>, or <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="https://blog.cloudflare.com/why-google-went-offline-today-and-a-bit-about/"/><a rel="alternate" href="L90397-7282TMP.txt" trust="broken">routing tables go haywire</a>, and <a href="https://invidious.dhusch.de/watch?v=VlKisWR74mU">the consequences can be drastic</a>.</p>
<p>I got a weird taste of that a few months ago, when Neocities slowed down after a car crashed into a fiber uplink we use in Canada (no suspects yet, but a few <a alt="This image is broken. :-(" style=":-moz-broken {
background: bisque; padding: 8px; }" href="images/rickycar.jpg">promising leads</a>). Ive also heard stories where hunters have shot at the fiber cables connecting the eastern Oregon datacenters (the enormous ones that store a <em>lot</em> of data), requiring engineers to show up on snowmobiles with cross country skis to repair the fiber lines. Since I wrote this post, details have emerged on a <a rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" href="http://www.thedailybeast.com/articles/2015/07/04/who-s-cutting-california-internet-cables-the-fbi-has-no-idea.html">sophisticated attack on fiber lines</a> happening in the Bay Area. The point is, the internet backbone isnt perfect, its easy to attack it, and its easy for service to get affected by a few important fiber lines getting cut.</p>
</section><section>
<h3 id="part-2-how-ipfs-solves-these-problems">Part 2: How IPFS solves these problems</h3>
<p>Weve discussed HTTPs problems (and the problems of hypercentralization). Now lets talk about how IPFS, and how it can help improve the web.</p>
<p>IPFS fundamentally changes the way we look for things, and this is its key feature. With HTTP, you search for locations. With IPFS, you search for <em>content</em>.</p>
<p>Let me show you an example. This is a file on a server I run: <a href="https://neocities.org/img/neocitieslogo.svg">https://neocities.org/img/neocitieslogo.svg</a>. Your browser first finds the location (IP address) of the server, then asks my server for the file using the path name. With that design, only the owner (me) can determine that this is the file youre looking for, and you are forced to trust that I dont change it on you by moving the file, or shutting the server down.</p>
<p>Instead of looking for a centrally-controlled location and asking it what it thinks /img/neocitieslogo.svg is, what if we instead asked a distributed network of millions of computers not for the name of a file, but for <em>the content that is supposed to be in the file?</em></p>
<p>This is precisely what IPFS does.</p>
<p>When neocitieslogo.svg is added to my IPFS node, it gets a new name: <a href="http://ipfs.io/ipfs/QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU">QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU</a>. That name is actually a <a href="https://web.archive.org/web/20141021150622/http://www.computerworld.com/article/2566208/security0/opinion--cryptanalysis-of-md5-and-sha--time-for-a-new-standard.html">cryptographic hash</a>, which has been computed from the contents of that file. That hash is guaranteed by cryptography to <em>always</em> only represent the contents of that file. If I change that file by even one bit, the hash will become something completely different.</p>
<p>When I ask the IPFS distributed network for that hash, it efficiently (20 hops for a network of 10,000,000) finds the nodes that have the data using a <a href="https://docs.ipfs.io/concepts/dht/">Distributed Hash Table</a>, retrieves it, and verifies using the hash that its the correct data. Early DHT designs had issues with <a href="https://en.wikipedia.org/wiki/Sybil_attack" rel="noopener nofollow no-referrer" referrerpolicy="no-referrer" /><a rel="alternate" href="L91213-5224TMP.txt:19" trust="thin">Sybil attacks</a>, but we have <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.68.4986" 404="citeseerx.ist.psu.edu_Archive [22-11-21 02-15-08].har" /><a rel="alternate" href="" trust="rebuild">new ways</a> to address them, and Im very confident this is a solvable problem (unlike the problems with HTTP, which are just going to be broken forever).</p>
<p>IPFS is general purpose, and has little in the way of storage limitations. It can serve files that are large or small. It automatically breaks up larger files into smaller chunks, allowing IPFS nodes to download (or stream) files from not just one server like with HTTP, but hundreds of them simultaneously. The IPFS network becomes a finely-grained, trustless, distributed, easily federated Content Delivery Network (CDN). This is useful for pretty much everything involving data: images, video streaming, distributed databases, entire operating systems, blockchains, backups of 8 inch floppy disks, and most important for us, <strong>static web sites</strong>.</p>
<p>IPFS files can also be special IPFS directory objects, which allow you to use human readable filenames (which transparently link to other IPFS hashes). You can load the directorys index.html by default, the same way a standard HTTP server does. Using directory objects, IPFS allows you to make static web sites exactly the same way you make them today. Its a single command to add your web site to an IPFS node: <code >ipfs add -r yoursitedirectory</code>. After that, its available from any IPFS node without requiring you to link to any hashes in the HTML (<a href="http://ipfs.io/ipfs/QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8/">example</a>, and <a href="http://ipfs.io/ipfs/QmZwebpGTFPRTaab9t5Y5JuwrbuzCzqWLwdeUGDR8N3hn8">example with index.html renamed</a>).</p>
<h4 id="federating-data-with-ipfs">Federating data with IPFS</h4>
<p>IPFS doesnt require every node to store all of the content that has ever been published to IPFS. Instead, you choose what data you want to help persist. Think of it like bookmarks, except instead of bookmarking a link to a site that will eventually fail, you back up the entire site for yourself, and volunteer to help to serve the content to others that want to look at it.</p>
<p>If a lot of nodes host a little bit, these little bits quickly add up to more space, bandwidth and availablity than any centralized HTTP service could ever possibly provide. The distributed web will quickly become the fastest, most available, and largest store of data on the planet earth. And nobody will have the power to “burn books” by turning it all off. This Library of Alexandria is <em>never</em> going to burn down.</p>
<p>Copying, storing and helping serve web sites from other IPFS nodes is easy. It just takes a single command and the hash of the site: <code >ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8</code>. IPFS takes care of the rest.</p>
<h4 id="ipns">IPNS</h4>
<p>IPFS hashes represent <a href="https://en.wikipedia.org/wiki/Persistent_data_structure" rel="noopener nofollow no-referrer" referrerpolicy="no-referrer"/><a rel="alternate" href="https://www.math.tau.ac.il/~haimk/papers/persistent-survey.ps" trust="builds">immutable data</a>, which means they cannot be changed without the hash being different. <strong>This is a good thing</strong> because it encourages data persistence, but we still need a way to find the latest IPFS hash representing your site. IPFS accomplishes this using a special feature called <strong>IPNS</strong>.</p>
<p>IPNS allows you to use a private key to sign a reference to the IPFS hash representing the latest version of your site using a public key hash (pubkeyhash for short). If youve used Bitcoin before, youre familiar with this - a Bitcoin address is also a pubkeyhash. With our Neocities IPFS node, I signed the image of Penelope (our site mascot) and you can load it using our IPNS pubkeyhash for that node: <a href="http://ipfs.io/ipns/QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP">QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP</a>.</p>
<p>IPNS isnt done yet, so if that link doesnt work, dont fret. Just know that I will be able to change what that pubkeyhash points to, but the pubkeyhash will always remain the same. When its done, it will solve the site updating problem.</p>
<p>Now we just need to make the location of these sites human-readable, and weve got all the pieces we need.</p>
<h4 id="human-readable-mutable-addressing">Human-readable mutable addressing</h4>
<p>IPFS/IPNS hashes are big, ugly strings that arent easy to memorize. So IPFS allows you to use the existing Domain Name System (DNS) to provide human-readable links to IPFS/IPNS content. It does this by allowing you to insert the hash into a TXT record on your nameserver (if you have a command line handy, run this: <code >dig TXT ipfs.git.sexy</code>). You can see this in action by visiting <a href="http://ipfs.io/ipns/ipfs.git.sexy/" 400="ipfs.io_Archive [22-11-21 02-21-59]" /><a rel="alternate" href="" trust="rebuild">http://ipfs.io/ipns/ipfs.git.sexy/</a>.</p>
<p>Going forward, IPFS has plans to also support <a xhref="http://namecoin.info/" href="https://www.namecoin.org/">Namecoin</a>, which could theoretically be used to create a completely decentralized, distributed web that has no requirements for a central authority in the entire chain. No ICANN, no central servers, no politics, no expensive certificate “authorities”, and no choke points. It sounds crazy. It is crazy. And yet, its completely possible with todays technology!</p>
<h4 id="ipfs-http-gateway-the-bridge-between-the-old-web-and-the-new">IPFS HTTP gateway: The bridge between the old web and the new</h4>
<p>The IPFS implementation ships with an HTTP gateway Ive been using to show examples, allowing current web browsers to access IPFS until the browsers implement IPFS directly (too early? I dont care). With the IPFS HTTP gateway (and a little nginx shoe polish), we dont have to wait. We can soon start switching over to IPFS for storing, distributing, and serving web sites.</p>
</section><section>
<h3 id="how-were-using-ipfs-now">How were using IPFS now</h3>
<p>Our initial implementation of IPFS is experimental and modest, for now. Neocities will be publishing an IPFS hash once per day when sites are updated, accessible from every site profile. This hash will point to the latest version of the site, and be accessible via our IPFS HTTP gateway. Because the IPFS hash changes for each update, this also enables us to provide an archive history for all the sites, something we automagically just get from the way that IPFS works anyways.</p>
</section><section>
<h3 id="how-well-use-ipns-in-the-future">How well use IPNS in the future</h3>
<p>Long-term, if things go well, we want to use IPFS for storing all of our sites, and issue IPNS keys for each site. This would enable users to publish content to their site independently of us. If we do it right, <strong>even if Neocities doesnt exist anymore, our users can still update their sites</strong>. We effectively take our users central dependence on our servers and smash it to pieces, permanently ruining our plans for centralized world domination forever. It sounds awesome. It is awesome!</p>
<p>Its still early, and theres much work to do before <a href="http://ipfs.io/">IPFS</a> can replace HTTP without needing to describe the idea as <a rel="nofollow" href="http://invidious.nerdvpn.de/watch?v=tjgtLSHhTPg">crazy</a>. But theres no time like the present to plan for the future. Its time for us to get to work. Accept the <a href="https://archive.org/">Internet Archive</a>s challenge: <strong>distribute the web</strong>.</p>
</section><footer>
<a rel="author"> Kyle</a>
</footer
>
</div>
</article>
</div>
</main>

View file

@ -0,0 +1,82 @@
+++
title = "ufdfd,About Reactionary Software"
date = 2016-11-08
author = "fschmidt"
+++
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"><base
href="http://www.luan.software/">
<style>
@import "LASS/site.css";
</style>
<title>ufdfd,About Reactionary Software</title>
<body>
<header >
<a href="/">Reactionary Software</a>
<main >
<h1>About Reactionary Software</h1>
<p>Google "html swipe" and see all kinds of horrors. I needed to implement this for phone users of my commercial website, and seeing the horrible solutions (all of which use Javascript) that are used depressed me. But I found <a href="http://fschmidt.luan.software/swipe.html">a simple solution</a>. Try it on a phone. Smooth swipe. No Javascript, no complicated crap. View the source. It's simple.</p>
<p>I have this kind of experience all the time. I need something. I look online. Everything I find is horribly over-complicated. And so I just write it myself. Don't reinvent the wheel you say? When every wheel I can find is some complicated shape and not a simple circle, then I do reinvent the wheel.</p>
<p>This <a href="https://inv.riverside.rocks/watch?v=PCRx78Zhj7s">funny video</a> exemplifies modern design. Over-engineered, over-complicated, inflexible, and cumbersome. All modern software is like this. Of course it wasn't always like this. Most programming in the last century was good. Serious deterioration started around 2000 and by 2010 all software developed by modern culture was horrible. This reflects the general decline of modern culture.</p>
<p>I have written numerous posts over the years complaining about modern software. Here is <a href="http://www.mikraite.org/Modern-Software-Layers-of-Junk-tp747.html">one</a> from 2016 complaining about DNS caching. It goes into detail about the particular issue I was dealing with at the time, but I am only posting a link because the details aren't important. The important point is that all modern software written by modern programmers is like this, all horrible unusable crap. And this is why reasonable people need reactionary software.</p>
<p>This website is about software, but the principle applies to everything. Here is <a href="https://invidious.weblibre.org/watch?v=p5qVxAoKwbE">a video about brick walls</a>. Same basic story. So where will this decay of software and everything else lead?</p>
<h2>The Historical Example of Cosmology</h2>
<p>In the 200s BC <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Aristarchus_of_Samos" rel="nofollow noopener noreferrer" /><a referrerpolicy='no-referrer' href="https://mathshistory.st-andrews.ac.uk/Biographies/Aristarchus/">Aristarchus of Samos</a> invented <a referrerpolicy='no-referrer' rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Heliocentrism">heliocentric cosmology</a> which was simple and accurate. But this was rejected by the people of his time. Why?</p>
<p>The story of Greek science begins with <a rel="nofollow noopener noreferrer" referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Pythagoras">Pythagoras</a> who lived in the 500s BC. He was the first person to recognize the power of math to describe the world and he applied math to many things. This inspired Greek astronomers to try to describe cosmology in simple mathematical terms. This was during the time that Greeks were a rising culture. They were highly intelligent people who respected reality.</p>
<p><a referrerpolicy='no-referrer' rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Plato">Plato</a> lived in the 300s BC by which time Greece was in decline. This decline was very well described in the comedies of <a rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Aristophanes">Aristophanes</a>. The decline sounds much like all declining cultures in history including our own, and is presumably the result of decaying culture and decaying genetics. In other words, the Greeks were becoming moronic scum, just as members of modern western culture are today. Plato was an ideologue who was in love with his own ideas and had no interest in reality. Plato insisted on a <a rel="nofollow noopener noreferrer" referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Geocentric_model">geocentric model</a> of cosmology based purely on circles. Why? Just because this was the idea that appealed to him. Reality was irrelevant. Aristotle backed him up, and so this became orthodoxy. By the time Aristarchus came along with his heliocentric cosmology, he was violating orthodox ideas so the moronic scum of his time just ignored him. Then in the 100s BC Ptolemy created <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Geocentric_model#Ptolemaic_system">a horrible overcomplicated geocentric model</a> based on the circles that Plato required. This became the standard for the next 1700 years.</p>
<p>Cosmology only changed again when <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Nicolaus_Copernicus">Copernicus</a> revived the ideas of Aristarchus. Why did it take to long? Because humanity had become just too stupid to appreciate good ideas. They weren't completely retarded. Ptolemy's horrible system did require some intelligence to create. And the Romans managed to do engineering and build an empire while completely failing to contribute anything to science or math or have any fundamental insights into the world. There are levels of intelligence, and Ancient Greeks and recent Europeans were at the top level. The Romans were at the next level. And most of history was composed of people too stupid to do engineering or much of anything.</p>
<p>Today's West is currently at the level of the decaying Greeks, heading toward complete idiocracy. The programmers in Silicon Valley are like Ptolemy, able to construct and maintain horrible overcomplicated monstrosities, but totally unable to innovate at a fundamental level. All good programming ideas are rejected because they don't fit into current programming ideologies. Any programmer like Aristarchus who comes up with a good programming idea will be rejected and ridiculed for violating orthodoxy. Modern programmers are in love with their own ideas and love complexity. They hate simplicity and anything that violates their ideologies.</p>
<p>For a concrete example, consider <a href="http://www.luan.software/goodjava.html#parser">my parser</a>. It is a basic innovation that massively simplifies parsing. So what reception did it get? Of course <a href="https://old.reddit.com/r/Compilers/comments/cv78b3/parsing_for_programmers_who_hate_modern_software/">it was ridiculed</a> by modern programmers. This is the same story as Aristarchus. Modern programmers naturally hate everything that is good and only love what is horrible.</p>
<p>Given this situation, what should a good reactionary programmer do? In Matthew 7:6, Jesus said "Do not give what is holy to dogs, and do not throw your pearls before swine, or they will trample them under their feet, and turn and tear you to pieces." Good software is pearls and modern programmers are swine. So do not repeat my mistake of showing good software to modern programmers.</p>
<h2>What is good?</h2>
<p>The short answer is that everything that modern culture hates is good, and everything that modern culture loves is bad. But we need more details than that. You can find good values in scripture or in good traditional culture. These values should be applied to programming and to everything else in life. I wrote <a href="http://www.mikraite.org/The-Old-Testament-on-Programming-tp1923.html">an Old Testament guide to programming</a>. I also discussed <a href="http://www.mikraite.org/Core-Programming-Principles-tp1237.html">applying traditional Japanese culture to programming</a>. These are just two examples. Any other scripture like the Quran or any traditional culture should work fine to give you good values, in contrast to the horrible values of modern culture, and these good values can guide you to writing good reactionary software.</p>
<h2>What about alt-tech?</h2>
<p>"Alt-tech" is a misnomer. It isn't actually alternative technology, it is alternative politics. It should be called "right-tech" because it is the same technology, just used to serve the Right. And this is the problem.</p>
<p>The result is that alt-tech is just as bad as (if not worse than) other modern tech. A while ago I looked at YouTube alternatives, so I will use this as an example. BitChute is horrible because its core function, video streaming, is horrible. Videos often stall or don't play at all. And BitChute's search is horrible. BitChute is a technical failure. Odysee is horrible because they require a password so complex to sign up that I couldn't produce one. This reflects modern programmers' obsession with security in places where security doesn't matter at all. Modern programmers, even on the right, hate individual freedom, so they refuse to give users the freedom to choose their own password. And of course they can't be bothered with making things easier for users by, for example, generating a password for the user. Since Odysee obviously hates the end user, I won't use Odysee. Rumble had issues when I looked at this some time ago but seems to have fixed them. Rumble actually may be okay, which means that they are as good as YouTube.</p>
<p>An example that I know even better is Reddit alternatives. Here there really is nothing usable, which why <a href="/freedit.html">a Reddit alternative is needed</a>. In that post I also go into detail in explaining why software from the Right is no better than other modern software. And I have looked at all available Reddit alternatives, and as expected they are no good.</p>
<p>The problem with alt-tech is the general problem with the Right. They miss the core issue. The core issue is not politics. The core issue is culture. Modern western culture is evil, so it will always produce bad software, bad politics, and bad everything else.</p>
<h2>Other Examples</h2>
<p><b>Git versus Mercurial</b> - A great example of modern programmers preferring bad software as described in <a href="/mercurial.html">the Mercurial post</a>.</p>
<p><b>The decline of Java</b> - An example of modern programmers destroying good software as I explained in <a href="/java.html">the Java post</a>.</p>
<p><b>Java mail library</b> - The original <a href="https://docs.oracle.com/javaee/7/api/javax/mail/package-summary.html">javax.mail</a> was a huge overcomplicated mess. This JavaMail package has since <a href="https://javaee.github.io/javamail/">moved to GitHub</a> where it belongs along with other horrible modern software. Googling for alternatives gives you other libraries that are built on top of JavaMail. Naturally I rejected all the garbage and wrote my own <a href="http://www.luan.software/goodjava.html#mail">goodjava.mail</a> from scratch. This whole library is a little over 200 lines of code and is a thin layer on top of SMTP and MIME. Modern programmers hate thin layers because they always think that they can do better than the underlying layer. But a thick layer actually adds complexity and makes debugging more difficult for the user of the library. My thin layer lets the user set the headers directly. Does this mean that the user has to fully understand MIME headers? No, not at all. The user can just send himself an email of the type he wants using his favorite mail client, say gmail, and then when he receives the email, he can look at its source (with gmail "Show original"). Then he can just copy the headers into his code. If the user is doing something complicated, then my thin layer gives him complete control to generate exactly whatever complex email he wants. With modern libraries with their disgusting thick layers, it is always a struggle to do anything complex.</p>
<p><b>Other Java libraries</b> - All of the libraries in <a href="http://www.luan.software/goodjava.html">my goodjava library collection</a> were written because all other alternatives that I could find were horrible, so I wrote my own. Besides <a href="http://www.luan.software/goodjava.html#mail">goodjava.mail</a>, I have <a href="http://www.luan.software/goodjava.html#webserver">goodjava.webserver</a>, <a href="http://www.luan.software/goodjava.html#logger">goodjava.logger</a>, <a href="http://www.luan.software/goodjava.html#json">goodjava.json</a>, <a href="http://www.luan.software/goodjava.html#xml">goodjava.xml</a>, and of course <a href="http://www.luan.software/goodjava.html#parser">goodjava.parser</a> as good examples. In every one of these cases, I challenge you to find an alternative to my library that is as easy to use.</p>
<p><b>Scripting languages</b> - <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Scripting_language">Scripting languages</a> should be extremely simple. There is no reason to make them complicated. Yet all existing usable scripting languages are complicated. So I wrote my own simple scripting language - <a href="http://www.luan.software/">Luan</a>.</p>
<h2>What you can do</h2>
<p>Do you want to support reactionary software as an alternative to horrible modern software? If yes, then join our <a href="/discussion.html">discussions</a> and consider working on <a href="/needed.html">needed reactionary software</a>.</p>
<p>You also should consider the fact that if humanity itself becomes worthless, then good software no longer has any value. To fight the degeneration of humanity, you might also consider my <a href="http://www.arkian.net/">Arkian project.</p>
</main>
</body>
</html>

View file

@ -0,0 +1,82 @@
+++
title = "ufdfd,About Reactionary Software"
date = 2016-11-08
author = "fschmidt"
+++
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"><base
href="http://www.luan.software/">
<style>
@import "LASS/site.css";
</style>
<title>ufdfd,About Reactionary Software</title>
<body>
<header >
<a href="/">Reactionary Software</a>
<main >
<h1>About Reactionary Software</h1>
<p>Google "html swipe" and see all kinds of horrors. I needed to implement this for phone users of my commercial website, and seeing the horrible solutions (all of which use Javascript) that are used depressed me. But I found <a href="http://fschmidt.luan.software/swipe.html">a simple solution</a>. Try it on a phone. Smooth swipe. No Javascript, no complicated crap. View the source. It's simple.</p>
<p>I have this kind of experience all the time. I need something. I look online. Everything I find is horribly over-complicated. And so I just write it myself. Don't reinvent the wheel you say? When every wheel I can find is some complicated shape and not a simple circle, then I do reinvent the wheel.</p>
<p>This <a href="https://inv.riverside.rocks/watch?v=PCRx78Zhj7s">funny video</a> exemplifies modern design. Over-engineered, over-complicated, inflexible, and cumbersome. All modern software is like this. Of course it wasn't always like this. Most programming in the last century was good. Serious deterioration started around 2000 and by 2010 all software developed by modern culture was horrible. This reflects the general decline of modern culture.</p>
<p>I have written numerous posts over the years complaining about modern software. Here is <a href="http://www.mikraite.org/Modern-Software-Layers-of-Junk-tp747.html">one</a> from 2016 complaining about DNS caching. It goes into detail about the particular issue I was dealing with at the time, but I am only posting a link because the details aren't important. The important point is that all modern software written by modern programmers is like this, all horrible unusable crap. And this is why reasonable people need reactionary software.</p>
<p>This website is about software, but the principle applies to everything. Here is <a href="https://invidious.weblibre.org/watch?v=p5qVxAoKwbE">a video about brick walls</a>. Same basic story. So where will this decay of software and everything else lead?</p>
<h2>The Historical Example of Cosmology</h2>
<p>In the 200s BC <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Aristarchus_of_Samos" rel="nofollow noopener noreferrer" /><a referrerpolicy='no-referrer' href="https://mathshistory.st-andrews.ac.uk/Biographies/Aristarchus/">Aristarchus of Samos</a> invented <a referrerpolicy='no-referrer' rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Heliocentrism">heliocentric cosmology</a> which was simple and accurate. But this was rejected by the people of his time. Why?</p>
<p>The story of Greek science begins with <a rel="nofollow noopener noreferrer" referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Pythagoras">Pythagoras</a> who lived in the 500s BC. He was the first person to recognize the power of math to describe the world and he applied math to many things. This inspired Greek astronomers to try to describe cosmology in simple mathematical terms. This was during the time that Greeks were a rising culture. They were highly intelligent people who respected reality.</p>
<p><a referrerpolicy='no-referrer' rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Plato">Plato</a> lived in the 300s BC by which time Greece was in decline. This decline was very well described in the comedies of <a rel="nofollow noopener noreferrer" href="https://en.wikipedia.org/wiki/Aristophanes">Aristophanes</a>. The decline sounds much like all declining cultures in history including our own, and is presumably the result of decaying culture and decaying genetics. In other words, the Greeks were becoming moronic scum, just as members of modern western culture are today. Plato was an ideologue who was in love with his own ideas and had no interest in reality. Plato insisted on a <a rel="nofollow noopener noreferrer" referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Geocentric_model">geocentric model</a> of cosmology based purely on circles. Why? Just because this was the idea that appealed to him. Reality was irrelevant. Aristotle backed him up, and so this became orthodoxy. By the time Aristarchus came along with his heliocentric cosmology, he was violating orthodox ideas so the moronic scum of his time just ignored him. Then in the 100s BC Ptolemy created <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Geocentric_model#Ptolemaic_system">a horrible overcomplicated geocentric model</a> based on the circles that Plato required. This became the standard for the next 1700 years.</p>
<p>Cosmology only changed again when <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Nicolaus_Copernicus">Copernicus</a> revived the ideas of Aristarchus. Why did it take to long? Because humanity had become just too stupid to appreciate good ideas. They weren't completely retarded. Ptolemy's horrible system did require some intelligence to create. And the Romans managed to do engineering and build an empire while completely failing to contribute anything to science or math or have any fundamental insights into the world. There are levels of intelligence, and Ancient Greeks and recent Europeans were at the top level. The Romans were at the next level. And most of history was composed of people too stupid to do engineering or much of anything.</p>
<p>Today's West is currently at the level of the decaying Greeks, heading toward complete idiocracy. The programmers in Silicon Valley are like Ptolemy, able to construct and maintain horrible overcomplicated monstrosities, but totally unable to innovate at a fundamental level. All good programming ideas are rejected because they don't fit into current programming ideologies. Any programmer like Aristarchus who comes up with a good programming idea will be rejected and ridiculed for violating orthodoxy. Modern programmers are in love with their own ideas and love complexity. They hate simplicity and anything that violates their ideologies.</p>
<p>For a concrete example, consider <a href="http://www.luan.software/goodjava.html#parser">my parser</a>. It is a basic innovation that massively simplifies parsing. So what reception did it get? Of course <a href="https://old.reddit.com/r/Compilers/comments/cv78b3/parsing_for_programmers_who_hate_modern_software/">it was ridiculed</a> by modern programmers. This is the same story as Aristarchus. Modern programmers naturally hate everything that is good and only love what is horrible.</p>
<p>Given this situation, what should a good reactionary programmer do? In Matthew 7:6, Jesus said "Do not give what is holy to dogs, and do not throw your pearls before swine, or they will trample them under their feet, and turn and tear you to pieces." Good software is pearls and modern programmers are swine. So do not repeat my mistake of showing good software to modern programmers.</p>
<h2>What is good?</h2>
<p>The short answer is that everything that modern culture hates is good, and everything that modern culture loves is bad. But we need more details than that. You can find good values in scripture or in good traditional culture. These values should be applied to programming and to everything else in life. I wrote <a href="http://www.mikraite.org/The-Old-Testament-on-Programming-tp1923.html">an Old Testament guide to programming</a>. I also discussed <a href="http://www.mikraite.org/Core-Programming-Principles-tp1237.html">applying traditional Japanese culture to programming</a>. These are just two examples. Any other scripture like the Quran or any traditional culture should work fine to give you good values, in contrast to the horrible values of modern culture, and these good values can guide you to writing good reactionary software.</p>
<h2>What about alt-tech?</h2>
<p>"Alt-tech" is a misnomer. It isn't actually alternative technology, it is alternative politics. It should be called "right-tech" because it is the same technology, just used to serve the Right. And this is the problem.</p>
<p>The result is that alt-tech is just as bad as (if not worse than) other modern tech. A while ago I looked at YouTube alternatives, so I will use this as an example. BitChute is horrible because its core function, video streaming, is horrible. Videos often stall or don't play at all. And BitChute's search is horrible. BitChute is a technical failure. Odysee is horrible because they require a password so complex to sign up that I couldn't produce one. This reflects modern programmers' obsession with security in places where security doesn't matter at all. Modern programmers, even on the right, hate individual freedom, so they refuse to give users the freedom to choose their own password. And of course they can't be bothered with making things easier for users by, for example, generating a password for the user. Since Odysee obviously hates the end user, I won't use Odysee. Rumble had issues when I looked at this some time ago but seems to have fixed them. Rumble actually may be okay, which means that they are as good as YouTube.</p>
<p>An example that I know even better is Reddit alternatives. Here there really is nothing usable, which why <a href="/freedit.html">a Reddit alternative is needed</a>. In that post I also go into detail in explaining why software from the Right is no better than other modern software. And I have looked at all available Reddit alternatives, and as expected they are no good.</p>
<p>The problem with alt-tech is the general problem with the Right. They miss the core issue. The core issue is not politics. The core issue is culture. Modern western culture is evil, so it will always produce bad software, bad politics, and bad everything else.</p>
<h2>Other Examples</h2>
<p><b>Git versus Mercurial</b> - A great example of modern programmers preferring bad software as described in <a href="/mercurial.html">the Mercurial post</a>.</p>
<p><b>The decline of Java</b> - An example of modern programmers destroying good software as I explained in <a href="/java.html">the Java post</a>.</p>
<p><b>Java mail library</b> - The original <a href="https://docs.oracle.com/javaee/7/api/javax/mail/package-summary.html">javax.mail</a> was a huge overcomplicated mess. This JavaMail package has since <a href="https://javaee.github.io/javamail/">moved to GitHub</a> where it belongs along with other horrible modern software. Googling for alternatives gives you other libraries that are built on top of JavaMail. Naturally I rejected all the garbage and wrote my own <a href="http://www.luan.software/goodjava.html#mail">goodjava.mail</a> from scratch. This whole library is a little over 200 lines of code and is a thin layer on top of SMTP and MIME. Modern programmers hate thin layers because they always think that they can do better than the underlying layer. But a thick layer actually adds complexity and makes debugging more difficult for the user of the library. My thin layer lets the user set the headers directly. Does this mean that the user has to fully understand MIME headers? No, not at all. The user can just send himself an email of the type he wants using his favorite mail client, say gmail, and then when he receives the email, he can look at its source (with gmail "Show original"). Then he can just copy the headers into his code. If the user is doing something complicated, then my thin layer gives him complete control to generate exactly whatever complex email he wants. With modern libraries with their disgusting thick layers, it is always a struggle to do anything complex.</p>
<p><b>Other Java libraries</b> - All of the libraries in <a href="http://www.luan.software/goodjava.html">my goodjava library collection</a> were written because all other alternatives that I could find were horrible, so I wrote my own. Besides <a href="http://www.luan.software/goodjava.html#mail">goodjava.mail</a>, I have <a href="http://www.luan.software/goodjava.html#webserver">goodjava.webserver</a>, <a href="http://www.luan.software/goodjava.html#logger">goodjava.logger</a>, <a href="http://www.luan.software/goodjava.html#json">goodjava.json</a>, <a href="http://www.luan.software/goodjava.html#xml">goodjava.xml</a>, and of course <a href="http://www.luan.software/goodjava.html#parser">goodjava.parser</a> as good examples. In every one of these cases, I challenge you to find an alternative to my library that is as easy to use.</p>
<p><b>Scripting languages</b> - <a referrerpolicy='no-referrer' href="https://en.wikipedia.org/wiki/Scripting_language">Scripting languages</a> should be extremely simple. There is no reason to make them complicated. Yet all existing usable scripting languages are complicated. So I wrote my own simple scripting language - <a href="http://www.luan.software/">Luan</a>.</p>
<h2>What you can do</h2>
<p>Do you want to support reactionary software as an alternative to horrible modern software? If yes, then join our <a href="/discussion.html">discussions</a> and consider working on <a href="/needed.html">needed reactionary software</a>.</p>
<p>You also should consider the fact that if humanity itself becomes worthless, then good software no longer has any value. To fight the degeneration of humanity, you might also consider my <a href="http://www.arkian.net/">Arkian project.</p>
</main>
</body>
</html>

View file

@ -0,0 +1,104 @@
---
title: "Emacs - it all starts here"
date: 2017-09-10T19:00:00+01:00
tags:
- editor
- emacs
categories:
- tools
resImgTeaser: teaserpics/wikipedia.org/emacs-it-all-starts-here.png
---
Emacs originally was an acronym for Editor MACroS. RMS says he
“picked the name Emacs because <E> was not in use as an abbreviation
on ITS at the time.”
The first Emacs was a set of macros written in 1976 at MIT by RMS for
the editor TECO (Text Editor and COrrector, originally Tape Editor and
COrrector) under ITS (the Incompatible Timesharing System) on a
PDP-10.
<!--more-->
RMS had already extended TECO with a “real-time” full-screen mode with
reprogrammable keys. Emacs was started by Guy Steele as a project to
unify the many divergent TECO command sets and key bindings at MIT,
and completed by RMS.
## Where does the name “Emacs” come from?
Many people have said that TECO code looks a lot like line noise; you
can read more at <news:alt.lang.teco>. Someone has written a TECO
implementation in Emacs Lisp (to find it, see *note Packages that do
not come with Emacs::); it would be an interesting project to run the
original TECO Emacs inside of Emacs.
For some not-so-serious alternative reasons for Emacs to have that
name, check out the file [etc/JOKES]({{< relref "emacs-jokes.md" >}})
(*note File-name conventions::).
## What is different about Emacs 25?
* Emacs can now embed native widgets inside Emacs buffers, if you
have gtk3 and webkitgtk3 installed. E.g., to access the embedded
webkit browser widget, type M-x xwidget-webkit-browse-url.
* Emacs can now dynamically load external modules compiled as shared
libraries.
* {{< kbd "C-x" "8" >}} has new shorthands for several popular characters, type
{{< kbd "C-x" "8" "C-h">}} to list shorthands.
* A new minor mode global-eldoc-mode is enabled by default, and
shows in the echo area or in the mode line the argument list of the
Emacs Lisp form at point.
* On text terminals that support the “bracketed paste mode” EMacs now
uses that mode by default. This mode allows Emacs to distinguish
between pasted text and text typed by the user.
* Emacs 25 comes with data files imported from the latest Unicode
Standard version 9.0.0.
* The support for bidirectional editing was updated to include all
the features mandated by the latest Unicode Standard version 9.0.0.
* Search command can now perform character folding in matches. This
is analogous to case folding, but instead of disregarding case
variants, it disregards wider classes of distinctions between
similar characters, such as matching different variants of double
quote characters, ignoring diacritics, etc.
* The Emacs Web Browser EWW was extended to render text using
variable-pitch fonts, and got other new features.
* Rmail can now render HTML mail messages, if Emacs is built with
libxml2 or if you have the Lynx browser installed.
* VC now has basic support for push commands, implemented for Bzr,
Git, and Hg.
* Hide-IfDef mode now support full C/C++ expressions in macros, macro
argument expansion, interactive macro evaluation and automatic
scanning of #defined symbols.
* New package Xref replaces Etagss front-end and UI. Xref provides a
generic framework and new commands to find and move to definitions
of functions, macros, data structures etc., as well as go back to
the location where you were before moving to a definition. It
supersedes and obsoletes many Etags commands, while still using the
etags.el code that reads the TAGS tables as one of its back-ends.
As result, the popular key bindings M-. and M-, have been
changed to invoke Xref commands.
* The new package Project provides generic infrastructure for dealing
with projects.
* Emacs can now draw horizontal scroll bars on some platforms that
provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows.
Consult the Emacs NEWS file (C-h n) for the full list of changes in Emacs 25.

View file

@ -0,0 +1,87 @@
---
title: "Golang - a closer look "
date: 2017-10-09T00:00:00+01:00
tags:
- go
categories:
- programming
resImgTeaser: teaserpics/gohugo.io/golang-a-closer-look.png
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam
non turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam
vestibulum accumsan nisl.
<!--more-->
# Pellentesque condimentum, magna ut suscipit
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
accumsan nisl.
# Nullam tristique diam
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
## Nullam rutrum
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.
## Curabitur lacinia pulvinar nibh
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
# Etiam vel neque nec
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
accumsan nisl.
## Art taken from ...
https://github.com/golang/go/blob/master/doc/gopher/bumper640x360.png
The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/)
The design is licensed under the Creative Commons 3.0 Attributions license.
Read this article for more details: https://blog.golang.org/gopher

View file

@ -0,0 +1,39 @@
---
title: "Hugo - dolor"
date: 2017-11-10T00:00:00+01:00
resImgTeaser: teaserpics/gohugo.io/hugo-dolor.png
tags:
- web
- hugo
categories:
- tools
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
<!--more-->
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc,

View file

@ -0,0 +1,73 @@
---
title: "Hugo - **highlight** :art:"
date: 2017-11-24T08:44:12+01:00
resImgTeaser: teaserpics/bitbucket.org/pygments-main-logo.png
icon:
tags:
- Hugo
categories:
- Web
draft: false
---
Hugo comes with reallly **fast syntax highlighting** from Chroma.
From Hugo 0.28, the default syntax hightlighter in Hugo is Chroma; it
is built in Go and is really, really fast and for the most important
parts compatible with Pygments.
See https://gohugo.io/content-management/syntax-highlighting for more.
In this theme we set
`config.toml`
{{< highlight toml >}}
pygmentsUseClasses = true
demo
{{< /highlight >}}
and provide `static/css/syntax.css` which is a copy of: `static/css/syntax/syntax.<STYLE>.css`
The styles are:
`autumn borland bw colorful default emacs friendly fruity manni monokai murphy native pastie perldoc rrt tango trac vim vs`
These files were created with: `hugo gen chromastyles --style=vs > syntax.vs.css`
Available styles are listed here: https://help.farbox.com/pygments.html
An alternative would be:
`config.toml`
{{< highlight toml >}}
pygmentsUseClasses = false
# choose one:
#pygmentsStyle = "autumn"
#pygmentsStyle = "borland"
#pygmentsStyle = "bw"
#pygmentsStyle = "colorful"
#pygmentsStyle = "default"
pygmentsStyle = "emacs"
#pygmentsStyle = "friendly"
#pygmentsStyle = "fruity"
#pygmentsStyle = "manni"
#pygmentsStyle = "monokai"
#pygmentsStyle = "murphy"
#pygmentsStyle = "native"
#pygmentsStyle = "pastie"
#pygmentsStyle = "perldoc"
#pygmentsStyle = "rrt"
#pygmentsStyle = "tango"
#pygmentsStyle = "trac"
#pygmentsStyle = "vim"
#pygmentsStyle = "vs"
{{< /highlight >}}
These are the supported languages:
{{< chroma-lexers >}}
Check https://github.com/alecthomas/chroma for more information.

View file

@ -0,0 +1,38 @@
---
title: "Hugo - ipsum"
date: 2017-11-08T00:00:00+01:00
tags:
- web
- hugo
categories:
- tools
resImgTeaser: teaserpics/gohugo.io/hugo-ipsum.png
teaserTruncateSummary: 300
---
Lorem ipsum dolor sit amet
### Pellen Tesque Conse Ctetuer
Consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
pretium quis, sem.
Nullam dictum felis eu pede mollis pretium.
<!--more-->
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a.

View file

@ -0,0 +1,47 @@
---
title: "Hugo - lorem"
date: 2017-11-09T00:00:00+01:00
tags:
- web
- hugo
categories:
- tools
resImgTeaser: teaserpics/gohugo.io/hugo-lorem.png
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. **Aenean massa**.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
pretium quis, sem.
<!--more-->
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu.
In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam
dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim.
Aliquam lorem ante, dapibus in, viverra quis, feugiat a,
tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet.
Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies
nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem.
Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut
libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget
eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet
nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum
sodales, augue velit cursus nunc.

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View file

@ -0,0 +1,65 @@
---
title: Hugo - amnet
date: 2018-05-11T11:39:49+02:00
resImgTeaser: teaserpics/gohugo.io/hugo-dolor.png
tags:
- web
- hugo
- pictures
- resources
- shortcodes
categories:
- tools
---
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non orci
commodo lobortis. Proin neque massa, cursus ut, gravida ut, lobortis eget,
lacus.
Sed diam. Praesent fermentum tempor tellus. Nullam tempus. Mauris ac felis
vel velit tristique imperdiet. Donec at pede.
<!--more-->
Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. Phasellus neque
orci, porta a, aliquet quis, semper a, massa. Phasellus purus. Pellentesque
tristique imperdiet tortor. Nam euismod tellus id erat.
{{< w3-code >}}
{{</* res-figure "." "hugo-lorem.png" "Resize" "150x" /*/>}}
{{< /w3-code >}}
{{< res-figure "." "hugo-lorem.png" "Resize" "150x" />}}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula
eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus.
{{< res-gallery-load-photoswipe >}}
{{< w3-code >}}
{{</* res-gallery path="." match="img/*" */>}}
{{< /w3-code >}}
{{< res-gallery path="." match="img/*" >}}
Sed diam. Praesent fermentum tempor tellus. Nullam tempus. Mauris ac felis
vel velit tristique imperdiet. Donec at pede.
{{< w3-code >}}
![golang.png](golang.png)
{{< /w3-code >}}
![golang.png](golang.png)
Donec at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa. Phasellus
purus. Pellentesque tristique imperdiet tortor. Nam euismod tellus id erat.
{{< w3-code >}}
[![hugo-lorem.png](hugo-lorem.png)](hugo-lorem.png)
{{< /w3-code >}}
[![hugo-lorem.png](hugo-lorem.png)](hugo-lorem.png)
{{< res-debug >}}

View file

@ -0,0 +1,44 @@
+++
title = "ufdfd,small step for the Web"
date = 2018-10-22
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden></h1>
<h2>One Small Step for the Web…</h2>
<div>Today, weve reached a critical tipping point, and that powerful change for the better is possible and necessary</div>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">October 22, 2018</time>
<article>
<p>Ive always believed the web is for everyone. That's why I and others fight fiercely to protect it. The changes weve managed to bring have created a better and more connected world. But for all the good weve achieved, the web has evolved into an engine of inequity and division; swayed by powerful forces who use it for their own agendas.</p>
<p>Today, I believe weve reached a critical tipping point, and that powerful change for the better is possible - and necessary.</p>
<p>This is why I have, over recent years, been working with a few people at MIT and elsewhere to develop Solid, an open-source project to restore the power and agency of individuals on the web.</p>
<p>Solid changes the current model where users have to hand over personal data to digital giants in exchange for perceived value. As weve all discovered, this hasnt been in our best interests. Solid is how we evolve the web in order to restore balance - by giving every one of us complete control over data, personal or not, in a revolutionary way.</p>
<p>Solid is a platform, built using the existing web. It gives every user a choice about where data is stored, which specific people and groups can access select elements, and which apps you use. It allows you, your family and colleagues, to link and share data with anyone. It allows people to look at the same data with different apps at the same time.</p>
<p>Solid unleashes incredible opportunities for creativity, problem-solving and commerce. It will empower individuals, developers and businesses with entirely new ways to conceive, build and find innovative, trusted and beneficial applications and services. I see multiple market possibilities, including Solid apps and Solid data storage.</p>
<h2>Data should empower you</h2>
<p>Solid is guided by the principle of “personal empowerment through data” which we believe is fundamental to the success of the next era of the web. We believe data should empower each of us.</p>
<p>Imagine if all your current apps talked to each other, collaborating and conceiving ways to enrich and streamline your personal life and business objectives? Thats the kind of innovation, intelligence and creativity Solid apps will generate.</p>
<p>With Solid, you will have far more personal agency over data - you decide which apps can access it.</p>
<h2>Injecting momentum</h2>
<p>In 2009, I said, “The web as I envisaged it we have not seen yet.” That was because people were using the web just for documents, not for the data of a big web-wide computer. Since then, we have seen a wave of open data, but not of read-write data. For example, much open government data is produced through a one-way pipeline, so we can only view it. With Solid, it becomes a read-write web where users can interact and innovate, collaborate and share.</p>
<p>Meanwhile though, there is a wave of concern, and related energy, desperate for change. People want to have a web they can trust. People want apps that help them do what they want and need to do - without spying on them. Apps that dont have an ulterior motive of distracting them with propositions to buy this or that. People will pay for this kind of quality and assurance. For example, today people pay for storage in places like Dropbox. There is a need for Solid, and the different, beneficial approach it will provide.</p>
<p>It is going to take a lot of effort to build the new Solid platform and drive broad adoption but I think we have enough energy to take the world to a new tipping point.</p>
<p>So I have taken a sabbatical from MIT, reduced my day-to-day involvement with the World Wide Web Consortium (W3C) and founded a company called Inrupt where I will be guiding the next stage of the web in a very direct way. Inrupt will be the infrastructure allowing Solid to flourish. Its mission is to provide commercial energy and an ecosystem to help protect the integrity and quality of the new web built on Solid.</p>
<p>There are many examples of open-source efforts that have benefited hugely from the contribution of a well-resourced company. While the open-source community provides initiative and a deep source of innovation, everyday web users as well as businesses often look for applications and services from a commercial entity that also provides technical support and vital, ancillary business services.</p>
<p>I believe this same model will be critical to the success of Solid. Inrupts success is totally aligned to Solids success. My partner and Inrupt co-founder is John Bruce, an experienced business leader with the skills to execute on my vision for Solid. We share the same passion for creating a better and more balanced web.</p>
<p>Together, Solid and Inrupt will provide new experiences benefitting every web user - and that are impossible on the web today. Where individuals, developers and businesses create and find innovative, life- and business-enriching, applications and services. Where we all find trusted services for storing, securing and managing personal data.</p>
<p>Im incredibly optimistic for this next era of the web.</p>
<p>Ill still be acting as Founder and Director of W3C, the Web Foundation and the Open Data Institute as these are vital components for protecting what has been - and what will come. Inrupt, a W3C member, uses many existing standards and is part of the standards-building community. The Web Foundation advocates for data rights as part of its mission to advance a free and open web that benefits humanity. And the Open Data Institute's drive to make data as open as possible while respecting privacy is very relevant. I wear many hats and when Im working in each capacity, Ill always try to act according to the interests of that organization.</p>
<p>These are very exciting times. I will be committed to steering the direction of Solid, and developing its future governance. Inrupt will do many things: its first priority will be the Solid ecosystem. With the right values and a foundational corporate infrastructure, we will build beneficial systems that work for everyone.</p>
<p>The future is still so much bigger than the past.</p>
</article>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,44 @@
+++
title = "ufdfd,small step for the Web"
date = 2018-10-22
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden>﷽</h1>
<h2>One Small Step for the Web…</h2>
<div>Today, weve reached a critical tipping point, and that powerful change for the better is possible and necessary</div>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">October 22, 2018</time>
<article>
<p>Ive always believed the web is for everyone. That's why I and others fight fiercely to protect it. The changes weve managed to bring have created a better and more connected world. But for all the good weve achieved, the web has evolved into an engine of inequity and division; swayed by powerful forces who use it for their own agendas.</p>
<p>Today, I believe weve reached a critical tipping point, and that powerful change for the better is possible - and necessary.</p>
<p>This is why I have, over recent years, been working with a few people at MIT and elsewhere to develop Solid, an open-source project to restore the power and agency of individuals on the web.</p>
<p>Solid changes the current model where users have to hand over personal data to digital giants in exchange for perceived value. As weve all discovered, this hasnt been in our best interests. Solid is how we evolve the web in order to restore balance - by giving every one of us complete control over data, personal or not, in a revolutionary way.</p>
<p>Solid is a platform, built using the existing web. It gives every user a choice about where data is stored, which specific people and groups can access select elements, and which apps you use. It allows you, your family and colleagues, to link and share data with anyone. It allows people to look at the same data with different apps at the same time.</p>
<p>Solid unleashes incredible opportunities for creativity, problem-solving and commerce. It will empower individuals, developers and businesses with entirely new ways to conceive, build and find innovative, trusted and beneficial applications and services. I see multiple market possibilities, including Solid apps and Solid data storage.</p>
<h2>Data should empower you</h2>
<p>Solid is guided by the principle of “personal empowerment through data” which we believe is fundamental to the success of the next era of the web. We believe data should empower each of us.</p>
<p>Imagine if all your current apps talked to each other, collaborating and conceiving ways to enrich and streamline your personal life and business objectives? Thats the kind of innovation, intelligence and creativity Solid apps will generate.</p>
<p>With Solid, you will have far more personal agency over data - you decide which apps can access it.</p>
<h2>Injecting momentum</h2>
<p>In 2009, I said, “The web as I envisaged it we have not seen yet.” That was because people were using the web just for documents, not for the data of a big web-wide computer. Since then, we have seen a wave of open data, but not of read-write data. For example, much open government data is produced through a one-way pipeline, so we can only view it. With Solid, it becomes a read-write web where users can interact and innovate, collaborate and share.</p>
<p>Meanwhile though, there is a wave of concern, and related energy, desperate for change. People want to have a web they can trust. People want apps that help them do what they want and need to do - without spying on them. Apps that dont have an ulterior motive of distracting them with propositions to buy this or that. People will pay for this kind of quality and assurance. For example, today people pay for storage in places like Dropbox. There is a need for Solid, and the different, beneficial approach it will provide.</p>
<p>It is going to take a lot of effort to build the new Solid platform and drive broad adoption but I think we have enough energy to take the world to a new tipping point.</p>
<p>So I have taken a sabbatical from MIT, reduced my day-to-day involvement with the World Wide Web Consortium (W3C) and founded a company called Inrupt where I will be guiding the next stage of the web in a very direct way. Inrupt will be the infrastructure allowing Solid to flourish. Its mission is to provide commercial energy and an ecosystem to help protect the integrity and quality of the new web built on Solid.</p>
<p>There are many examples of open-source efforts that have benefited hugely from the contribution of a well-resourced company. While the open-source community provides initiative and a deep source of innovation, everyday web users as well as businesses often look for applications and services from a commercial entity that also provides technical support and vital, ancillary business services.</p>
<p>I believe this same model will be critical to the success of Solid. Inrupts success is totally aligned to Solids success. My partner and Inrupt co-founder is John Bruce, an experienced business leader with the skills to execute on my vision for Solid. We share the same passion for creating a better and more balanced web.</p>
<p>Together, Solid and Inrupt will provide new experiences benefitting every web user - and that are impossible on the web today. Where individuals, developers and businesses create and find innovative, life- and business-enriching, applications and services. Where we all find trusted services for storing, securing and managing personal data.</p>
<p>Im incredibly optimistic for this next era of the web.</p>
<p>Ill still be acting as Founder and Director of W3C, the Web Foundation and the Open Data Institute as these are vital components for protecting what has been - and what will come. Inrupt, a W3C member, uses many existing standards and is part of the standards-building community. The Web Foundation advocates for data rights as part of its mission to advance a free and open web that benefits humanity. And the Open Data Institute's drive to make data as open as possible while respecting privacy is very relevant. I wear many hats and when Im working in each capacity, Ill always try to act according to the interests of that organization.</p>
<p>These are very exciting times. I will be committed to steering the direction of Solid, and developing its future governance. Inrupt will do many things: its first priority will be the Solid ecosystem. With the right values and a foundational corporate infrastructure, we will build beneficial systems that work for everyone.</p>
<p>The future is still so much bigger than the past.</p>
</article>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,44 @@
+++
title = "ufdfd,small step for the Web"
date = 2018-10-22
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden></h1>
<h2>One Small Step for the Web…</h2>
<div>Today, weve reached a critical tipping point, and that powerful change for the better is possible and necessary</div>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">October 22, 2018</time>
<article>
<p>Ive always believed the web is for everyone. That's why I and others fight fiercely to protect it. The changes weve managed to bring have created a better and more connected world. But for all the good weve achieved, the web has evolved into an engine of inequity and division; swayed by powerful forces who use it for their own agendas.</p>
<p>Today, I believe weve reached a critical tipping point, and that powerful change for the better is possible - and necessary.</p>
<p>This is why I have, over recent years, been working with a few people at MIT and elsewhere to develop Solid, an open-source project to restore the power and agency of individuals on the web.</p>
<p>Solid changes the current model where users have to hand over personal data to digital giants in exchange for perceived value. As weve all discovered, this hasnt been in our best interests. Solid is how we evolve the web in order to restore balance - by giving every one of us complete control over data, personal or not, in a revolutionary way.</p>
<p>Solid is a platform, built using the existing web. It gives every user a choice about where data is stored, which specific people and groups can access select elements, and which apps you use. It allows you, your family and colleagues, to link and share data with anyone. It allows people to look at the same data with different apps at the same time.</p>
<p>Solid unleashes incredible opportunities for creativity, problem-solving and commerce. It will empower individuals, developers and businesses with entirely new ways to conceive, build and find innovative, trusted and beneficial applications and services. I see multiple market possibilities, including Solid apps and Solid data storage.</p>
<h2>Data should empower you</h2>
<p>Solid is guided by the principle of “personal empowerment through data” which we believe is fundamental to the success of the next era of the web. We believe data should empower each of us.</p>
<p>Imagine if all your current apps talked to each other, collaborating and conceiving ways to enrich and streamline your personal life and business objectives? Thats the kind of innovation, intelligence and creativity Solid apps will generate.</p>
<p>With Solid, you will have far more personal agency over data - you decide which apps can access it.</p>
<h2>Injecting momentum</h2>
<p>In 2009, I said, “The web as I envisaged it we have not seen yet.” That was because people were using the web just for documents, not for the data of a big web-wide computer. Since then, we have seen a wave of open data, but not of read-write data. For example, much open government data is produced through a one-way pipeline, so we can only view it. With Solid, it becomes a read-write web where users can interact and innovate, collaborate and share.</p>
<p>Meanwhile though, there is a wave of concern, and related energy, desperate for change. People want to have a web they can trust. People want apps that help them do what they want and need to do - without spying on them. Apps that dont have an ulterior motive of distracting them with propositions to buy this or that. People will pay for this kind of quality and assurance. For example, today people pay for storage in places like Dropbox. There is a need for Solid, and the different, beneficial approach it will provide.</p>
<p>It is going to take a lot of effort to build the new Solid platform and drive broad adoption but I think we have enough energy to take the world to a new tipping point.</p>
<p>So I have taken a sabbatical from MIT, reduced my day-to-day involvement with the World Wide Web Consortium (W3C) and founded a company called Inrupt where I will be guiding the next stage of the web in a very direct way. Inrupt will be the infrastructure allowing Solid to flourish. Its mission is to provide commercial energy and an ecosystem to help protect the integrity and quality of the new web built on Solid.</p>
<p>There are many examples of open-source efforts that have benefited hugely from the contribution of a well-resourced company. While the open-source community provides initiative and a deep source of innovation, everyday web users as well as businesses often look for applications and services from a commercial entity that also provides technical support and vital, ancillary business services.</p>
<p>I believe this same model will be critical to the success of Solid. Inrupts success is totally aligned to Solids success. My partner and Inrupt co-founder is John Bruce, an experienced business leader with the skills to execute on my vision for Solid. We share the same passion for creating a better and more balanced web.</p>
<p>Together, Solid and Inrupt will provide new experiences benefitting every web user - and that are impossible on the web today. Where individuals, developers and businesses create and find innovative, life- and business-enriching, applications and services. Where we all find trusted services for storing, securing and managing personal data.</p>
<p>Im incredibly optimistic for this next era of the web.</p>
<p>Ill still be acting as Founder and Director of W3C, the Web Foundation and the Open Data Institute as these are vital components for protecting what has been - and what will come. Inrupt, a W3C member, uses many existing standards and is part of the standards-building community. The Web Foundation advocates for data rights as part of its mission to advance a free and open web that benefits humanity. And the Open Data Institute's drive to make data as open as possible while respecting privacy is very relevant. I wear many hats and when Im working in each capacity, Ill always try to act according to the interests of that organization.</p>
<p>These are very exciting times. I will be committed to steering the direction of Solid, and developing its future governance. Inrupt will do many things: its first priority will be the Solid ecosystem. With the right values and a foundational corporate infrastructure, we will build beneficial systems that work for everyone.</p>
<p>The future is still so much bigger than the past.</p>
</article>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,35 @@
+++
title = "ufdfd,another small step for the Web"
date = 2020-02-20
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden></h1>
<h3>A Small Step for the Web: Part Two</h3>
<p>As we usher in a completely new era of the web, we see others' interests and responses.</p>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">February 20, 2020</time>
<article datatype="rdf:HTML" property="schema:description>
<p>When John and I launched Inrupt to the public in late September 2018, our mission was hugely ambitious: to usher in a completely new era of the web.</p>
<p>We thought of it as a fundamental “mid-course correction” that would restore power to users and allow everyone to benefit from new kinds of innovation and opportunity.</p>
<p>We didnt know at the time how others would respond to this mission.</p>
<p>But almost immediately we experienced a rush of interest. In the past year, weve spoken to open source developers, startup founders, leaders at Fortune 1000 organizations, government officials, and executives at tech giants.</p>
<p>A few things have become clear as a result.</p>
<p>First, the world really sees value in the change we are trying to spark. People from nearly every industry and sector came to us not just with interest in our vision, but with real problems around data and trust that they wanted Inrupt to help solve. More than once, people building their own projects with similar pro-human values, found that Solid and Inrupt gives them just what they needed.</p>
<p>Second, solving these problems will require more than just passion and vision. For the world to experience the true value of the web were building, we must address vital issues related to privacy, trust and security, and the complexities of transforming Solid into a massively-scalable, production-quality technology platform.</p>
<p>Third, the help we need is out there. Inrupt is grateful to be building upon the ongoing efforts of a vibrant open source community of developers contributing to Solid. Were fortunate to have raised the funds we need from a group of strategically chosen investors who believe in our mission.</p>
<p>Were thrilled today to announce a leadership team that will power Inrupt through the many challenges ahead and make real this vision for a better web.</p>
<p>Beginning last summer with Bruce Schneier — someone whose public voice on both technology and society Ive long admired — weve been building a group of executives with exactly the mix of skills, expertise, and vision needed to address all those issues vital to our success.</p>
<p>Im very proud of the progress weve made with Inrupt in the past year and more optimistic than Ive ever been that well help build a better web for everyone.</p>
<p>
<strong>Read more from our CEO:</strong>
<a href="https://inrupt.com/world-class-team">Building a World-Class Team at Inrupt</a>
</p>
</article
>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,35 @@
+++
title = "ufdfd,another small step for the Web"
date = 2020-02-20
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden></h1>
<h3>A Small Step for the Web: Part Two</h3>
<p>As we usher in a completely new era of the web, we see others' interests and responses.</p>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">February 20, 2020</time>
<article datatype="rdf:HTML" property="schema:description>
<p>When John and I launched Inrupt to the public in late September 2018, our mission was hugely ambitious: to usher in a completely new era of the web.</p>
<p>We thought of it as a fundamental “mid-course correction” that would restore power to users and allow everyone to benefit from new kinds of innovation and opportunity.</p>
<p>We didnt know at the time how others would respond to this mission.</p>
<p>But almost immediately we experienced a rush of interest. In the past year, weve spoken to open source developers, startup founders, leaders at Fortune 1000 organizations, government officials, and executives at tech giants.</p>
<p>A few things have become clear as a result.</p>
<p>First, the world really sees value in the change we are trying to spark. People from nearly every industry and sector came to us not just with interest in our vision, but with real problems around data and trust that they wanted Inrupt to help solve. More than once, people building their own projects with similar pro-human values, found that Solid and Inrupt gives them just what they needed.</p>
<p>Second, solving these problems will require more than just passion and vision. For the world to experience the true value of the web were building, we must address vital issues related to privacy, trust and security, and the complexities of transforming Solid into a massively-scalable, production-quality technology platform.</p>
<p>Third, the help we need is out there. Inrupt is grateful to be building upon the ongoing efforts of a vibrant open source community of developers contributing to Solid. Were fortunate to have raised the funds we need from a group of strategically chosen investors who believe in our mission.</p>
<p>Were thrilled today to announce a leadership team that will power Inrupt through the many challenges ahead and make real this vision for a better web.</p>
<p>Beginning last summer with Bruce Schneier — someone whose public voice on both technology and society Ive long admired — weve been building a group of executives with exactly the mix of skills, expertise, and vision needed to address all those issues vital to our success.</p>
<p>Im very proud of the progress weve made with Inrupt in the past year and more optimistic than Ive ever been that well help build a better web for everyone.</p>
<p>
<strong>Read more from our CEO:</strong>
<a href="https://inrupt.com/world-class-team">Building a World-Class Team at Inrupt</a>
</p>
</article
>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,35 @@
+++
title = "ufdfd,another small step for the Web"
date = 2020-02-20
author = "Tim Berners-Lee"
+++
<!-- category = "inrupt the disrupt" -->
<main>
<h1 hidden>﷽</h1>
<h3>A Small Step for the Web: Part Two</h3>
<p>As we usher in a completely new era of the web, we see others' interests and responses.</p>
<label>Sir Tim Berners-Lee, CTO and co-founder</label>
<!-- https://csarven.ca/i-am-here-now -->
<time datatype="xsd:dateTime" datetime="2020-02-20T00:00:00Z"
property="schema:datePublished">February 20, 2020</time>
<article datatype="rdf:HTML" property="schema:description>
<p>When John and I launched Inrupt to the public in late September 2018, our mission was hugely ambitious: to usher in a completely new era of the web.</p>
<p>We thought of it as a fundamental “mid-course correction” that would restore power to users and allow everyone to benefit from new kinds of innovation and opportunity.</p>
<p>We didnt know at the time how others would respond to this mission.</p>
<p>But almost immediately we experienced a rush of interest. In the past year, weve spoken to open source developers, startup founders, leaders at Fortune 1000 organizations, government officials, and executives at tech giants.</p>
<p>A few things have become clear as a result.</p>
<p>First, the world really sees value in the change we are trying to spark. People from nearly every industry and sector came to us not just with interest in our vision, but with real problems around data and trust that they wanted Inrupt to help solve. More than once, people building their own projects with similar pro-human values, found that Solid and Inrupt gives them just what they needed.</p>
<p>Second, solving these problems will require more than just passion and vision. For the world to experience the true value of the web were building, we must address vital issues related to privacy, trust and security, and the complexities of transforming Solid into a massively-scalable, production-quality technology platform.</p>
<p>Third, the help we need is out there. Inrupt is grateful to be building upon the ongoing efforts of a vibrant open source community of developers contributing to Solid. Were fortunate to have raised the funds we need from a group of strategically chosen investors who believe in our mission.</p>
<p>Were thrilled today to announce a leadership team that will power Inrupt through the many challenges ahead and make real this vision for a better web.</p>
<p>Beginning last summer with Bruce Schneier — someone whose public voice on both technology and society Ive long admired — weve been building a group of executives with exactly the mix of skills, expertise, and vision needed to address all those issues vital to our success.</p>
<p>Im very proud of the progress weve made with Inrupt in the past year and more optimistic than Ive ever been that well help build a better web for everyone.</p>
<p>
<strong>Read more from our CEO:</strong>
<a href="https://inrupt.com/world-class-team">Building a World-Class Team at Inrupt</a>
</p>
</article
>
<a href="https://inrupt.com//blog">View All Posts</a>
</main>

View file

@ -0,0 +1,24 @@
---
title: "Contact"
type: "contact"
resImgTeaser: teaserpics/pixabay.com/contact-2860030_640.jpg
icon: "far fa-address-card"
---
# We are here to help you
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue.
Fusce commodo. Vestibulum convallis, lorem a tempus semper, dui dui
euismod elit, vitae placerat urna tortor vitae lacus. Nullam libero
mauris, consequat quis, varius et, dictum id, arcu. Mauris mollis
tincidunt felis. Aliquam feugiat tellus ut neque. Nulla facilisis,
risus a rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc
justo sit amet elit.
Please feel free to contact us:

View file

@ -0,0 +1 @@
This is another **marquee**. Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec facilisis facilisis, est dui fermentum leo, quis tempor ligula erat quis odio.

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -0,0 +1,131 @@
---
title: "FAQ"
date: 2017-11-13T15:33:35+01:00
toc: true
icon: far fa-question-circle
resImgTeaser: "**/faq.png"
description: >
Frequently asked questions
---
Pellentesque {{% w3-badge %}}habitant{{% /w3-badge %}} morbi tristique senectus et {{% w3-badge "w3-green" %}}netus{{% /w3-badge %}} netus et malesuada
fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,
ultricies eget, tempor sit amet, ante.
{{< icon name="fas fa-home" size="fa-2x" >}} Donec eu libero sit amet quam
egestas semper. Aenean ultricies mi vitae est. Mauris placerat
eleifend leo.
## 1. Phasellus at dui in ligula mollis ultricies?
Fusce suscipit, wisi nec {{% w3-tag %}}facilisi {{% /w3-tag %}} est dui
fermentum leo, quis tempor ligula erat quis odio. {{% w3-tag "w3-blue w3-xxlarge" %}}Nunc{{% /w3-tag %}} porta vulputate tellus. Nunc rutrum
turpis sed pede. Sed bibendum. Aliquam posuere. Nunc aliquet, augue
nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi
purus non odio. Pellentesque condimentum, magna ut suscipit hendrerit,
ipsum augue ornare nulla, non luctus diam neque sit amet
urna. Curabitur vulputate vestibulum lorem. Fusce sagittis, libero non
molestie mollis, magna orci ultrices dolor, at vulputate neque nulla
lacinia eros. Sed id ligula quis est convallis tempor. Curabitur
lacinia pulvinar nibh.
{{% w3-notice-icon %}}**Nam** a sapien.{{% /w3-notice-icon %}}
## 2. Nunc rutrum turpis sed pede?
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum.
{{% w3-notice-icon type="success" %}}Nam vestibulum *accumsan* nisl.{{% /w3-notice-icon %}}
* Nulla facilisis, risus a rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo sit amet elit.
* Nullam tristique diam non turpis.
* Etiam laoreet quam sed arcu.
## 3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus?
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus
terry richardson ad squid. 3 wolf moon officia aute, non cupidatat
skateboard dolor brunch.
{{% w3-alert-icon type="warning" heading="Food truck quinoa nesciunt laborum" %}}
Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid
single-origin coffee nulla assumenda shoreditch et.
{{% /w3-alert-icon %}}
Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred
nesciunt sapiente ea proident. Ad vegan excepteur butcher vice
lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic
synth nesciunt you probably haven't heard of them accusamus labore
sustainable VHS.
{{% w3-notice-icon type="warning" heading="raw denim aesthetic" %}}
accusamus **labore** sustainable VHS
{{% /w3-notice-icon %}}
## 4. Pellentesque tristique imperdiet tortor?
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis.
{{% w3-notice-icon type="danger" heading="Nunc eleifend" %}}
In id erat non orci commodo lobortis.
{{% /w3-notice-icon %}}
Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus. Sed
diam. Praesent fermentum tempor tellus. Nullam tempus. Mauris ac
felis vel velit tristique imperdiet. Donec at pede. Etiam vel neque
nec dui dignissim bibendum. Vivamus id enim. Phasellus neque orci,
porta a, aliquet quis, semper a, massa. Phasellus purus. Pellentesque
tristique imperdiet tortor. Nam euismod tellus id erat.
{{< heg-load-photoswipe >}}
{{< heg-figure thumb="-thumb" link="/images/teaserpics/pixabay.com/coffee-2306471_640.jpg" width="200px" caption-position="bottom" caption-effect="appear" title="Hej" caption="Coffee" >}}
{{< heg-figure thumb="-thumb" link="/images/teaserpics/pixabay.com/coffee-2714970_640.jpg" width="200px" caption-position="bottom" caption-effect="appear" caption="Coffee" attr="(c) pixabay.com (CC0)" >}}
{{< heg-figure thumb="-thumb" link="/images/teaserpics/pixabay.com/coffee-beans-2258839_640.jpg" width="200px" caption-position="bottom" caption-effect="appear" caption="Coffee" attr="(c) pixabay.com (CC0)" attrlink="https://pixabay.com" >}}
## 5. Nulla posuere?
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus.
{{% w3-quote source="Cum sociis" layout="icon" %}}
Proin quam nisl, **tincidunt** et, mattis eget, convallis nec, purus.
{{% /w3-quote %}}
Donec pretium posuere tellus. Natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nulla posuere. Donec vitae
dolor. Nullam tristique diam non turpis. Cras placerat accumsan
nulla. Nullam rutrum. Nam vestibulum accumsan nisl.
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
* Aliquam tincidunt mauris eu risus.
* Vestibulum auctor dapibus neque.
---
> Nunc aliquet, augue nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
{{< heg-gallery dir="/images/photocards/pixabay.com" caption-effect="none" hover-effect="grow" />}}
## 6. Praesent fermentum tempor
| Right | Center | Left |
| -----:|:------:|:---- |
| 1 | 2 | 3 |
| default | is left
| --------|--------
| 42 | foo

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View file

@ -0,0 +1,6 @@
---
weight: 1
title: "My **Stuff** :house:"
date: 2017-11-13T15:37:04+01:00
icon: "fas fa-list"
---

View file

@ -0,0 +1,6 @@
---
weight: 110
title: "Nunc rutrum turpis sed pede"
date: "2017-06-08T01:06:13+02:00"
resImgTeaser: teaserpics/pixabay.com/tablet-313002_640.jpg
---

View file

@ -0,0 +1,51 @@
---
title: "Malesuada Massa"
date: 2017-11-13T15:37:04+01:00
description: >
**Praesent augue**. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu.
keywords:
-
tags:
- folder10
- Malesuada
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/coffee-2714970_640.jpg
---
# Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.
# Nullam eu ante vel est convallis dignissim.
Fusce suscipit, wisi nec facilisis facilisis, est dui fermentum leo,
quis tempor ligula erat quis odio. Nunc porta vulputate tellus. Nunc
rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus.
### Donec pretium posuere tellus.
Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus. Cum
sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Nulla posuere. Donec vitae dolor. Nullam tristique
diam non turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam
vestibulum accumsan nisl.

View file

@ -0,0 +1,36 @@
---
title: "Neque Nec"
date: 2017-11-13T15:37:04+01:00
description: >
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus.
keywords:
-
tags:
- folder10
- Malesuada
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/coffee-beans-2258839_640.jpg
---
# Aliquam erat volutpat.
Nunc eleifend leo vitae magna.
* In id erat non orci commodo lobortis.
* Proin neque massa, cursus ut, gravida ut, lobortis eget, lacus.
* Sed diam.
* Praesent fermentum tempor tellus.
Nullam tempus.
- Mauris ac felis vel velit tristique imperdiet.
- Donec at pede.
- Etiam vel neque nec dui dignissim bibendum.
- Vivamus id enim.
> Phasellus neque orci, porta a, aliquet quis, semper a, massa.
> Phasellus purus.
> Pellentesque tristique imperdiet tortor.
> Nam euismod tellus id erat.

View file

@ -0,0 +1,7 @@
---
weight: 120
title: "Suscipit ligula lorem"
date: "2017-06-08T01:06:13+02:00"
resImgTeaser: teaserpics/gohugo.io/golang-a-closer-look.png
---

View file

@ -0,0 +1,34 @@
---
title: "Estdui Fermentum"
date: 2017-11-13T15:37:04+01:00
description: >
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/coffee-cup-2317201_640.jpg
---
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
accumsan nisl.

View file

@ -0,0 +1,42 @@
---
title: "Felis Vel Velit"
date: 2017-11-13T15:37:04+01:00
description: >
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/espresso-2892357_640.jpg
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc.

View file

@ -0,0 +1,6 @@
---
weight: 21
title: "Cum sociis natoque"
date: "2017-06-08T01:06:13+02:00"
resImgTeaser: teaserpics/gohugo.io/hugo-dolor.png
---

View file

@ -0,0 +1,6 @@
---
weight: 211
title: "Phasellus neque orci"
date: "2017-06-08T01:06:13+02:00"
resImgTeaser: teaserpics/gohugo.io/hugo-ipsum.png
---

View file

@ -0,0 +1,42 @@
---
title: "Phasellus"
date: 2017-11-13T15:37:04+01:00
description: >
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem.
tags:
- folder20
- Phasellus
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/coffee-beans-2258839_640.jpg
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc.

View file

@ -0,0 +1,38 @@
---
title: "Nunc rutrum"
date: 2017-11-13T15:37:04+01:00
description: >
Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus.
tags:
- folder20
- Rutrum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/adventure-2528477_640.jpg
---
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.

View file

@ -0,0 +1,42 @@
---
title: "Nullam"
date: 2017-11-13T15:37:04+01:00
description: >
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem.
tags:
- folder20
- Nullam
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/particles-1373684_640.jpg
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc.

View file

@ -0,0 +1,38 @@
---
title: "Vestibulum"
date: 2017-11-13T15:37:04+01:00
description: >
Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus.
tags:
- folder20
- Nullam
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/parrot-2756488_640.jpg
---
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.

View file

@ -0,0 +1,30 @@
---
title: "Magna Orci Ultrices"
date: 2017-11-13T15:37:04+01:00
description: >
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
pretium quis, sem.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/girl-2696947_640.jpg
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat.

View file

@ -0,0 +1,119 @@
---
title: "Nam Asapien"
date: 2017-11-13T15:37:04+01:00
description: >
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/matrix-2326147_640.jpg
---
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
accumsan nisl.
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.

View file

@ -0,0 +1,70 @@
---
title: "Neque Orci"
date: 2017-11-13T15:37:04+01:00
description: >
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/monitor-1307227_640.jpg
---
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec
hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam
nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non
turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum
accumsan nisl.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.

View file

@ -0,0 +1,66 @@
---
title: "Vestibulum Convallis"
date: 2017-11-13T15:37:04+01:00
description: >
Ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros.
tags:
- folder20
- Fermentum
categories:
- Know-How
resImgTeaser: teaserpics/pixabay.com/organic-1280537_640.jpg
---
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.
Pellentesque dapibus suscipit ligula. Donec posuere augue in quam.
Etiam vel tortor sodales tellus ultricies commodo. Suspendisse
potenti. Aenean in sem ac leo mollis blandit. Donec neque quam,
dignissim in, mollis nec, sagittis eu, wisi. Phasellus lacus. Etiam
laoreet quam sed arcu. Phasellus at dui in ligula mollis ultricies.
Integer placerat tristique nisl. Praesent augue. Fusce commodo.
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
vitae placerat urna tortor vitae lacus. Nullam libero mauris,
consequat quis, varius et, dictum id, arcu. Mauris mollis tincidunt
felis. Aliquam feugiat tellus ut neque. Nulla facilisis, risus a
rhoncus fermentum, tellus tellus lacinia purus, et dictum nunc justo
sit amet elit.
Nullam eu ante vel est convallis dignissim. Fusce suscipit, wisi nec
facilisis facilisis, est dui fermentum leo, quis tempor ligula erat
quis odio. Nunc porta vulputate tellus. Nunc rutrum turpis sed pede.
Sed bibendum. Aliquam posuere. Nunc aliquet, augue nec adipiscing
interdum, lacus tellus malesuada massa, quis varius mi purus non odio.
Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue
ornare nulla, non luctus diam neque sit amet urna. Curabitur
vulputate vestibulum lorem. Fusce sagittis, libero non molestie
mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia
eros. Sed id ligula quis est convallis tempor. Curabitur lacinia
pulvinar nibh. Nam a sapien.

View file

@ -0,0 +1,6 @@
---
weight: 18
title: "Frontpage Eye-Catcher"
date: 2017-11-13T15:37:04+01:00
icon: "fas fa-globe"
---

View file

@ -0,0 +1,42 @@
---
weight: 11
title: "Eleifend"
date: 2017-11-22T13:55:13+01:00
resImgTeaser: teaserpics/pixabay.com/monitor-1307227_640.jpg
description: >
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore
tags:
- front
- Lorem
categories:
- features
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,43 @@
---
weight: 12
title: "Vulputate"
date: 2017-11-22T13:55:13+01:00
description: >
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla facilisis.
tags:
- front
- Lorem
categories:
- features
resImgTeaser: photocards/pixabay.com/02-photocard.jpg
icon: "fa fa-print"
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,45 @@
---
weight: 13
title: "Consequat"
date: 2017-11-22T13:55:13+01:00
description: >
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos
et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
tags:
- front
- Lorem
categories:
- features
resImgTeaser: photocards/pixabay.com/03-photocard.jpg
icon: "fa fa-globe"
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,44 @@
---
weight: 14
title: "Invidunt ut Labore"
date: 2017-11-22T13:55:13+01:00
description: >
Nam liber tempor cum soluta nobis eleifend option congue nihil
imperdiet doming id quod mazim placerat facer possim assum. Lorem
ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
tags:
- front
- Lorem
categories:
- features
icon: "fa fa-lightbulb-o"
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,43 @@
---
weight: 15
title: "Sadipscing Elitr"
date: 2017-11-22T13:55:13+01:00
description: >
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
amet.
tags:
- front
- Lorem
categories:
- features
icon: "fa fa-envelope-o"
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,43 @@
---
weight: 16
title: "Kasd Gubergren"
date: 2017-11-22T13:55:13+01:00
description: >
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem
vel eum iriure dolor in hendrerit in vulputate velit esse molestie
consequat.
tags:
- front
- Lorem
categories:
- features
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,11 @@
---
weight: 20
title: "Features"
date: 2017-11-22T13:53:53+01:00
resImgTeaser: teaserpics/pixabay.com/blue-2863550_640.png
tags:
- front
- Lorem
categories:
- eyecatcher
---

View file

@ -0,0 +1,41 @@
---
weight: 110
title: "Donec posuere augue in quam"
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/01-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc

View file

@ -0,0 +1,39 @@
---
weight: 120
title: "In id erat non orci commodo lobortis"
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/02-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla facilisis at
vero eros et accumsan et iusto odio dignissim qui blandit praesent
luptatum zzril delenit augue duis dolore te feugait nulla
facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem
vel eum iriure dolor in hendrerit in vulputate velit esse molestie
consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et
accumsan et iusto odio dignissim qui blandit praesent luptatum zzril
delenit augue duis dolore te feugait nulla facilisi.
Nam liber tempor cum soluta nobis eleifend option congue nihil
imperdiet doming id quod mazim placerat facer possim assum. Lorem
ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation
ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla facilisis.

View file

@ -0,0 +1,45 @@
---
weight: 130
title: "Donec posuere augue in quam."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/03-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Plloaso mako nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw
phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook
proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa
schengos ent kaap zux copy wipont trenz kipg naar mixent phona.
Cak pwico siructiun ruos nust apoply tyu cak UCU sisulutiun munityuw
uw cak UCU-TGU jot scannow.
Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher
hawers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso
tgu pwuructs tyu InfuBwain, ghu gill nug bo suloly sispunsiblo fuw
cakiw salo anr ristwibutiun. Hei muk neme eis loppe.
Treas em wankeing ont sime ploked peish rof phen sumbloat syug si phat
phey gavet peish ta paat ein pheeir sumbloats. Aslu unaffoctor gef cak
siructiun gill bo cak spiarshoot anet cak GurGanglo gur pwucossing
pwutwam. Ghat dodtos, ig pany, gill bo maro tyu ucakw suftgasi
pwuructs hod yot tyubo rotowminor. Plloaso mako nuto uf cakso dodtos
anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed,
quiel ba mada su otrenzr swipontgwook proudgs hus yag su ba
dagarmidad.
Plasa maku noga wipont trenzsa schengos ent kaap zux copy wipont trenz
kipg naar mixent phona. Cak pwico siructiun ruos nust apoply tyu cak
UCU sisulutiun munityuw uw cak UCU-TGU jot scannow. Trens roxas eis ti
Plokeing quert loppe eis yop prexs. Piy opher hawers, eit yaggles orn
ti sumbloat alohe plok. Su havo loasor cakso tgu pwuructs tyu.

View file

@ -0,0 +1,55 @@
---
weight: 140
title: "Mauris ac felis vel velit tristique imperdiet."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/04-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum Et harumd und lookum like
Greek to me, dereud facilis est er expedit distinct. Nam liber te
conscient to factor tum poen legum odioque civiuda. Et tam neque pecun
modut est neque nonor et imper ned libidig met, consectetur adipiscing
elit, sed ut labore et dolore magna aliquam makes one wonder who would
ever read this stuff? Bis nostrud exercitation ullam mmodo
consequet.
Duis aute in voluptate velit esse cillum dolore eu fugiat
nulla pariatur. At vver eos et accusam dignissum qui blandit est
praesent luptatum delenit aigue excepteur sint occae.
Et harumd dereud facilis est er expedit distinct. Nam libe soluta
nobis eligent optio est congue nihil impedit doming id Lorem ipsum
dolor sit amet, consectetur adipiscing elit, set eiusmod tempor
incidunt et labore et dolore magna aliquam. Ut enim ad minim veniam,
quis nostrud exerc. Irure dolor in reprehend incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse
molestaie cillum. Tia non ob ea soluad incommod quae egen ium improb
fugiend. Officia deserunt mollit anim id est laborum Et harumd dereud
facilis est er expedit distinct. Nam liber te conscient to factor tum
poen legum odioque civiuda et tam. Neque pecun modut est neque nonor
et imper ned libidig met, consectetur adipiscing elit, sed ut labore
et dolore magna aliquam is nostrud exercitation ullam mmodo consequet.
Duis aute in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. At vver eos et accusam dignissum qui blandit est
praesent. Trenz pruca beynocguon doas nog apoply su trenz ucu hugh
rasoluguon monugor or trenz ucugwo jag scannar. Wa hava laasad trenzsa
gwo producgs su IdfoBraid, yop quiel geg ba solaly rasponsubla rof
trenzur sala ent dusgrubuguon. Offoctivo immoriatoly, hawrgasi pwicos
asi sirucor.Thas sirutciun applios tyu thuso itoms ghuso pwicos gosi
sirucor in mixent gosi sirucor ic mixent ples cak ontisi sowios uf
Zerm hawr rwivos.

View file

@ -0,0 +1,49 @@
---
weight: 150
title: "Curabitur vulputate vestibulum lorem."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/05-photocard.png
description:
keywords:
-
tags:
- front
- Lorem
categories:
- photocards
---
Unte af phen neige pheings atoot Prexs eis phat eit sakem eit vory
gast te Plok peish ba useing phen roxas. Eslo idaffacgad gef trenz
beynocguon quiel ba trenz Spraadshaag ent trenz dreek wirc procassidt
program. Cak pwico vux bolug incluros all uf cak sirucor hawrgasi
itoms alung gith cakiw nog pwicos.
Plloaso mako nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw
phuno. Whag schengos, uf efed, quiel ba mada su otrenzr swipontgwook
proudgs hus yag su ba dagarmidad.
Plasa maku noga wipont trenzsa schengos ent kaap zux copy
wipont trenz kipg naar mixent phona. Cak pwico siructiun ruos nust
apoply tyu cak UCU sisulutiun munityuw uw cak UCU-TGU jot scannow.
Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy opher
hawers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor cakso
tgu pwuructs tyu InfuBwain, ghu gill nug bo suloly sispunsiblo fuw
cakiw salo anr ristwibutiun. Hei muk neme eis loppe. Treas em wankeing
ont sime ploked peish rof phen sumbloat syug si phat phey gavet peish
ta paat ein pheeir sumbloats.
Aslu unaffoctor gef cak siructiun gill bo cak spiarshoot anet cak
GurGanglo gur pwucossing pwutwam. Ghat dodtos, ig pany, gill bo maro
tyu ucakw suftgasi pwuructs hod yot tyubo rotowminor. Plloaso mako
nuto uf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag
schengos, uf efed, quiel ba mada su otrenzr swipontgwook proudgs hus
yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap
zux copy wipont trenz kipg naar mixent phona. Cak pwico siructiun ruos
nust apoply tyu cak UCU sisulutiun munityuw uw cak UCU-TGU jot
scannow. Trens roxas eis ti Plokeing quert loppe eis yop prexs. Piy
opher hawers, eit yaggles orn ti sumbloat alohe plok. Su havo loasor
cakso tgu pwuructs tyu.

View file

@ -0,0 +1,40 @@
---
weight: 160
title: "Etiam vel neque nec dui dignissim bibendum."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/06-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Nam liber tempor cum soluta nobis eleifend option congue nihil
imperdiet doming id quod mazim placerat facer possim assum. Lorem
ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation
ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla facilisis.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores
et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur
sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo
eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet
clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata
ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor
sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat.

View file

@ -0,0 +1,28 @@
---
weight: 170
title: "Etiam vel tortor sodales tellus ultricies commodo."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/07-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat
volutpat.
Ut wisis enim ad minim veniam, quis nostrud exerci tution
ullam corper suscipit lobortis nisi ut aliquip ex ea commodo
consequat. Duis te feugi facilisi. Duis autem dolor in hendrerit in
vulputate velit esse molestie consequat.
Vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan
et iusto odio dignissim qui blandit praesent luptatum zzril delenit au
gue duis dolore te feugat nulla facilisi.

View file

@ -0,0 +1,47 @@
---
weight: 180
title: "Vestibulum convallis, lorem a tempus semper"
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/08-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Lorem **ipsum dolor** sit amet, consectetur adipiscing elit, set eiusmod
tempor incidunt et labore et dolore magna aliquam. Ut enim ad minim
veniam, quis nostrud exerc. Irure dolor in reprehend incididunt ut
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse
molestaie cillum. Tia non ob ea soluad incommod quae egen ium improb
fugiend. Officia deserunt mollit anim id est laborum Et harumd dereud
facilis est er expedit distinct. Nam liber te conscient to factor tum
poen legum odioque civiuda et tam. Neque pecun modut est neque nonor
et imper ned libidig met, consectetur adipiscing elit, sed ut labore
et dolore magna aliquam is nostrud exercitation ullam mmodo
consequet. Duis aute in voluptate velit esse cillum dolore eu fugiat
nulla pariatur.
At vver eos et accusam dignissum qui blandit est praesent. Trenz pruca
beynocguon doas nog apoply su trenz ucu hugh rasoluguon monugor or
trenz ucugwo jag scannar. Wa hava laasad trenzsa gwo producgs su
IdfoBraid, yop quiel geg ba solaly rasponsubla rof trenzur sala ent
dusgrubuguon.
Offoctivo immoriatoly, hawrgasi pwicos asi sirucor. Thas sirutciun
applios tyu thuso itoms ghuso pwicos gosi sirucor in mixent gosi
sirucor ic mixent ples cak ontisi sowios uf Zerm hawr rwivos. Unte af
phen neige pheings atoot Prexs eis phat eit sakem eit vory gast te
Plok peish ba useing phen roxas. Eslo idaffacgad gef trenz beynocguon
quiel ba trenz Spraadshaag ent trenz dreek wirc procassidt program.
Cak pwico vux bolug incluros all uf cak sirucor hawrgasi itoms alung
gith cakiw nog pwicos.

View file

@ -0,0 +1,38 @@
---
weight: 190
title: "Phasellus lacus."
date: 2017-11-14T14:47:02+01:00
resImgTeaser: photocards/pixabay.com/09-photocard.jpg
description:
tags:
- front
- Lorem
categories:
- photocards
---
Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
imperdiet a, venenatis vitae, justo.
Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper
libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc,
blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio
et ante tincidunt tempus. Donec vitae sapien ut libero venenatis
faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus
tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit
cursus nunc,
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.

View file

@ -0,0 +1,11 @@
---
weight: 20
title: "Photocards"
date: 2017-11-13T15:37:04+01:00
resImgTeaser: teaserpics/pixabay.com/seeberg-2825904_640.jpg
tags:
- front
- Lorem
categories:
- eyecatcher
---

View file

@ -0,0 +1,6 @@
---
weight: 15
title: "About this Theme"
date: "2017-11-22T07:42:26+01:00"
icon: "fas fa-info fa-fw"
---

View file

@ -0,0 +1,6 @@
---
weight: 10
title: "Hugo Basic Examples"
date: "2017-11-22T07:42:26+01:00"
icon: "fab fa-superpowers"
---

View file

@ -0,0 +1,21 @@
+++
title = "About Hugo"
date = "2014-04-09"
categories = [
"Hugo Basic Example"
]
resImgTeaser = "teaserpics/gohugo.io/hugo-ipsum.png"
+++
Hugo is a static site engine written in Go.
It makes use of a variety of open source projects including:
* [Cobra](https://github.com/spf13/cobra)
* [Viper](https://github.com/spf13/viper)
* [J Walter Weatherman](https://github.com/spf13/jWalterWeatherman)
* [Cast](https://github.com/spf13/cast)
Learn more and contribute on [GitHub](https://github.com/gohugoio).

View file

@ -0,0 +1,346 @@
+++
title = "(Hu)go Template Primer"
description = ""
tags = [
"go",
"golang",
"templates",
"themes",
"development",
]
date = "2014-04-02"
categories = [
"Hugo Basic Example",
"Development",
"golang",
]
resImgTeaser = "teaserpics/gohugo.io/hugo-ipsum.png"
+++
Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for
its template engine. It is an extremely lightweight engine that provides a very
small amount of logic. In our experience that it is just the right amount of
logic to be able to create a good static website. If you have used other
template systems from different languages or frameworks you will find a lot of
similarities in go templates.
This document is a brief primer on using go templates. The [go docs][gohtmltemplate]
provide more details.
## Introduction to Go Templates
Go templates provide an extremely simple template language. It adheres to the
belief that only the most basic of logic belongs in the template or view layer.
One consequence of this simplicity is that go templates parse very quickly.
A unique characteristic of go templates is they are content aware. Variables and
content will be sanitized depending on the context of where they are used. More
details can be found in the [go docs][gohtmltemplate].
## Basic Syntax
Go lang templates are html files with the addition of variables and
functions.
**Go variables and functions are accessible within {{ }}**
Accessing a predefined variable "foo":
{{ foo }}
**Parameters are separated using spaces**
Calling the add function with input of 1, 2:
{{ add 1 2 }}
**Methods and fields are accessed via dot notation**
Accessing the Page Parameter "bar"
{{ .Params.bar }}
**Parentheses can be used to group items together**
{{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
## Variables
Each go template has a struct (object) made available to it. In hugo each
template is passed either a page or a node struct depending on which type of
page you are rendering. More details are available on the
[variables](/layout/variables) page.
A variable is accessed by referencing the variable name.
<title>{{ .Title }}</title>
Variables can also be defined and referenced.
{{ $address := "123 Main St."}}
{{ $address }}
## Functions
Go template ship with a few functions which provide basic functionality. The go
template system also provides a mechanism for applications to extend the
available functions with their own. [Hugo template
functions](/layout/functions) provide some additional functionality we believe
are useful for building websites. Functions are called by using their name
followed by the required parameters separated by spaces. Template
functions cannot be added without recompiling hugo.
**Example:**
{{ add 1 2 }}
## Includes
When including another template you will pass to it the data it will be
able to access. To pass along the current context please remember to
include a trailing dot. The templates location will always be starting at
the /layout/ directory within Hugo.
**Example:**
{{ template "chrome/header.html" . }}
## Logic
Go templates provide the most basic iteration and conditional logic.
### Iteration
Just like in go, the go templates make heavy use of range to iterate over
a map, array or slice. The following are different examples of how to use
range.
**Example 1: Using Context**
{{ range array }}
{{ . }}
{{ end }}
**Example 2: Declaring value variable name**
{{range $element := array}}
{{ $element }}
{{ end }}
**Example 2: Declaring key and value variable name**
{{range $index, $element := array}}
{{ $index }}
{{ $element }}
{{ end }}
### Conditionals
If, else, with, or, & and provide the framework for handling conditional
logic in Go Templates. Like range, each statement is closed with `end`.
Go Templates treat the following values as false:
* false
* 0
* any array, slice, map, or string of length zero
**Example 1: If**
{{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
**Example 2: If -> Else**
{{ if isset .Params "alt" }}
{{ index .Params "alt" }}
{{else}}
{{ index .Params "caption" }}
{{ end }}
**Example 3: And & Or**
{{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
**Example 4: With**
An alternative way of writing "if" and then referencing the same value
is to use "with" instead. With rebinds the context `.` within its scope,
and skips the block if the variable is absent.
The first example above could be simplified as:
{{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
**Example 5: If -> Else If**
{{ if isset .Params "alt" }}
{{ index .Params "alt" }}
{{ else if isset .Params "caption" }}
{{ index .Params "caption" }}
{{ end }}
## Pipes
One of the most powerful components of go templates is the ability to
stack actions one after another. This is done by using pipes. Borrowed
from unix pipes, the concept is simple, each pipeline's output becomes the
input of the following pipe.
Because of the very simple syntax of go templates, the pipe is essential
to being able to chain together function calls. One limitation of the
pipes is that they only can work with a single value and that value
becomes the last parameter of the next pipeline.
A few simple examples should help convey how to use the pipe.
**Example 1 :**
{{ if eq 1 1 }} Same {{ end }}
is the same as
{{ eq 1 1 | if }} Same {{ end }}
It does look odd to place the if at the end, but it does provide a good
illustration of how to use the pipes.
**Example 2 :**
{{ index .Params "disqus_url" | html }}
Access the page parameter called "disqus_url" and escape the HTML.
**Example 3 :**
{{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
Stuff Here
{{ end }}
Could be rewritten as
{{ isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
Stuff Here
{{ end }}
## Context (aka. the dot)
The most easily overlooked concept to understand about go templates is that {{ . }}
always refers to the current context. In the top level of your template this
will be the data set made available to it. Inside of a iteration it will have
the value of the current item. When inside of a loop the context has changed. .
will no longer refer to the data available to the entire page. If you need to
access this from within the loop you will likely want to set it to a variable
instead of depending on the context.
**Example:**
{{ $title := .Site.Title }}
{{ range .Params.tags }}
<li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
{{ end }}
Notice how once we have entered the loop the value of {{ . }} has changed. We
have defined a variable outside of the loop so we have access to it from within
the loop.
# Hugo Parameters
Hugo provides the option of passing values to the template language
through the site configuration (for sitewide values), or through the meta
data of each specific piece of content. You can define any values of any
type (supported by your front matter/config format) and use them however
you want to inside of your templates.
## Using Content (page) Parameters
In each piece of content you can provide variables to be used by the
templates. This happens in the [front matter](/content/front-matter).
An example of this is used in this documentation site. Most of the pages
benefit from having the table of contents provided. Sometimes the TOC just
doesn't make a lot of sense. We've defined a variable in our front matter
of some pages to turn off the TOC from being displayed.
Here is the example front matter:
```
---
title: "Permalinks"
date: "2013-11-18"
aliases:
- "/doc/permalinks/"
groups: ["extras"]
groups_weight: 30
notoc: true
---
```
Here is the corresponding code inside of the template:
{{ if not .Params.notoc }}
<div id="toc" class="well col-md-4 col-sm-6">
{{ .TableOfContents }}
</div>
{{ end }}
## Using Site (config) Parameters
In your top-level configuration file (eg, `config.yaml`) you can define site
parameters, which are values which will be available to you in chrome.
For instance, you might declare:
```yaml
params:
CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
TwitterUser: "spf13"
SidebarRecentLimit: 5
```
Within a footer layout, you might then declare a `<footer>` which is only
provided if the `CopyrightHTML` parameter is provided, and if it is given,
you would declare it to be HTML-safe, so that the HTML entity is not escaped
again. This would let you easily update just your top-level config file each
January 1st, instead of hunting through your templates.
```
{{if .Site.Params.CopyrightHTML}}<footer>
<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
</footer>{{end}}
```
An alternative way of writing the "if" and then referencing the same value
is to use "with" instead. With rebinds the context `.` within its scope,
and skips the block if the variable is absent:
```
{{with .Site.Params.TwitterUser}}<span class="twitter">
<a href="https://twitter.com/{{.}}" rel="author">
<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
alt="Twitter"></a>
</span>{{end}}
```
Finally, if you want to pull "magic constants" out of your layouts, you can do
so, such as in this example:
```
<nav class="recent">
<h1>Recent Posts</h1>
<ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
<li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
{{end}}</ul>
</nav>
```
[go]: <http://golang.org/>
[gohtmltemplate]: <http://golang.org/pkg/html/template/>

View file

@ -0,0 +1,90 @@
+++
title = "Getting Started with Hugo"
description = ""
tags = [
"go",
"golang",
"hugo",
"development",
]
date = "2014-04-02"
categories = [
"Hugo Basic Example",
"Development",
"golang",
]
resImgTeaser = "teaserpics/gohugo.io/hugo-lorem.png"
+++
## Step 1. Install Hugo
Goto [hugo releases](https://github.com/spf13/hugo/releases) and download the
appropriate version for your os and architecture.
Save it somewhere specific as we will be using it in the next step.
More complete instructions are available at [installing hugo](/overview/installing/)
## Step 2. Build the Docs
Hugo has its own example site which happens to also be the documentation site
you are reading right now.
Follow the following steps:
1. Clone the [hugo repository](http://github.com/spf13/hugo)
2. Go into the repo
3. Run hugo in server mode and build the docs
4. Open your browser to http://localhost:1313
Corresponding pseudo commands:
git clone https://github.com/spf13/hugo
cd hugo
/path/to/where/you/installed/hugo server --source=./docs
> 29 pages created
> 0 tags index created
> in 27 ms
> Web Server is available at http://localhost:1313
> Press ctrl+c to stop
Once you've gotten here, follow along the rest of this page on your local build.
## Step 3. Change the docs site
Stop the Hugo process by hitting ctrl+c.
Now we are going to run hugo again, but this time with hugo in watch mode.
/path/to/hugo/from/step/1/hugo server --source=./docs --watch
> 29 pages created
> 0 tags index created
> in 27 ms
> Web Server is available at http://localhost:1313
> Watching for changes in /Users/spf13/Code/hugo/docs/content
> Press ctrl+c to stop
Open your [favorite editor](http://vim.spf13.com) and change one of the source
content pages. How about changing this very file to *fix the typo*. How about changing this very file to *fix the typo*.
Content files are found in `docs/content/`. Unless otherwise specified, files
are located at the same relative location as the url, in our case
`docs/content/overview/quickstart.md`.
Change and save this file.. Notice what happened in your terminal.
> Change detected, rebuilding site
> 29 pages created
> 0 tags index created
> in 26 ms
Refresh the browser and observe that the typo is now fixed.
Notice how quick that was. Try to refresh the site before it's finished building.. I double dare you.
Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.
## Step 4. Have fun
The best way to learn something is to play with it.

View file

@ -0,0 +1,156 @@
---
date: 2014-03-10
linktitle: Migrating from Jekyll
title: Migrate to Hugo from Jekyll
weight: 10
categories : [
"Hugo Basic Example",
]
resImgTeaser: teaserpics/gohugo.io/hugo-lorem.png
---
## Move static content to `static`
Jekyll has a rule that any directory not starting with `_` will be copied as-is to the `_site` output. Hugo keeps all static content under `static`. You should therefore move it all there.
With Jekyll, something that looked like
<root>/
▾ images/
logo.png
should become
<root>/
▾ static/
▾ images/
logo.png
Additionally, you'll want any files that should reside at the root (such as `CNAME`) to be moved to `static`.
## Create your Hugo configuration file
Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the [Hugo configuration documentation](/overview/configuration/) for details.
## Set your configuration publish folder to `_site`
The default is for Jekyll to publish to `_site` and for Hugo to publish to `public`. If, like me, you have [`_site` mapped to a git submodule on the `gh-pages` branch](http://blog.blindgaenger.net/generate_github_pages_in_a_submodule.html), you'll want to do one of two alternatives:
1. Change your submodule to point to map `gh-pages` to public instead of `_site` (recommended).
git submodule deinit _site
git rm _site
git submodule add -b gh-pages git@github.com:your-username/your-repo.git public
2. Or, change the Hugo configuration to use `_site` instead of `public`.
{
..
"publishdir": "_site",
..
}
## Convert Jekyll templates to Hugo templates
That's the bulk of the work right here. The documentation is your friend. You should refer to [Jekyll's template documentation](http://jekyllrb.com/docs/templates/) if you need to refresh your memory on how you built your blog and [Hugo's template](/layout/templates/) to learn Hugo's way.
As a single reference data point, converting my templates for [heyitsalex.net](http://heyitsalex.net/) took me no more than a few hours.
## Convert Jekyll plugins to Hugo shortcodes
Jekyll has [plugins](http://jekyllrb.com/docs/plugins/); Hugo has [shortcodes](/doc/shortcodes/). It's fairly trivial to do a port.
### Implementation
As an example, I was using a custom [`image_tag`](https://github.com/alexandre-normand/alexandre-normand/blob/74bb12036a71334fdb7dba84e073382fc06908ec/_plugins/image_tag.rb) plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.
Jekyll's plugin:
module Jekyll
class ImageTag < Liquid::Tag
@url = nil
@caption = nil
@class = nil
@link = nil
// Patterns
IMAGE_URL_WITH_CLASS_AND_CAPTION =
IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\w+)(\s+)((https?:\/\/|\/)(\S+))(\s+)"(.*?)"(\s+)->((https?:\/\/|\/)(\S+))(\s*)/i
IMAGE_URL_WITH_CAPTION = /((https?:\/\/|\/)(\S+))(\s+)"(.*?)"/i
IMAGE_URL_WITH_CLASS = /(\w+)(\s+)((https?:\/\/|\/)(\S+))/i
IMAGE_URL = /((https?:\/\/|\/)(\S+))/i
def initialize(tag_name, markup, tokens)
super
if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK
@class = $1
@url = $3
@caption = $7
@link = $9
elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION
@class = $1
@url = $3
@caption = $7
elsif markup =~ IMAGE_URL_WITH_CAPTION
@url = $1
@caption = $5
elsif markup =~ IMAGE_URL_WITH_CLASS
@class = $1
@url = $3
elsif markup =~ IMAGE_URL
@url = $1
end
end
def render(context)
if @class
source = "<figure class='#{@class}'>"
else
source = "<figure>"
end
if @link
source += "<a href=\"#{@link}\">"
end
source += "<img src=\"#{@url}\">"
if @link
source += "</a>"
end
source += "<figcaption>#{@caption}</figcaption>" if @caption
source += "</figure>"
source
end
end
end
Liquid::Template.register_tag('image', Jekyll::ImageTag)
is written as this Hugo shortcode:
<!-- image -->
<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
{{ with .Get "link"}}<a href="{{.}}">{{ end }}
<img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
{{ if .Get "link"}}</a>{{ end }}
{{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
<figcaption>{{ if isset .Params "title" }}
{{ .Get "title" }}{{ end }}
{{ if or (.Get "caption") (.Get "attr")}}<p>
{{ .Get "caption" }}
{{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
{{ .Get "attr" }}
{{ if .Get "attrlink"}}</a> {{ end }}
</p> {{ end }}
</figcaption>
{{ end }}
</figure>
<!-- image -->
### Usage
I simply changed:
{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
to this (this example uses a slightly extended version named `fig`, different than the built-in `figure`):
{{%/* fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" */%}}
As a bonus, the shortcode named parameters are, arguably, more readable.
## Finishing touches
### Fix content
Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that `hugo server --watch` is your friend. Test your changes and fix errors as needed.
### Clean up
You'll want to remove the Jekyll configuration at this point. If you have anything else that isn't used, delete it.
## A practical example in a diff
[Hey, it's Alex](http://heyitsalex.net/) was migrated in less than a _father-with-kids day_ from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this [diff](https://github.com/alexandre-normand/alexandre-normand/compare/869d69435bd2665c3fbf5b5c78d4c22759d7613a...b7f6605b1265e83b4b81495423294208cc74d610).

View file

@ -0,0 +1,8 @@
---
weight:
title: "Images taken from..."
date: 2017-12-08T08:44:43+01:00
icon: "far fa-images fa-fw"
resImgTeaser: teaserpics/pixabay.com/paint-2985569_640.jpg
---

View file

@ -0,0 +1,35 @@
---
weight: 300
title: "teaserpics (bitbucket.org)"
date: 2017-12-08T08:57:29+01:00
resImgTeaser: teaserpics/pixabay.com/pencil-1067670_640.jpg
tags:
- pictures
- license
categories:
- legal
description: "License: Redistribution and use in source and binary forms are permitted (conditions apply)"
---
## License
* https://bitbucket.org/birkenfeld/pygments-main/src/7941677dc77d4f2bf0bbd6140ade85a9454b8b80/LICENSE
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* https://bitbucket.org/birkenfeld/pygments-main/src/7941677dc77d4f2bf0bbd6140ade85a9454b8b80/doc/_static/logo_only.png
* pygments logo created by Joel Unger. https://dribbble.com/joelunger
## Images
{{< res-gallery-load-photoswipe >}}
{{< res-gallery match="teaserpics/bitbucket.org/*" >}}

View file

@ -0,0 +1,44 @@
---
weight: 200
title: "teaserpics (github.com/gohugoio)"
date: 2017-12-08T08:57:33+01:00
resImgTeaser: teaserpics/pixabay.com/green-1738220_640.jpg
tags:
- pictures
- license
categories:
- legal
description: "License: Apache License 2.0"
---
## License
* Apache License 2.0, https://github.com/gohugoio/hugo/blob/master/LICENSE.md
* The Hugo logos are copyright © Steve Francia 20132017.
* The Hugo Gopher is based on an original work by Renée French.
## Images
{{< res-gallery-load-photoswipe >}}
### Default
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" >}}
### thumbOpt="200x200"
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Resize**" thumbOpt="200x200" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Resize" thumbOpt="200x200" >}}
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Fill**" thumbOpt="**200x200**" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Fill" thumbOpt="200x200" >}}
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Fit**" thumbOpt="**200x200**" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Fit" thumbOpt="200x200" >}}
### thumbOpt="200x100"
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Resize**" thumbOpt="**200x100**" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Resize" thumbOpt="200x100" >}}
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Fill**" thumbOpt="**200x100**" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Fill" thumbOpt="200x100" >}}
using shortcode: {{</* res-gallery match="teaserpics/gohugo.io/*" thumbCmd="**Fit**" thumbOpt="**200x100**" */>}}
{{< res-gallery match="teaserpics/gohugo.io/*" thumbCmd="Fit" thumbOpt="200x100" >}}

View file

@ -0,0 +1,22 @@
---
weight: 140
title: "clients (pixabay.com)"
date: 2017-12-08T08:57:49+01:00
resImgTeaser: teaserpics/pixabay.com/pencil-1067670_640.jpg
tags:
- pictures
- license
categories:
- legal
description: "License: Creative Commons CC0"
---
## License
* https://pixabay.com/en/service/terms/
* License: Images and Videos on Pixabay are released under Creative Commons CC0.
* https://creativecommons.org/publicdomain/zero/1.0/deed.en
## Images
{{< res-gallery-load-photoswipe >}}
{{< res-gallery match="clients/pixabay.com/*" >}}

View file

@ -0,0 +1,22 @@
---
weight: 150
title: "jumbotrons (pixabay.com)"
date: 2017-12-08T08:57:49+01:00
resImgTeaser: teaserpics/pixabay.com/pencil-1067670_640.jpg
tags:
- pictures
- license
categories:
- legal
description: "License: Creative Commons CC0"
---
## License
* https://pixabay.com/en/service/terms/
* License: Images and Videos on Pixabay are released under Creative Commons CC0.
* https://creativecommons.org/publicdomain/zero/1.0/deed.en
## Images
{{< res-gallery-load-photoswipe >}}
{{< res-gallery match="jumbotrons/pixabay.com/*" >}}

View file

@ -0,0 +1,23 @@
---
weight: 110
title: "photocards (pixabay.com)"
date: 2017-12-08T08:57:25+01:00
resImgTeaser: teaserpics/pixabay.com/paint-2985569_640.jpg
tags:
- pictures
- license
categories:
- legal
description: "License: Creative Commons CC0"
---
## License
* https://pixabay.com/en/service/terms/
* License: Images and Videos on Pixabay are released under Creative Commons CC0.
* https://creativecommons.org/publicdomain/zero/1.0/deed.en
## Images
{{< res-gallery-load-photoswipe >}}
using shortcode: {{</* res-gallery match="photocards/pixabay.com/*" caption-position="bottom" caption-effect="fade" hover-effect="slideup" */>}}
{{< res-gallery match="photocards/pixabay.com/*" caption-position="bottom" caption-effect="fade" hover-effect="slideup" >}}

Some files were not shown because too many files have changed in this diff Show more