Compare commits
9 Commits
f13df0d6c4
...
master
Author | SHA1 | Date | |
---|---|---|---|
6065d24348
|
|||
ca48a10ee9
|
|||
c60a4178de
|
|||
be1a68b0e4 | |||
983693bc03 | |||
6b93ae1bbb
|
|||
b17378ca5f
|
|||
9357101bcf
|
|||
b9191d7c94
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,3 +5,5 @@
|
||||
*.bmp
|
||||
*.doc
|
||||
*.docx
|
||||
public
|
||||
.hugo_build.lock
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "themes/hugo-clarity"]
|
||||
path = themes/hugo-clarity
|
||||
url = https://github.com/chipzoller/hugo-clarity.git
|
26
archetypes/post.md
Normal file
26
archetypes/post.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}" # Title of the blog post.
|
||||
date: {{ .Date }} # Date of post creation.
|
||||
description: "Article description." # Description used for search engine.
|
||||
featured: true # Sets if post is a featured post, making appear on the home page side bar.
|
||||
draft: true # Sets whether to render this page. Draft of true will not be rendered.
|
||||
toc: false # Controls if a table of contents should be generated for first-level links automatically.
|
||||
# menu: main
|
||||
usePageBundles: false # Set to true to group assets like images in the same folder as this post.
|
||||
featureImage: "/images/path/file.jpg" # Sets featured image on blog post.
|
||||
featureImageAlt: 'Description of image' # Alternative text for featured image.
|
||||
featureImageCap: 'This is the featured image.' # Caption (optional).
|
||||
thumbnail: "/images/path/thumbnail.png" # Sets thumbnail image appearing inside card on homepage.
|
||||
shareImage: "/images/path/share.png" # Designate a separate image for social media sharing.
|
||||
codeMaxLines: 10 # Override global value for how many lines within a code block before auto-collapsing.
|
||||
codeLineNumbers: false # Override global value for showing of line numbers within code block.
|
||||
figurePositionShow: true # Override global value for showing the figure label.
|
||||
categories:
|
||||
- Technology
|
||||
tags:
|
||||
- Safety
|
||||
- Messaging
|
||||
# comment: false # Disable comment if false.
|
||||
---
|
||||
|
||||
**Insert Lead paragraph here.**
|
24
config/_default/config.toml
Normal file
24
config/_default/config.toml
Normal file
@@ -0,0 +1,24 @@
|
||||
# set `baseurl` to your root domain
|
||||
# if you set it to "/" share icons won't work properly on production
|
||||
baseurl = "https://domestos.info/" # Include trailing slash
|
||||
# title = "Clarity" # Edit directly from config/_default/languages.toml # alternatively, uncomment this and remove `title` entry from the aforemention file.
|
||||
copyright = "Copyright © 2008–2018, Steve Francia and the Hugo Authors; all rights reserved."
|
||||
# canonifyurls = true
|
||||
paginate = 10
|
||||
theme = "hugo-clarity"
|
||||
disqusShortname = ""
|
||||
|
||||
DefaultContentLanguage = "en"
|
||||
# [languages]
|
||||
# config/_default/languages.toml
|
||||
|
||||
# [menus]
|
||||
# config/_default/menus/menu.xx.toml
|
||||
|
||||
[taxonomies]
|
||||
category = "categories"
|
||||
tag = "tags"
|
||||
series = "series"
|
||||
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "JSON"]
|
23
config/_default/configTaxo.toml
Normal file
23
config/_default/configTaxo.toml
Normal file
@@ -0,0 +1,23 @@
|
||||
timeout = 30000
|
||||
enableInlineShortcodes = true
|
||||
footnoteReturnLinkContents = "^"
|
||||
|
||||
[privacy]
|
||||
|
||||
[privacy.vimeo]
|
||||
disabled = false
|
||||
simple = true
|
||||
|
||||
[privacy.twitter]
|
||||
disabled = false
|
||||
enableDNT = true
|
||||
simple = true
|
||||
disableInlineCSS = true
|
||||
|
||||
[privacy.instagram]
|
||||
disabled = false
|
||||
simple = true
|
||||
|
||||
[privacy.youtube]
|
||||
disabled = false
|
||||
privacyEnhanced = true
|
14
config/_default/languages.toml
Normal file
14
config/_default/languages.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
[en]
|
||||
title = "Clarity"
|
||||
LanguageName = "English"
|
||||
weight = 1
|
||||
|
||||
[pt]
|
||||
title = "Claridade" # just for the sake of showing this is possible
|
||||
LanguageName = "Português"
|
||||
weight = 2
|
||||
|
||||
[sr]
|
||||
title = "Доместос" # just for the sake of showing this is possible
|
||||
LanguageName = "Српски"
|
||||
weight = 2
|
17
config/_default/markup.toml
Normal file
17
config/_default/markup.toml
Normal file
@@ -0,0 +1,17 @@
|
||||
[goldmark]
|
||||
[goldmark.renderer]
|
||||
hardWraps = false
|
||||
unsafe = true # change to false to disable inclusion of rawHTML and math functions
|
||||
xhtml = false
|
||||
[goldmark.extensions]
|
||||
typographer = false
|
||||
[highlight]
|
||||
codeFences = true
|
||||
guessSyntax = true
|
||||
hl_Lines = "--"
|
||||
lineNoStart = 1
|
||||
lineNos = true # always set to true # else line numbers won't show at all! even when you toggle them on in the UI
|
||||
lineNumbersInTable = false # toggling this on (i.e to true) or deleting this line will break the code blocks functionality. Will
|
||||
noClasses = false
|
||||
# style = "monokai"
|
||||
tabWidth = 2
|
46
config/_default/menus/menu.en.toml
Normal file
46
config/_default/menus/menu.en.toml
Normal file
@@ -0,0 +1,46 @@
|
||||
[[main]]
|
||||
name = "Home"
|
||||
url = ""
|
||||
weight = -110
|
||||
|
||||
[[main]]
|
||||
name = "Archives"
|
||||
url = "post/rich-content/"
|
||||
weight = -109
|
||||
|
||||
# Submenus are done this way: parent -> identifier
|
||||
[[main]]
|
||||
name = "Links"
|
||||
identifier = "Links"
|
||||
weight = -108
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
url = "about/"
|
||||
weight = -107
|
||||
|
||||
# social menu links
|
||||
|
||||
[[social]]
|
||||
name = "github"
|
||||
type = "social"
|
||||
weight = 1
|
||||
url = "https://github.com/#"
|
||||
[[social]]
|
||||
name = "rss"
|
||||
weight = 4
|
||||
url = "index.xml"
|
||||
|
||||
# other supported social links
|
||||
# name = "youtube"
|
||||
# url = "https://www.youtube.com/#"
|
||||
# name = "facebook"
|
||||
# url = "https://facebook.com/#"
|
||||
# name = "instagram"
|
||||
# url = "https://instagram.com/#"
|
||||
# name = "stackoverflow"
|
||||
# url = "https://stackoverflow.com/#"
|
||||
# name = "gitlab"
|
||||
# url = "https://gitlab.com/#"
|
||||
# name = "discord"
|
||||
# url = "https://discord.gg/#"
|
19
config/_default/menus/menu.pt.toml
Normal file
19
config/_default/menus/menu.pt.toml
Normal file
@@ -0,0 +1,19 @@
|
||||
[[main]]
|
||||
name = "Início"
|
||||
url = ""
|
||||
weight = -110
|
||||
|
||||
# [[main]]
|
||||
# name = "Arquivos"
|
||||
# url = "post/rich-content/"
|
||||
# weight = -109
|
||||
|
||||
# Submenus are done this way: parent -> identifier
|
||||
[[main]]
|
||||
name = "Links"
|
||||
identifier = "Links"
|
||||
weight = -108
|
||||
[[main]]
|
||||
name = "Sobre"
|
||||
url = "about/"
|
||||
weight = -107
|
149
config/_default/params.toml
Normal file
149
config/_default/params.toml
Normal file
@@ -0,0 +1,149 @@
|
||||
# enable search
|
||||
enableSearch = true
|
||||
|
||||
# socials
|
||||
introDescription = "Technologist, perpetual student, teacher, continual incremental improvement."
|
||||
# introURL = "about/" # set the url for the 'read more' button below the introDescription, or set to false to not show the button
|
||||
# description = "A theme based on VMware's Clarity Design System for publishing technical blogs with Hugo." # Set your site's meta tag (SEO) description here. Alternatively set this description in your home page content file e.g. content/_index.md. Whatever is set in the latter will take precedence.
|
||||
# keywords = ["design", "clarity", "hugo theme"] # Set your site's meta tag (SEO) keywords here. Alternatively set these in your home page content file e.g. content/_index.md. Whatever is set in the latter will take precedence.
|
||||
|
||||
# showShare = false # Uncomment to not show share buttons on each post. Also available in each post's front matter.
|
||||
|
||||
# Google analytics Id
|
||||
ga_analytics = ""
|
||||
|
||||
# Google tag manager
|
||||
google_tag_manager_id = ""
|
||||
|
||||
# Baidu analytics Id
|
||||
# baidu_analytics = "XXXXXXXX"
|
||||
|
||||
# limit the number of taxonomies links shown on the sidebar of each page by default.
|
||||
numberOfTagsShown = 14 # Applies for all other default & custom taxonomies. e.g categories, brands see https://gohugo.io/content-management/taxonomies#what-is-a-taxonomy
|
||||
|
||||
# Whether to default to storing images and other assets in the `static` directory, or use Hugo page bundles.
|
||||
# Switch to `true` if you'd like to group assets with the post itself (as a "leaf bundle").
|
||||
# This can be overridden at the page level; what is set below acts as the default if no page variable is set.
|
||||
# Details on page bundles: https://gohugo.io/content-management/page-bundles/#leaf-bundles
|
||||
usePageBundles = false
|
||||
|
||||
# Path variables
|
||||
#
|
||||
# By default, each of these directories are children of the `static` directory.
|
||||
#
|
||||
# In some Apache server installs, these directory names could conflict and you
|
||||
# may want to change them. See:
|
||||
# https://github.com/chipzoller/hugo-clarity/issues/74
|
||||
#
|
||||
# If you change the names of these directories, be sure to copy the contents of
|
||||
# the originals to get the files included with Hugo Clarity.
|
||||
#
|
||||
# Images:
|
||||
imagesDir = "images/" # without a leading forward slash
|
||||
# Icons:
|
||||
iconsDir = "icons/" # without a leading forward slash
|
||||
# Fonts:
|
||||
fontsDir = "fonts/" # without a leading forward slash
|
||||
|
||||
# Social media sharing image: Will be used on Twitter, Facebook, LinkedIn, etc.
|
||||
# when a given page has no other image present.
|
||||
fallBackOgImage = "images/thumbnail.png"
|
||||
|
||||
# Logo image
|
||||
logo = "logos/logo.png"
|
||||
|
||||
# center logo on navbar
|
||||
centerLogo = false # Set to "true" for centering or "false" for left aligned.
|
||||
|
||||
# sets the maximum number of lines per codeblock. The codeblock will however be scrollable and expandable.
|
||||
codeMaxLines = 7
|
||||
|
||||
# disable showing line numbers by default. Switch to `true` if you'd rather have them on.
|
||||
codeLineNumbers = false
|
||||
|
||||
# enable math notation. Switch to `true` to enable mathjax in your site.
|
||||
enableMathNotation = false
|
||||
|
||||
# directory(s) where your articles are located
|
||||
mainSections = ["post"] # see config details here https://gohugo.io/functions/where/#mainsections
|
||||
|
||||
# Label Non inline images on an article body
|
||||
figurePositionShow = false # toggle on or off globally
|
||||
# you can toggle this behaviour on or off on per page using the same variable inside your articles frontmatter
|
||||
figurePositionLabel = "Figure" # the text before image number e.g Figure 1.0
|
||||
|
||||
# Set the collapsed mobile navigation to either appear from the left or the right
|
||||
mobileNavigation = "left" # if you prefer right change to 'right'
|
||||
|
||||
# some site owners want to decide how they would like their sites to be introduced users. These settings give you as a site owner to decide how the user will view your site for the first time.
|
||||
|
||||
# please note that you cannot enforce both modes at the same time. i.e by enforcing one mode, you priotise it over the other (by setting it to true). enforceDarkMode will be commented out
|
||||
|
||||
# please also not that mode toggle UI will remain in place. That way, if a user prefers darkmode, they can have their way.
|
||||
|
||||
enforceLightMode = false
|
||||
# enforceDarkMode = false
|
||||
|
||||
# customize footer icon. see issue https://github.com/chipzoller/hugo-clarity/issues/77
|
||||
# footerLogo = "icons/copy.svg"
|
||||
|
||||
# Customize Sidebar Disclaimer Text
|
||||
# sidebardisclaimer = true
|
||||
# disclaimerText = "The opinions expressed on this site are my own personal opinions and do not represent my employer’s view in any way."
|
||||
|
||||
# Text for the languages menu.
|
||||
languageMenuName = "🌐"
|
||||
|
||||
# Title separator, default to |.
|
||||
# titleSeparator = "|"
|
||||
|
||||
# Enable or disable comments globally. Default to true.
|
||||
# comments = false
|
||||
|
||||
# Enable or disable Utterances (https://github.com/utterance/utterances) Github Issue-Based Commenting
|
||||
# utterances = true # Run the utterances script in the single.html layout to load https://utteranc.es comments
|
||||
# utterancesRepo = "GHUsername/Repository.Name" # Utterances is enabled when this param is set
|
||||
# utterancesLabel = "blog comments ✨💬✨" # The label needs to be manually added to your Github repository issues before configuring here
|
||||
# utterancesTheme = "github-light" # Default: github-dark
|
||||
# utterancesIssueTerm = "pathname" # Default: pathname
|
||||
|
||||
# Maximum number of recent posts. (default: 8)
|
||||
# numberOfRecentPosts = 8
|
||||
|
||||
# Maximum number of featured posts. (default: 8)
|
||||
# numberOfFeaturedPosts = 8
|
||||
|
||||
# Pin featured posts in list.
|
||||
# pinFeatured = true
|
||||
|
||||
# Maximum number of pinned featured posts. (default: 8)
|
||||
# numberOfPinnedPosts = 8
|
||||
|
||||
# Date format. Checkout https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference for details.
|
||||
# dateFormat = "2006-01-02" # Default to "Jan 2, 2006".
|
||||
# customFonts = false # toggle to true if you want to use custom fonts only.
|
||||
|
||||
# The year when ths website was created, this value is used in the copyright
|
||||
# notice of the footer.
|
||||
# since = 2016
|
||||
|
||||
# Show related content at the end of an article based on the 'series' taxonomy. Can be set in post front matter.
|
||||
# showRelatedInArticle = false
|
||||
# showRelatedInSidebar = false
|
||||
|
||||
# website author
|
||||
[author]
|
||||
name = "Jane Doe"
|
||||
# photo = "images/jane-doe.png" #include this if you would like to show the author photo on the sidebar
|
||||
|
||||
[plausible_analytics]
|
||||
enable = false # to enable plausible analytics set to true.
|
||||
websiteDomain = "example.com" # domain name of your website, most cases same as your base url
|
||||
# plausibleDomain = "plausible.io" # default is set to plausible.io, only required if plausible is selfhosted
|
||||
# scritpName = "plausible" # default is set to plausible, only required if using a custome name for script
|
||||
|
||||
[matomo_analytics]
|
||||
enable = false # To enable matomo analytics change to `true`.
|
||||
websiteDomain = "example.com" # Set the domain name of your website, in most cases same as your base URL this is required.
|
||||
matomoDomain = "matomo.example.com" # Set to Matomo domain
|
||||
matomoSiteID = "1" # Default is set to 1, change this to the siteid being tracked
|
5
content/_index.md
Normal file
5
content/_index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
+++
|
||||
author = "Hugo Authors"
|
||||
description = "A theme based on VMware's Clarity Design System for publishing technical blogs with Hugo." # Set your site's meta tag (SEO) description here. This overrides any description set in your site configuration.
|
||||
keywords = ["design", "clarity", "hugo theme"] # Set your site's meta tag (SEO) keywords here. These override any keywords set in your site configuration.
|
||||
+++
|
25
content/about.md
Normal file
25
content/about.md
Normal file
@@ -0,0 +1,25 @@
|
||||
+++
|
||||
title = "About"
|
||||
description = "Hugo, the world's fastest framework for building websites"
|
||||
date = "2019-02-28"
|
||||
aliases = ["about-us", "about-hugo", "contact"]
|
||||
author = "Hugo Authors"
|
||||
+++
|
||||
|
||||
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
|
||||
|
||||
Hugo makes use of a variety of open source projects including:
|
||||
|
||||
* https://github.com/yuin/goldmark
|
||||
* https://github.com/alecthomas/chroma
|
||||
* https://github.com/muesli/smartcrop
|
||||
* https://github.com/spf13/cobra
|
||||
* https://github.com/spf13/viper
|
||||
|
||||
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
|
||||
|
||||
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
|
||||
|
||||
Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
|
||||
|
||||
Learn more and contribute on [GitHub](https://github.com/gohugoio).
|
28
content/about.pt.md
Normal file
28
content/about.pt.md
Normal file
@@ -0,0 +1,28 @@
|
||||
+++
|
||||
title = "Sobre"
|
||||
description = "Hugo, the world's fastest framework for building websites"
|
||||
date = "2019-02-28"
|
||||
aliases = ["sobre"]
|
||||
author = "Hugo Authors"
|
||||
+++
|
||||
|
||||
Tradução em português. Apenas para demonstração, o resto do artigo não está traduzido.
|
||||
|
||||
|
||||
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
|
||||
|
||||
Hugo makes use of a variety of open source projects including:
|
||||
|
||||
* https://github.com/yuin/goldmark
|
||||
* https://github.com/alecthomas/chroma
|
||||
* https://github.com/muesli/smartcrop
|
||||
* https://github.com/spf13/cobra
|
||||
* https://github.com/spf13/viper
|
||||
|
||||
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
|
||||
|
||||
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
|
||||
|
||||
Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
|
||||
|
||||
Learn more and contribute on [GitHub](https://github.com/gohugoio).
|
5
content/archives.md
Normal file
5
content/archives.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
date: 2019-05-28
|
||||
type: section
|
||||
layout: "archives"
|
||||
---
|
7
content/homepage/about.md
Normal file
7
content/homepage/about.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: 'Our Difference'
|
||||
button: 'About us'
|
||||
weight: 2
|
||||
---
|
||||
|
||||
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Ipsum dolor sit amet, et essent mediocritatem quo.
|
3
content/homepage/index.md
Normal file
3
content/homepage/index.md
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
headless: true
|
||||
---
|
7
content/homepage/work.md
Normal file
7
content/homepage/work.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: 'We Help Business Grow'
|
||||
button: 'Our Work'
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit.
|
5
content/search.md
Normal file
5
content/search.md
Normal file
@@ -0,0 +1,5 @@
|
||||
+++
|
||||
title = "Search"
|
||||
searchPage = true
|
||||
type = "search"
|
||||
+++
|
13
i18n/autolang.sh
Executable file
13
i18n/autolang.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# This script attempts to automatically generate a language file.
|
||||
# It produces ugly results with strange grammar, but it might save a translator some time.
|
||||
|
||||
[ -z "$1" ] && echo 'Start this script with a language code, e.g. "./autolang.sh el"'
|
||||
|
||||
cat en.toml | while read -r line; do
|
||||
echo "$line" | grep '=' -q && \
|
||||
old="$(echo "$line" | cut -d= -f2)" && \
|
||||
new="$(echo "$old" | trans en:$1 -b -e google)" && \
|
||||
echo "$line" | sed "s/$old/ $new/" >> $1.toml || \
|
||||
echo "$line" >> $1.toml
|
||||
done
|
72
i18n/ca.toml
Normal file
72
i18n/ca.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Llegiu més"
|
||||
|
||||
[copyright]
|
||||
other = "Drets d'autor"
|
||||
|
||||
[all_rights]
|
||||
other = "Tots els drets reservats"
|
||||
|
||||
[share_on]
|
||||
other = "Compartiu a"
|
||||
|
||||
[featured_posts]
|
||||
other = "Entrades destacades"
|
||||
|
||||
[recent_posts]
|
||||
other = "Entrades recents"
|
||||
|
||||
[404_title]
|
||||
other = "Perdut"
|
||||
|
||||
[could_not_find]
|
||||
other = "No podem trobar la pàgina que cerqueu"
|
||||
|
||||
[go_back]
|
||||
other = "Vés enrere"
|
||||
|
||||
[translations]
|
||||
other = "Traduccions"
|
||||
|
||||
[categories]
|
||||
other = "Categories"
|
||||
|
||||
[tags]
|
||||
other = "Etiquetes"
|
||||
|
||||
[series]
|
||||
other = "Sèries"
|
||||
|
||||
[all_categories]
|
||||
other = "Totes les categories"
|
||||
|
||||
[all_tags]
|
||||
other = "Totes les etiquetes"
|
||||
|
||||
[all_series]
|
||||
other = "Totes les sèries"
|
||||
|
||||
[overview]
|
||||
other = "Resum"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min lectura"
|
||||
|
||||
[series_posts]
|
||||
other = "Publicacions d'aquesta sèrie"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Resultats"
|
||||
[no_matches]
|
||||
other = "No s'han trobat resultats"
|
||||
[search_field_placeholder]
|
||||
other = "Cerca la base de coneixements"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Cerca..."
|
||||
[search_results_label]
|
||||
other = "Resultats de la cerca"
|
||||
[short_search_query]
|
||||
other = "La consulta és massa curta"
|
||||
[type_to_search]
|
||||
other = "Escriu per cercar"
|
72
i18n/de.toml
Normal file
72
i18n/de.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Weiterlesen"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "All Rights Reserved"
|
||||
|
||||
[share_on]
|
||||
other = "Teilen"
|
||||
|
||||
[featured_posts]
|
||||
other = "Empfohlene Artikel"
|
||||
|
||||
[recent_posts]
|
||||
other = "Neueste Artikel"
|
||||
|
||||
[404_title]
|
||||
other = "Verirrt"
|
||||
|
||||
[could_not_find]
|
||||
other = "Die gesuchte Seite konnte nicht gefunden werden"
|
||||
|
||||
[go_back]
|
||||
other = "Zurück"
|
||||
|
||||
[translations]
|
||||
other = "Übersetzungen"
|
||||
|
||||
[categories]
|
||||
other = "Kategorien"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[series]
|
||||
other = "Serien"
|
||||
|
||||
[all_categories]
|
||||
other = "Alle Kategorien"
|
||||
|
||||
[all_tags]
|
||||
other = "Alle Tags"
|
||||
|
||||
[all_series]
|
||||
other = "Alle Serien"
|
||||
|
||||
[overview]
|
||||
other = "Inhalt"
|
||||
|
||||
[reading_time]
|
||||
other = "Lesezeit {{ .ReadingTime }} Min."
|
||||
|
||||
[series_posts]
|
||||
other = "Beiträge in dieser Serie"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Ergebnisse"
|
||||
[no_matches]
|
||||
other = "Keine Ergebnisse gefunden"
|
||||
[search_field_placeholder]
|
||||
other = "Wissensdatenbank durchsuchen"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Suchen..."
|
||||
[search_results_label]
|
||||
other = "Suchergebnisse"
|
||||
[short_search_query]
|
||||
other = "Abfrage ist zu kurz"
|
||||
[type_to_search]
|
||||
other = "Zum Suchen eingeben"
|
72
i18n/en.toml
Normal file
72
i18n/en.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Read More"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "All Rights Reserved"
|
||||
|
||||
[share_on]
|
||||
other = "Share on"
|
||||
|
||||
[featured_posts]
|
||||
other = "Featured Posts"
|
||||
|
||||
[recent_posts]
|
||||
other = "Recent Posts"
|
||||
|
||||
[404_title]
|
||||
other = "Lost"
|
||||
|
||||
[could_not_find]
|
||||
other = "We couldn't find the page you're looking for"
|
||||
|
||||
[go_back]
|
||||
other = "Go Back"
|
||||
|
||||
[translations]
|
||||
other = "Translations"
|
||||
|
||||
[categories]
|
||||
other = "Categories"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[series]
|
||||
other = "Series"
|
||||
|
||||
[all_categories]
|
||||
other = "All Categories"
|
||||
|
||||
[all_tags]
|
||||
other = "All Tags"
|
||||
|
||||
[all_series]
|
||||
other = "All Series"
|
||||
|
||||
[overview]
|
||||
other = "Overview"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Posts in this series"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Results"
|
||||
[no_matches]
|
||||
other = "No results found"
|
||||
[search_field_placeholder]
|
||||
other = "Search the knowledge base"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Search..."
|
||||
[search_results_label]
|
||||
other = "Search Results"
|
||||
[short_search_query]
|
||||
other = "Query is too short"
|
||||
[type_to_search]
|
||||
other = "Type to search"
|
72
i18n/es.toml
Normal file
72
i18n/es.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Leer más"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "Todos los Derechos Reservados"
|
||||
|
||||
[share_on]
|
||||
other = "Compartir en"
|
||||
|
||||
[featured_posts]
|
||||
other = "Posts destacados"
|
||||
|
||||
[recent_posts]
|
||||
other = "Posts recientes"
|
||||
|
||||
[404_title]
|
||||
other = "No encontrado"
|
||||
|
||||
[could_not_find]
|
||||
other = "No se pudo encontrar la página buscada"
|
||||
|
||||
[go_back]
|
||||
other = "Volver"
|
||||
|
||||
[translations]
|
||||
other = "Traducciones"
|
||||
|
||||
[categories]
|
||||
other = "Categorías"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[series]
|
||||
other = "Series"
|
||||
|
||||
[all_categories]
|
||||
other = "Todas las Categories"
|
||||
|
||||
[all_tags]
|
||||
other = "Todos los Tags"
|
||||
|
||||
[all_series]
|
||||
other = "Todas las Series"
|
||||
|
||||
[overview]
|
||||
other = "Contenido"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Publicaciones en esta serie"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Resultados"
|
||||
[no_matches]
|
||||
other = "No se encontraron resultados"
|
||||
[search_field_placeholder]
|
||||
other = "Buscar en la base de conocimiento"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Buscar..."
|
||||
[search_results_label]
|
||||
other = "Resultados de búsqueda"
|
||||
[short_search_query]
|
||||
other = "La consulta es demasiado corta"
|
||||
[type_to_search]
|
||||
other = "Escriba para buscar"
|
72
i18n/fr.toml
Normal file
72
i18n/fr.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Lire la suite…"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "Tous droits réservés"
|
||||
|
||||
[share_on]
|
||||
other = "Partager sur"
|
||||
|
||||
[featured_posts]
|
||||
other = "Billets en vedette"
|
||||
|
||||
[recent_posts]
|
||||
other = "Billets récents"
|
||||
|
||||
[404_title]
|
||||
other = "Perdu"
|
||||
|
||||
[could_not_find]
|
||||
other = "Nous ne trouvons pas la page que vous recherchez"
|
||||
|
||||
[go_back]
|
||||
other = "Revenir en arrière…"
|
||||
|
||||
[translations]
|
||||
other = "Traductions"
|
||||
|
||||
[categories]
|
||||
other = "Catégories"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[series]
|
||||
other = "Séries"
|
||||
|
||||
[all_categories]
|
||||
other = "Toutes les catégories"
|
||||
|
||||
[all_tags]
|
||||
other = "Tous les tags"
|
||||
|
||||
[all_series]
|
||||
other = "Toutes les séries"
|
||||
|
||||
[overview]
|
||||
other = "Sommaire"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} mins de lecture"
|
||||
|
||||
[series_posts]
|
||||
other = "Articles dans cette série"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Résultats"
|
||||
[no_matches]
|
||||
other = "Aucun résultat trouvé"
|
||||
[search_field_placeholder]
|
||||
other = "Rechercher dans la base de connaissances"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Rechercher..."
|
||||
[search_results_label]
|
||||
other = "Résultats de la recherche"
|
||||
[short_search_query]
|
||||
other = "La requête est trop courte"
|
||||
[type_to_search]
|
||||
other = "Tapez pour rechercher"
|
72
i18n/ja.toml
Normal file
72
i18n/ja.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "続きを読む"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "All Rights Reserved"
|
||||
|
||||
[share_on]
|
||||
other = "共有する"
|
||||
|
||||
[featured_posts]
|
||||
other = "おすすめの投稿"
|
||||
|
||||
[recent_posts]
|
||||
other = "最近の投稿"
|
||||
|
||||
[404_title]
|
||||
other = "存在しません"
|
||||
|
||||
[could_not_find]
|
||||
other = "お探しのページを見つけることができませんでした"
|
||||
|
||||
[go_back]
|
||||
other = "戻る"
|
||||
|
||||
[translations]
|
||||
other = "翻訳"
|
||||
|
||||
[categories]
|
||||
other = "カテゴリ"
|
||||
|
||||
[tags]
|
||||
other = "タグ"
|
||||
|
||||
[series]
|
||||
other = "シリーズ"
|
||||
|
||||
[all_categories]
|
||||
other = "全てのカテゴリ"
|
||||
|
||||
[all_tags]
|
||||
other = "全てのタグ"
|
||||
|
||||
[all_series]
|
||||
other = "全てのシリーズ"
|
||||
|
||||
[overview]
|
||||
other = "概要"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} 分で読了"
|
||||
|
||||
[series_posts]
|
||||
other = "このシリーズの投稿"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "結果"
|
||||
[no_matches]
|
||||
other = "結果が存在しません"
|
||||
[search_field_placeholder]
|
||||
other = "ナレッジベース内を検索"
|
||||
[blog_search_field_placeholder]
|
||||
other = "検索..."
|
||||
[search_results_label]
|
||||
other = "検索結果"
|
||||
[short_search_query]
|
||||
other = "検索文字列が短すぎます"
|
||||
[type_to_search]
|
||||
other = "入力して検索"
|
72
i18n/nl.toml
Normal file
72
i18n/nl.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Lees meer"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "Alle rechten gereserveerd"
|
||||
|
||||
[share_on]
|
||||
other = "Delen op"
|
||||
|
||||
[featured_posts]
|
||||
other = "Uitgelichte berichten"
|
||||
|
||||
[recent_posts]
|
||||
other = "Recente berichten"
|
||||
|
||||
[404_title]
|
||||
other = "Verdwaald!"
|
||||
|
||||
[could_not_find]
|
||||
other = "We hebben de pagina die je zocht niet gevonden"
|
||||
|
||||
[go_back]
|
||||
other = "Ga terug"
|
||||
|
||||
[translations]
|
||||
other = "Vertalingen"
|
||||
|
||||
[categories]
|
||||
other = "categoriën"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[series]
|
||||
other = "Series"
|
||||
|
||||
[all_categories]
|
||||
other = "Alle categoriën"
|
||||
|
||||
[all_tags]
|
||||
other = "Alle tags"
|
||||
|
||||
[all_series]
|
||||
other = "Alle series"
|
||||
|
||||
[overview]
|
||||
other = "Overzicht"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min leestijd"
|
||||
|
||||
[series_posts]
|
||||
other = "Berichten in deze serie"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Resultaten"
|
||||
[no_matches]
|
||||
other = "Geen resultaten gevonden"
|
||||
[search_field_placeholder]
|
||||
other = "Doorzoek de knowledge base"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Zoeken..."
|
||||
[search_results_label]
|
||||
other = "Zoekresultaten"
|
||||
[short_search_query]
|
||||
other = "Zoekopdracht is te kort"
|
||||
[type_to_search]
|
||||
other = "Type om te zoeken"
|
72
i18n/no.toml
Normal file
72
i18n/no.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Les mer"
|
||||
|
||||
[copyright]
|
||||
other = "Opphavsrett"
|
||||
|
||||
[all_rights]
|
||||
other = "Alle rettigheter forbeholdt"
|
||||
|
||||
[share_on]
|
||||
other = "Del på"
|
||||
|
||||
[featured_posts]
|
||||
other = "Utvalgte innlegg"
|
||||
|
||||
[recent_posts]
|
||||
other = "Nye innlegg"
|
||||
|
||||
[404_title]
|
||||
other = "Tapt"
|
||||
|
||||
[could_not_find]
|
||||
other = "Vi kunne ikke finne det du ser etter"
|
||||
|
||||
[go_back]
|
||||
other = "Gå Tilbake"
|
||||
|
||||
[translations]
|
||||
other = "Oversettelser"
|
||||
|
||||
[categories]
|
||||
other = "Kategori"
|
||||
|
||||
[tags]
|
||||
other = "Stikkord"
|
||||
|
||||
[series]
|
||||
other = "Serier"
|
||||
|
||||
[all_categories]
|
||||
other = "Alle Kategorier"
|
||||
|
||||
[all_tags]
|
||||
other = "Alle stikkord"
|
||||
|
||||
[all_series]
|
||||
other = "Alle Serier"
|
||||
|
||||
[overview]
|
||||
other = "Oversikt"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min lesing"
|
||||
|
||||
[series_posts]
|
||||
other = "Flere innlegg i denne serien"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Resultater"
|
||||
[no_matches]
|
||||
other = "Ingen resultater funnet"
|
||||
[search_field_placeholder]
|
||||
other = "Søk i kunnskapsbasen"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Søk..."
|
||||
[search_results_label]
|
||||
other = "Søkeresultater"
|
||||
[short_search_query]
|
||||
other = "Søket er for kort"
|
||||
[type_to_search]
|
||||
other = "Skriv for å søke"
|
72
i18n/pl.toml
Normal file
72
i18n/pl.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Czytaj Dalej"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "Wszystkie Prawa Zastrzeżone"
|
||||
|
||||
[share_on]
|
||||
other = "Udostępnij na"
|
||||
|
||||
[featured_posts]
|
||||
other = "Wyróżnione Wpisy"
|
||||
|
||||
[recent_posts]
|
||||
other = "Ostatnie Wpisy"
|
||||
|
||||
[404_title]
|
||||
other = "Zagubiony"
|
||||
|
||||
[could_not_find]
|
||||
other = "Nie możemy znaleźc strony, której szukasz"
|
||||
|
||||
[go_back]
|
||||
other = "Powrót"
|
||||
|
||||
[translations]
|
||||
other = "Tłumaczenie"
|
||||
|
||||
[categories]
|
||||
other = "Kategorie"
|
||||
|
||||
[tags]
|
||||
other = "Tagi"
|
||||
|
||||
[series]
|
||||
other = "Serie"
|
||||
|
||||
[all_categories]
|
||||
other = "Wszystkie Kategorie"
|
||||
|
||||
[all_tags]
|
||||
other = "Wszystkie Tagi"
|
||||
|
||||
[all_series]
|
||||
other = "Wszystkie Serie"
|
||||
|
||||
[overview]
|
||||
other = "Przegląd"
|
||||
|
||||
[reading_time]
|
||||
other = "Przeczytasz w {{ .ReadingTime }} minut"
|
||||
|
||||
[series_posts]
|
||||
other = "Wpisy w tej serii"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Wyniki"
|
||||
[no_matches]
|
||||
other = "Nic nie znaleziono"
|
||||
[search_field_placeholder]
|
||||
other = "Search the knowledge base"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Szukaj..."
|
||||
[search_results_label]
|
||||
other = "Wyniki Szukania"
|
||||
[short_search_query]
|
||||
other = "Zapytanie jest zbyt krótkie"
|
||||
[type_to_search]
|
||||
other = "Pisz by szukać"
|
72
i18n/pt.toml
Normal file
72
i18n/pt.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Ler Mais"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "Todos os Direitos Reservados"
|
||||
|
||||
[share_on]
|
||||
other = "Partilhar"
|
||||
|
||||
[featured_posts]
|
||||
other = "Principais Artigos"
|
||||
|
||||
[recent_posts]
|
||||
other = "Artigos Mais Recentes"
|
||||
|
||||
[404_title]
|
||||
other = "Ooops"
|
||||
|
||||
[could_not_find]
|
||||
other = "Não foi possível encontrar esta página"
|
||||
|
||||
[go_back]
|
||||
other = "Voltar"
|
||||
|
||||
[translations]
|
||||
other = "Traduções"
|
||||
|
||||
[categories]
|
||||
other = "Categorias"
|
||||
|
||||
[tags]
|
||||
other = "Etiquetas"
|
||||
|
||||
[series]
|
||||
other = "Séries"
|
||||
|
||||
[all_categories]
|
||||
other = "Todas as Categorias"
|
||||
|
||||
[all_tags]
|
||||
other = "Todas as Etiquetas"
|
||||
|
||||
[all_series]
|
||||
other = "Todas as Séries"
|
||||
|
||||
[overview]
|
||||
other = "Overview"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Postagens nesta série"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Resultados"
|
||||
[no_matches]
|
||||
other = "Nenhum resultado encontrado"
|
||||
[search_field_placeholder]
|
||||
other = "Pesquisar a base de conhecimento"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Pesquisar..."
|
||||
[search_results_label]
|
||||
other = "Resultados da pesquisa"
|
||||
[short_search_query]
|
||||
other = "A consulta é muito curta"
|
||||
[type_to_search]
|
||||
other = "Digite para pesquisar"
|
72
i18n/sr.toml
Normal file
72
i18n/sr.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Још..."
|
||||
|
||||
[copyright]
|
||||
other = "Јавно добро"
|
||||
|
||||
[all_rights]
|
||||
other = "Без задржаних права"
|
||||
|
||||
[share_on]
|
||||
other = "Подели на"
|
||||
|
||||
[featured_posts]
|
||||
other = "Истакнути постови"
|
||||
|
||||
[recent_posts]
|
||||
other = "Скорашњи постови"
|
||||
|
||||
[404_title]
|
||||
other = "Изгубљено"
|
||||
|
||||
[could_not_find]
|
||||
other = "Страница коју тражите није пронађена"
|
||||
|
||||
[go_back]
|
||||
other = "Назад"
|
||||
|
||||
[translations]
|
||||
other = "Преводи"
|
||||
|
||||
[categories]
|
||||
other = "Категорије"
|
||||
|
||||
[tags]
|
||||
other = "Тагови"
|
||||
|
||||
[series]
|
||||
other = "Серијали"
|
||||
|
||||
[all_categories]
|
||||
other = "Све категорије"
|
||||
|
||||
[all_tags]
|
||||
other = "Сви тагови"
|
||||
|
||||
[all_series]
|
||||
other = "Сви серијали"
|
||||
|
||||
[overview]
|
||||
other = "Преглед"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} минута читања"
|
||||
|
||||
[series_posts]
|
||||
other = "Постови у серијалу"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Резултати"
|
||||
[no_matches]
|
||||
other = "Нису пронађени резултати"
|
||||
[search_field_placeholder]
|
||||
other = "Претрага базе знања"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Претрага..."
|
||||
[search_results_label]
|
||||
other = "Резултати претраге"
|
||||
[short_search_query]
|
||||
other = "Упит је прекратак"
|
||||
[type_to_search]
|
||||
other = "Куцај за претрагу"
|
72
i18n/tr.toml
Normal file
72
i18n/tr.toml
Normal file
@@ -0,0 +1,72 @@
|
||||
[read_more]
|
||||
other = "Okumaya Devam Et"
|
||||
|
||||
[copyright]
|
||||
other = "Telif Hakkı"
|
||||
|
||||
[all_rights]
|
||||
other = "Tüm Hakları Saklıdır"
|
||||
|
||||
[share_on]
|
||||
other = "Paylaş:"
|
||||
|
||||
[featured_posts]
|
||||
other = "Seçkin Makaleler"
|
||||
|
||||
[recent_posts]
|
||||
other = "En Son Makaleler"
|
||||
|
||||
[404_title]
|
||||
other = "Kayıp"
|
||||
|
||||
[could_not_find]
|
||||
other = "Aradığınız sayfayı bulamadık"
|
||||
|
||||
[go_back]
|
||||
other = "Geri Git"
|
||||
|
||||
[translations]
|
||||
other = "Çeviriler"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriler"
|
||||
|
||||
[tags]
|
||||
other = "Etiketler"
|
||||
|
||||
[series]
|
||||
other = "Seriler"
|
||||
|
||||
[all_categories]
|
||||
other = "Tüm Kategoriler"
|
||||
|
||||
[all_tags]
|
||||
other = "Tüm Etiketler"
|
||||
|
||||
[all_series]
|
||||
other = "Tüm Seriler"
|
||||
|
||||
[overview]
|
||||
other = "Overview"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Posts in this series"
|
||||
|
||||
# search
|
||||
[quick_links]
|
||||
other = "Sonuçlar"
|
||||
[no_matches]
|
||||
other = "Sonuç bulunamadı"
|
||||
[search_field_placeholder]
|
||||
other = "Bilgi tabanında ara"
|
||||
[blog_search_field_placeholder]
|
||||
other = "Ara..."
|
||||
[search_results_label]
|
||||
other = "Arama Sonuçları"
|
||||
[short_search_query]
|
||||
other = "Sorgu çok kısa"
|
||||
[type_to_search]
|
||||
other = "Aramak için yazın"
|
56
i18n/zh-CN.toml
Normal file
56
i18n/zh-CN.toml
Normal file
@@ -0,0 +1,56 @@
|
||||
[read_more]
|
||||
other = "阅读更多"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "All Rights Reserved"
|
||||
|
||||
[share_on]
|
||||
other = "分享到"
|
||||
|
||||
[featured_posts]
|
||||
other = "精选文章"
|
||||
|
||||
[recent_posts]
|
||||
other = "最新文章"
|
||||
|
||||
[404_title]
|
||||
other = "页面不见了"
|
||||
|
||||
[could_not_find]
|
||||
other = "页面不存在或已被删除"
|
||||
|
||||
[go_back]
|
||||
other = "返回"
|
||||
|
||||
[translations]
|
||||
other = "翻译"
|
||||
|
||||
[categories]
|
||||
other = "分类"
|
||||
|
||||
[tags]
|
||||
other = "标签"
|
||||
|
||||
[series]
|
||||
other = "专栏"
|
||||
|
||||
[all_categories]
|
||||
other = "所有分类"
|
||||
|
||||
[all_tags]
|
||||
other = "所有标签"
|
||||
|
||||
[all_series]
|
||||
other = "所有专栏"
|
||||
|
||||
[overview]
|
||||
other = "文章目录"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Posts in this series"
|
56
i18n/zh-TW.toml
Normal file
56
i18n/zh-TW.toml
Normal file
@@ -0,0 +1,56 @@
|
||||
[read_more]
|
||||
other = "閱讀更多"
|
||||
|
||||
[copyright]
|
||||
other = "版權"
|
||||
|
||||
[all_rights]
|
||||
other = "版權所有"
|
||||
|
||||
[share_on]
|
||||
other = "分享到"
|
||||
|
||||
[featured_posts]
|
||||
other = "精選文章"
|
||||
|
||||
[recent_posts]
|
||||
other = "最新文章"
|
||||
|
||||
[404_title]
|
||||
other = "頁面不見了"
|
||||
|
||||
[could_not_find]
|
||||
other = "頁面不存在或已被删除"
|
||||
|
||||
[go_back]
|
||||
other = "返回"
|
||||
|
||||
[translations]
|
||||
other = "翻譯"
|
||||
|
||||
[categories]
|
||||
other = "分類"
|
||||
|
||||
[tags]
|
||||
other = "標籤"
|
||||
|
||||
[series]
|
||||
other = "專欄"
|
||||
|
||||
[all_categories]
|
||||
other = "所有分類"
|
||||
|
||||
[all_tags]
|
||||
other = "所有標籤"
|
||||
|
||||
[all_series]
|
||||
other = "所有專欄"
|
||||
|
||||
[overview]
|
||||
other = "文章目錄"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} 分鐘長"
|
||||
|
||||
[series_posts]
|
||||
other = "此系列文章"
|
56
i18n/zh.toml
Normal file
56
i18n/zh.toml
Normal file
@@ -0,0 +1,56 @@
|
||||
[read_more]
|
||||
other = "阅读更多"
|
||||
|
||||
[copyright]
|
||||
other = "Copyright"
|
||||
|
||||
[all_rights]
|
||||
other = "All Rights Reserved"
|
||||
|
||||
[share_on]
|
||||
other = "分享到"
|
||||
|
||||
[featured_posts]
|
||||
other = "精选文章"
|
||||
|
||||
[recent_posts]
|
||||
other = "最新文章"
|
||||
|
||||
[404_title]
|
||||
other = "页面不见了"
|
||||
|
||||
[could_not_find]
|
||||
other = "页面不存在或已被删除"
|
||||
|
||||
[go_back]
|
||||
other = "返回"
|
||||
|
||||
[translations]
|
||||
other = "翻译"
|
||||
|
||||
[categories]
|
||||
other = "分类"
|
||||
|
||||
[tags]
|
||||
other = "标签"
|
||||
|
||||
[series]
|
||||
other = "专栏"
|
||||
|
||||
[all_categories]
|
||||
other = "所有分类"
|
||||
|
||||
[all_tags]
|
||||
other = "所有标签"
|
||||
|
||||
[all_series]
|
||||
other = "所有专栏"
|
||||
|
||||
[overview]
|
||||
other = "文章目录"
|
||||
|
||||
[reading_time]
|
||||
other = "{{ .ReadingTime }} min read"
|
||||
|
||||
[series_posts]
|
||||
other = "Posts in this series"
|
0
layouts/partials/footer.html
Normal file
0
layouts/partials/footer.html
Normal file
0
static/.gitignore
vendored
Normal file
0
static/.gitignore
vendored
Normal file
1
themes/hugo-clarity
Submodule
1
themes/hugo-clarity
Submodule
Submodule themes/hugo-clarity added at d0ec11e00b
250
threat_model.md
250
threat_model.md
@@ -1,250 +0,0 @@
|
||||
---
|
||||
date: 2023-04-20T00:00:00
|
||||
tags: [ "Security", "Politics" ]
|
||||
---
|
||||
# Building a Meme in Under a Month
|
||||
|
||||
People have parroted the phrase 'depends on the threat model', so often, so quickly, and so vacuously, that I find my toes curling at the sound of it.
|
||||
But after a run-in with the mods on Reddit's `/r/privacy`, some noteworthy gaffs came up which I think I can give a non-vacuous example of where the threat model really matters.
|
||||
|
||||
It started with `/r/NewIran`, where hopeful and irate Iranians, sick of the Unitary Theocratic Islamic Republic (i.e. 'government') and their Supreme Leader (his actual title), talk about dissent and share memes.
|
||||
Someone posted a message: "do not share details with people on the subreddit, as Neẓām ['the government'/ 'the system'] may pretend to be a supporter in order to find out who you are" (and we know what happens then).
|
||||
|
||||
"It might be good to share a general cyber-security guide", I suggested in the comments.
|
||||
|
||||
"You should definitely do that", replied the OP.
|
||||
|
||||
Iran's a million miles away, and I don't know much about the culture.
|
||||
But if a pro-privacy FOSS-enthusiast can't answer the call to keyboard-war, then what is the point in all those laptop stickers?
|
||||
|
||||
So I got to work, with a deep-seated feeling of dread, knowing that the wrong information, or even mixed messages, might land someone in bother.
|
||||
|
||||
### The Plan
|
||||
|
||||
- I wanted to make a guide for non-techie users. A couple of memes, or basic infographics, showing simple steps to cover the absolute basics in cybersecurity.
|
||||
- It should be stripped down, and focus on the most pressing requirements of the Iranian protests.
|
||||
- The guide was not to instruct, but to inform, so that people could take basic cyber security into account.
|
||||
|
||||
## The Epistemological Limits of Research
|
||||
|
||||
Articles about Iran focus on big stories, women's rights, and the evils of their government.
|
||||
They don't talk much about encryption.
|
||||
|
||||
However, some facts were still available:
|
||||
|
||||
1. Briar (the secure chat app) was designed almost for this exact purpose.
|
||||
* Unfortunately, [Briar does not run on iPhones](https://code.briarproject.org/briar/briar/-/issues/445)
|
||||
1. Signal received such heavy limitations that people started running proxies.
|
||||
* Standard users (whom the guide was to be for) do not like fiddling with proxies.
|
||||
1. Finding facts in the swamp of loud Americans having opinions about what this says about their politics isn't fun.
|
||||
1. Iranians could access internet over their phones pretty much all the time, but house internet received serious restrictions or simply went down entirely (different ISPs, presumably).
|
||||
|
||||
## Nonsense on Reddit
|
||||
|
||||
I posted a request for information on `/r/privacy`, which was promptly deleted.
|
||||
The mod left a single reply saying 'already covered in the sidebar: '[Digital Security Tips for Protestors](https://www.eff.org/deeplinks/2016/11/digital-security-tips-for-protesters)'.
|
||||
|
||||
You might want to stop here and check out the link.
|
||||
Otherwise, here's a run-down of the headers:
|
||||
|
||||
> 1. Enable full-disk encryption on your device
|
||||
> 2. Remove fingerprint unlock
|
||||
> 3. Take photos and videos without unlocking your device
|
||||
> 4. Install Signal
|
||||
> 5. Read our Surveillance Self Defense (SSD) guide for street-level protests
|
||||
> 6. Use a prepaid, disposable phone
|
||||
> 7. Back up your data
|
||||
> 8. Consider biking or walking to the protest
|
||||
> 9. Enable airplane mode
|
||||
> 10. Organizers: Consider alternatives to Facebook and Twitter
|
||||
|
||||
Every point in this list - a full 10/10 - has at least one serious problem when viewed as a resource for an Iranian protest.
|
||||
I've put a small list at the end under 'Problems with Privacy at Protests'.
|
||||
|
||||
I made my own little protest on `/r/privacy`, but the mod doubled down, and refused to see this guide as anything but universal.
|
||||
Apparently `/r/privacy` have a list of 'privacy facts', which they're content to parrot without further thought.
|
||||
|
||||
# The Guide
|
||||
|
||||
All the back-and-forth, random research, asking a graphic designer to compose the images, dealing with right-to-left and UTF-8 issues, font problems, re-translating mistakes, finding another translator after the first disappeared (I hope they're okay), double-checking statements with various folks from `/r/NewIran`, took weeks.
|
||||
|
||||
Seems implausible for a couple of little images, but there it is.
|
||||
Weeks.
|
||||
|
||||
### Considerations for the Guide
|
||||
|
||||
Some young Iranians successfully used Tumblr to communicate online.
|
||||
They took to fandom spaces and spoke in veiled English.
|
||||
Picture young women in a Powerpuff Girls forum, speaking about plans to move against 'Mojo-Jojo'.
|
||||
|
||||
The tor browser seemed good, except for the obvious trail it might lead.
|
||||
Luckily, they'd thought of that - it has a 'bridged' mode, where it looks like something non-tor.
|
||||
Initially I made a guide which involved changing the language, but it turned out later that a Persian version exists, so I just changed the link, and remade the screenshots.
|
||||
|
||||
The guide should not advertise itself as 'HOW TO EVADE POLICE AND BRING DOWN THE EVIL GOVERNMENT'.
|
||||
That sort of message could get people in trouble.
|
||||
Instead, it would simply say 'how to stay safe online', and use plausibly-generic cyber-security advice.
|
||||
|
||||
Pretty much every website uses ssl certificates nowadays, so DNS spoofing wouldn't be easy...except with standard users, who would presumably accept any self-signed certificates if they saw enough pop-ups.
|
||||
Iran also once had a country-wide hack, which redirected their traffic, and allowed total inspection of would-be encrypted traffic.
|
||||
And of course, on an individual level, spoofing certificates seemed a real challenge for a government which had historically reacted to internet-type problems by just shutting it down.
|
||||
Ultimately, DNS and certs seemed too much to think about, so I put it aside, except for the most basic simplifications.
|
||||
|
||||
The final guide didn't have quite the translation I was looking for, and the bridge connection mode ended up with the English version, with Persian notes (I don't recall why).
|
||||
Mistakes were made, but some Iranians gave it a final run, then I put it out on `/r/NewIran` for people to do as they please.
|
||||
I have no idea what, if anything, happened with the images after that.
|
||||
|
||||
## Briar
|
||||
|
||||
I was never sure about Briar, but I felt there wasn't much use in reminding people they could use Whatsapp - surely they already know!
|
||||
Briar also has the ability to communicate over Bluetooth and local Wi-Fi.
|
||||
Two people in the vicinity of a cafe where they have both had a coffee and connected once could communicate.
|
||||
That's not amazing, but it's not nothing, and the communication wouldn't advertise itself outside of that network.
|
||||
It could also keep this anonymity going through an entire chatroom, where different people have different responses and replies, or could host blogs to pass from phone to phone, simply via Bluetooth.
|
||||
A simple blog post about where there's danger, or how to circumvent danger, could be invaluable if it could spread through a city-wide movement.
|
||||
|
||||
Briar uses tor, which threatens to tell authorities that you're using tor if you don't take extra precautions, but every report I'd heard suggested that home-internet providers cooperated with Neẓām while mobile phone providers did not.
|
||||
One last tipping point for it was the generally unknown icon - authorities might be less likely to inspect that app if they couldn't immediately see it was a chat-app.
|
||||
This was a shaky judgement call, but in the end I went for it, recommending Briar.
|
||||
|
||||
## The Final Guide
|
||||
|
||||
I don't think I have a copy of the absolute final translation.
|
||||
This was before I reflexively wrapped every project and text note in a git log.
|
||||
So some changes were probably made since this material, but the translation would look something like this:
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
- Your phone tells people where you are.
|
||||
- Put your phone on airplane mode, or turn it off if you can.
|
||||
- If your phone is on airplane mode, you can still use public Wi-Fi.
|
||||
|
||||
**Briar - chat app**
|
||||
|
||||
- To talk with people safely, download Briar from the Google Play Store, and ask your friends to install it.
|
||||
- Briar will work with just WiFi or Bluetooth - no internet required.
|
||||
|
||||
[ QR Code Shows link to Briar on Google Play Store ]
|
||||
|
||||

|
||||
|
||||
**Computer Safety at Home**
|
||||
|
||||
- Bad people online can see what you are talking about, and know who you are from your previous posts.
|
||||
- If you need to post on Reddit or Facebook, make a new account.
|
||||
|
||||
**What Your ISP Sees**
|
||||
|
||||
- The people controlling your internet may not see what you write, but they can see which sites you visit, and know what you are doing from which articles you read, and which sites you go to, and when.
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
**Tor Browser**
|
||||
|
||||
When you use Tor browser, people cannot see which sites you visit, but they will know that you are using Tor! To remain more safe, install Tor, and then connect to a 'bridge', so nobody knows that you are using Tor.
|
||||
|
||||

|
||||
|
||||
[ installation instructions ]
|
||||
|
||||
----
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Problems with Privacy at Protests
|
||||
|
||||
This guide to protests looks fine for the USA, and many points work for most European countries, but it absolutely does not work as a general guide.
|
||||
|
||||
If you want to point out any other nonsense in the list, do get in touch.
|
||||
|
||||
> 1. Enable full-disk encryption on your device
|
||||
|
||||
Protestors who use full-disk encryption will simply be told to unlock their phone.
|
||||
This should be obvious, in addition to being confirmed by Iranians online, and also it's really bloody obvious.
|
||||
|
||||
> Why are you using full disk encryption anyway? It says right here in the settings, you have full disk encryption. What are you trying to hide?
|
||||
|
||||
> Step this way...
|
||||
|
||||
So at this point, the 'full disk encryption' advice might have gotten someone dragged into a dark room for police to break their body.
|
||||
|
||||
> 2. Remove fingerprint unlock
|
||||
|
||||
Why bother?
|
||||
The article says 'the authorities can compel you to unlock with biometrics, but not a password'.
|
||||
But of course, this means 'the American police, assuming they obey the rules'.
|
||||
|
||||
> 3. Take photos and videos without unlocking your device
|
||||
|
||||
Why?
|
||||
And why take photographs at all?
|
||||
To document police abuse, and later instigate a prosecution on the Iranian police?
|
||||
|
||||
This only lets the police identify your fellow protestors if they grab your phone, and lets them identify you as a protestor if they inspect your phone later, once you've left the protest.
|
||||
|
||||
> 4. Install Signal
|
||||
|
||||
How about Facebook, instead?
|
||||
`/r/privacy` objected to this on the basis that 'the government' is watching Facebook', but Neẓām is not watching Facebook.
|
||||
Better yet, how about putting Whatsapp on the homepage of your phone, and burying Tumlbr with a bunch of other apps, for system settings, Maths, and Youtube?
|
||||
|
||||
Or how about swapping app icons, so the music app leads to Whatsapp?
|
||||
|
||||
Signal is blocked, and bypassing the block with a bridge doesn't mean anything unless everyone else uses Signal, which they won't.
|
||||
So we're back to the problem of a single super-private person with a Gopher page served over tor.
|
||||
Sure - it's private, but it's not 'private communication' unless you're communicating with someone.
|
||||
|
||||
> 5. Read our Surveillance Self Defense (SSD) guide for street-level protests
|
||||
|
||||
Is this guide available in Persian?
|
||||
|
||||
> 6. Use a prepaid, disposable phone
|
||||
|
||||
Can people in Iran buy pre-paid phones, without ID?
|
||||
Can they even buy sim cards without identification?
|
||||
|
||||
I read online, asked a few, and got mixed messages.
|
||||
I really don't know, and until someone knows, this is possibly useless and potentially dangerous advice.
|
||||
|
||||
Besides, how will a crowd of people get the money for a new phone every night for a month?
|
||||
Assuming they all have the funds for a phone-a-day, do local shops have the stock to supply burner phones to a crowd of thousands, night after night?
|
||||
|
||||
As usual, Americans think about how to keep themselves safe in the moment, not about how wider society functions.
|
||||
|
||||
> 7. Back up your data
|
||||
|
||||
Why?
|
||||
Because you might lose your cat photos and memes when the police confiscate your phone at the local rally?
|
||||
This really has no bearing on taking on a government.
|
||||
|
||||
> 8. Consider biking or walking to the protest
|
||||
|
||||
...because otherwise police cameras can pick up your car's licence plate.
|
||||
You know - the car all Iranians go everywhere in, due to lack of public transport in America.
|
||||
|
||||
> 9. Enable airplane mode
|
||||
|
||||
The article mentions this will cut communication, so it may not be a good idea.
|
||||
That's true enough - it may be an awful idea.
|
||||
Perhaps information from friends and colleagues has more value.
|
||||
|
||||
But this isn't information, or a tactic.
|
||||
The message simply says to turn off aeroplane mode and provides a couple of caveats after.
|
||||
|
||||
Of course if plan had included Briar, then aeroplane mode wouldn't cut the phone's ability communicate through Bluetooth.
|
||||
|
||||
> 10. Organizers: Consider alternatives to Facebook and Twitter
|
||||
|
||||
...or Mark Zuckerberg will have them deported for being foreign.
|
Reference in New Issue
Block a user