Add basic hugo site
Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
This commit is contained in:
parent
0758a391c7
commit
caffb5abb3
283
LICENSE
Normal file
283
LICENSE
Normal file
|
@ -0,0 +1,283 @@
|
|||
The code that powers this blog uses the following license:
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Gyorgy Orban
|
||||
|
||||
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.
|
||||
|
||||
The articles themselves are CC BY-NC 3.0:
|
||||
|
||||
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
|
||||
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT
|
||||
AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER
|
||||
THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
|
||||
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO
|
||||
BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE
|
||||
CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE
|
||||
IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
|
||||
|
||||
1. Definitions
|
||||
|
||||
"Adaptation" means a work based upon the Work, or upon the Work and other
|
||||
pre-existing works, such as a translation, adaptation, derivative work,
|
||||
arrangement of music or other alterations of a literary or artistic work, or
|
||||
phonogram or performance and includes cinematographic adaptations or any other
|
||||
form in which the Work may be recast, transformed, or adapted including in any
|
||||
form recognizably derived from the original, except that a work that constitutes
|
||||
a Collection will not be considered an Adaptation for the purpose of this
|
||||
License. For the avoidance of doubt, where the Work is a musical work,
|
||||
performance or phonogram, the synchronization of the Work in timed-relation with
|
||||
a moving image ("synching") will be considered an Adaptation for the purpose of
|
||||
this License.
|
||||
"Collection" means a collection of literary or artistic works, such as
|
||||
encyclopedias and anthologies, or performances, phonograms or broadcasts, or
|
||||
other works or subject matter other than works listed in Section 1(f) below,
|
||||
which, by reason of the selection and arrangement of their contents, constitute
|
||||
intellectual creations, in which the Work is included in its entirety in
|
||||
unmodified form along with one or more other contributions, each constituting
|
||||
separate and independent works in themselves, which together are assembled into
|
||||
a collective whole. A work that constitutes a Collection will not be considered
|
||||
an Adaptation (as defined above) for the purposes of this License.
|
||||
"Distribute" means to make available to the public the original and copies
|
||||
of the Work or Adaptation, as appropriate, through sale or other transfer of
|
||||
ownership.
|
||||
"Licensor" means the individual, individuals, entity or entities that
|
||||
offer(s) the Work under the terms of this License.
|
||||
"Original Author" means, in the case of a literary or artistic work, the
|
||||
individual, individuals, entity or entities who created the Work or if no
|
||||
individual or entity can be identified, the publisher; and in addition (i) in
|
||||
the case of a performance the actors, singers, musicians, dancers, and other
|
||||
persons who act, sing, deliver, declaim, play in, interpret or otherwise perform
|
||||
literary or artistic works or expressions of folklore; (ii) in the case of a
|
||||
phonogram the producer being the person or legal entity who first fixes the
|
||||
sounds of a performance or other sounds; and, (iii) in the case of broadcasts,
|
||||
the organization that transmits the broadcast.
|
||||
"Work" means the literary and/or artistic work offered under the terms of
|
||||
this License including without limitation any production in the literary,
|
||||
scientific and artistic domain, whatever may be the mode or form of its
|
||||
expression including digital form, such as a book, pamphlet and other writing; a
|
||||
lecture, address, sermon or other work of the same nature; a dramatic or
|
||||
dramatico-musical work; a choreographic work or entertainment in dumb show; a
|
||||
musical composition with or without words; a cinematographic work to which are
|
||||
assimilated works expressed by a process analogous to cinematography; a work of
|
||||
drawing, painting, architecture, sculpture, engraving or lithography; a
|
||||
photographic work to which are assimilated works expressed by a process
|
||||
analogous to photography; a work of applied art; an illustration, map, plan,
|
||||
sketch or three-dimensional work relative to geography, topography, architecture
|
||||
or science; a performance; a broadcast; a phonogram; a compilation of data to
|
||||
the extent it is protected as a copyrightable work; or a work performed by a
|
||||
variety or circus performer to the extent it is not otherwise considered a
|
||||
literary or artistic work.
|
||||
"You" means an individual or entity exercising rights under this License who
|
||||
has not previously violated the terms of this License with respect to the
|
||||
Work, or who has received express permission from the Licensor to exercise
|
||||
rights under this License despite a previous violation.
|
||||
"Publicly Perform" means to perform public recitations of the Work and to
|
||||
communicate to the public those public recitations, by any means or process,
|
||||
including by wire or wireless means or public digital performances; to make
|
||||
available to the public Works in such a way that members of the public may
|
||||
access these Works from a place and at a place individually chosen by them; to
|
||||
perform the Work to the public by any means or process and the communication to
|
||||
the public of the performances of the Work, including by public digital
|
||||
performance; to broadcast and rebroadcast the Work by any means including signs,
|
||||
sounds or images.
|
||||
"Reproduce" means to make copies of the Work by any means including without
|
||||
limitation by sound or visual recordings and the right of fixation and
|
||||
reproducing fixations of the Work, including storage of a protected performance
|
||||
or phonogram in digital form or other electronic medium.
|
||||
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
|
||||
limit, or restrict any uses free from copyright or rights arising from
|
||||
limitations or exceptions that are provided for in connection with the copyright
|
||||
protection under copyright law or other applicable laws.
|
||||
|
||||
3. License Grant. Subject to the terms and conditions of this License,
|
||||
Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual
|
||||
(for the duration of the applicable copyright) license to exercise the rights in
|
||||
the Work as stated below:
|
||||
|
||||
to Reproduce the Work, to incorporate the Work into one or more Collections,
|
||||
and to Reproduce the Work as incorporated in the Collections;
|
||||
to create and Reproduce Adaptations provided that any such Adaptation, to
|
||||
Distribute and Publicly Perform the Work including as incorporated in
|
||||
Collections; and,
|
||||
to Distribute and Publicly Perform Adaptations.
|
||||
The above rights may be exercised in all media and formats whether now known
|
||||
or hereafter devised. The above rights include the right to make such
|
||||
modifications as are technically necessary to exercise the rights in other media
|
||||
and formats. Subject to Section 8(f), all rights not expressly granted by
|
||||
Licensor are hereby reserved, including but not limited to the rights set forth
|
||||
in Section 4(d).
|
||||
|
||||
4. Restrictions. The license granted in Section 3 above is expressly made
|
||||
subject to and limited by the following restrictions:
|
||||
|
||||
You may Distribute or Publicly Perform the Work only under the terms of this
|
||||
License. You must include a copy of, or the Uniform Resource Identifier
|
||||
(URI) for, this License with every copy of the Work You Distribute or Publicly
|
||||
Perform. You may not offer or impose any terms on the Work that restrict the
|
||||
terms of this License or the ability of the recipient of the Work to exercise
|
||||
the rights granted to that recipient under the terms of the License. You may not
|
||||
sublicense the Work. You must keep intact all notices that refer to this License
|
||||
and to the disclaimer of warranties with every copy of the Work You Distribute
|
||||
or Publicly Perform. When You Distribute or Publicly Perform the Work, You may
|
||||
not impose any effective technological measures on the Work that restrict the
|
||||
ability of a recipient of the Work from You to exercise the rights granted to
|
||||
that recipient under the terms of the License. This Section 4(a) applies to the
|
||||
Work as incorporated in a Collection, but this does not require the Collection
|
||||
apart from the Work itself to be made subject to the terms of this License. If
|
||||
You create a Collection, upon notice from any Licensor You must, to the extent
|
||||
practicable, remove from the Collection any credit as required by Section 4(c),
|
||||
as requested. If You create an Adaptation, upon notice from any Licensor You
|
||||
must, to the extent practicable, remove from the Adaptation any credit as
|
||||
required by Section 4(c), as requested.
|
||||
You may not exercise any of the rights granted to You in Section 3 above in
|
||||
any manner that is primarily intended for or directed toward commercial
|
||||
advantage or private monetary compensation. The exchange of the Work for other
|
||||
copyrighted works by means of digital file-sharing or otherwise shall not be
|
||||
considered to be intended for or directed toward commercial advantage or private
|
||||
monetary compensation, provided there is no payment of any monetary compensation
|
||||
in connection with the exchange of copyrighted works.
|
||||
If You Distribute, or Publicly Perform the Work or any Adaptations or
|
||||
Collections, You must, unless a request has been made pursuant to Section
|
||||
4(a), keep intact all copyright notices for the Work and provide, reasonable to
|
||||
the medium or means You are utilizing: (i) the name of the Original Author (or
|
||||
pseudonym, if applicable) if supplied, and/or if the Original Author and/or
|
||||
Licensor designate another party or parties (e.g., a sponsor institute,
|
||||
publishing entity, journal) for attribution ("Attribution Parties") in
|
||||
Licensor's copyright notice, terms of service or by other reasonable means, the
|
||||
name of such party or parties; (ii) the title of the Work if supplied; (iii) to
|
||||
the extent reasonably practicable, the URI, if any, that Licensor specifies to
|
||||
be associated with the Work, unless such URI does not refer to the copyright
|
||||
notice or licensing information for the Work; and, (iv) consistent with Section
|
||||
3(b), in the case of an Adaptation, a credit identifying the use of the Work in
|
||||
the Adaptation (e.g., "French translation of the Work by Original Author," or
|
||||
"Screenplay based on original Work by Original Author"). The credit required by
|
||||
this Section 4(c) may be implemented in any reasonable manner; provided,
|
||||
however, that in the case of a Adaptation or Collection, at a minimum such
|
||||
credit will appear, if a credit for all contributing authors of the Adaptation
|
||||
or Collection appears, then as part of these credits and in a manner at least as
|
||||
prominent as the credits for the other contributing authors. For the avoidance
|
||||
of doubt, You may only use the credit required by this Section for the purpose
|
||||
of attribution in the manner set out above and, by exercising Your rights under
|
||||
this License, You may not implicitly or explicitly assert or imply any
|
||||
connection with, sponsorship or endorsement by the Original Author, Licensor
|
||||
and/or Attribution Parties, as appropriate, of You or Your use of the Work,
|
||||
without the separate, express prior written permission of the Original Author,
|
||||
Licensor and/or Attribution Parties.
|
||||
For the avoidance of doubt:
|
||||
|
||||
Non-waivable Compulsory License Schemes. In those jurisdictions in which the
|
||||
right to collect royalties through any statutory or compulsory licensing
|
||||
scheme cannot be waived, the Licensor reserves the exclusive right to collect
|
||||
such royalties for any exercise by You of the rights granted under this License;
|
||||
Waivable Compulsory License Schemes. In those jurisdictions in which the
|
||||
right to collect royalties through any statutory or compulsory licensing
|
||||
scheme can be waived, the Licensor reserves the exclusive right to collect such
|
||||
royalties for any exercise by You of the rights granted under this License if
|
||||
Your exercise of such rights is for a purpose or use which is otherwise than
|
||||
noncommercial as permitted under Section 4(b) and otherwise waives the right to
|
||||
collect royalties through any statutory or compulsory licensing scheme; and,
|
||||
Voluntary License Schemes. The Licensor reserves the right to collect
|
||||
royalties, whether individually or, in the event that the Licensor is a
|
||||
member of a collecting society that administers voluntary licensing schemes, via
|
||||
that society, from any exercise by You of the rights granted under this License
|
||||
that is for a purpose or use which is otherwise than noncommercial as permitted
|
||||
under Section 4(c).
|
||||
Except as otherwise agreed in writing by the Licensor or as may be otherwise
|
||||
permitted by applicable law, if You Reproduce, Distribute or Publicly
|
||||
Perform the Work either by itself or as part of any Adaptations or Collections,
|
||||
You must not distort, mutilate, modify or take other derogatory action in
|
||||
relation to the Work which would be prejudicial to the Original Author's honor
|
||||
or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in
|
||||
which any exercise of the right granted in Section 3(b) of this License (the
|
||||
right to make Adaptations) would be deemed to be a distortion, mutilation,
|
||||
modification or other derogatory action prejudicial to the Original Author's
|
||||
honor and reputation, the Licensor will waive or not assert, as appropriate,
|
||||
this Section, to the fullest extent permitted by the applicable national law, to
|
||||
enable You to reasonably exercise Your right under Section 3(b) of this License
|
||||
(right to make Adaptations) but not otherwise.
|
||||
5. Representations, Warranties and Disclaimer
|
||||
|
||||
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
|
||||
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
|
||||
CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING,
|
||||
WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
|
||||
SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH
|
||||
EXCLUSION MAY NOT APPLY TO YOU.
|
||||
|
||||
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW,
|
||||
IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS
|
||||
LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. Termination
|
||||
|
||||
This License and the rights granted hereunder will terminate automatically
|
||||
upon any breach by You of the terms of this License. Individuals or entities
|
||||
who have received Adaptations or Collections from You under this License,
|
||||
however, will not have their licenses terminated provided such individuals or
|
||||
entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7,
|
||||
and 8 will survive any termination of this License.
|
||||
Subject to the above terms and conditions, the license granted here is
|
||||
perpetual (for the duration of the applicable copyright in the Work).
|
||||
Notwithstanding the above, Licensor reserves the right to release the Work under
|
||||
different license terms or to stop distributing the Work at any time; provided,
|
||||
however that any such election will not serve to withdraw this License (or any
|
||||
other license that has been, or is required to be, granted under the terms of
|
||||
this License), and this License will continue in full force and effect unless
|
||||
terminated as stated above.
|
||||
8. Miscellaneous
|
||||
|
||||
Each time You Distribute or Publicly Perform the Work or a Collection, the
|
||||
Licensor offers to the recipient a license to the Work on the same terms and
|
||||
conditions as the license granted to You under this License.
|
||||
Each time You Distribute or Publicly Perform an Adaptation, Licensor offers
|
||||
to the recipient a license to the original Work on the same terms and
|
||||
conditions as the license granted to You under this License.
|
||||
If any provision of this License is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of the
|
||||
remainder of the terms of this License, and without further action by the
|
||||
parties to this agreement, such provision shall be reformed to the minimum
|
||||
extent necessary to make such provision valid and enforceable.
|
||||
No term or provision of this License shall be deemed waived and no breach
|
||||
consented to unless such waiver or consent shall be in writing and signed by
|
||||
the party to be charged with such waiver or consent.
|
||||
This License constitutes the entire agreement between the parties with
|
||||
respect to the Work licensed here. There are no understandings, agreements
|
||||
or representations with respect to the Work not specified here. Licensor shall
|
||||
not be bound by any additional provisions that may appear in any communication
|
||||
from You. This License may not be modified without the mutual written agreement
|
||||
of the Licensor and You.
|
||||
The rights granted under, and the subject matter referenced, in this License
|
||||
were drafted utilizing the terminology of the Berne Convention for the
|
||||
Protection of Literary and Artistic Works (as amended on September 28, 1979),
|
||||
the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO
|
||||
Performances and Phonograms Treaty of 1996 and the Universal Copyright
|
||||
Convention (as revised on July 24, 1971). These rights and subject matter take
|
||||
effect in the relevant jurisdiction in which the License terms are sought to be
|
||||
enforced according to the corresponding provisions of the implementation of
|
||||
those treaty provisions in the applicable national law. If the standard suite of
|
||||
rights granted under applicable copyright law includes additional rights not
|
||||
granted under this License, such additional rights are deemed to be included in
|
||||
the License; this License is not intended to restrict the license of any rights
|
||||
under applicable law.
|
4
archetypes/default.md
Normal file
4
archetypes/default.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||
number: x
|
||||
---
|
142
assets/scss/dark.scss
Normal file
142
assets/scss/dark.scss
Normal file
|
@ -0,0 +1,142 @@
|
|||
$theme-colors: (
|
||||
"main-bg-color": #0a0a0a,
|
||||
"main-text": #ffffff,
|
||||
"main-sec": #99cc66, /* main secondary color for the site */
|
||||
"code-quote-bg": #0a0a0a, /* background color for quotes and code blocks */
|
||||
"copyright": #808080, /* copyright text color */
|
||||
);
|
||||
|
||||
|
||||
body {
|
||||
background: map-get($theme-colors, "main-bg-color");
|
||||
color: map-get($theme-colors, "main-text");
|
||||
}
|
||||
|
||||
a {
|
||||
color: map-get($theme-colors, "main-text");
|
||||
}
|
||||
|
||||
code, pre {
|
||||
background: map-get($theme-colors, "code-quote-bg");
|
||||
border: 1px solid #303030;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent;
|
||||
border: transparent;
|
||||
}
|
||||
|
||||
video .video {
|
||||
background-color: map-get($theme-colors, "code-quote-bg");
|
||||
}
|
||||
|
||||
/*
|
||||
* syntax highlight code block table backround
|
||||
* looks better if overwritten.
|
||||
* */
|
||||
.post .content .highlight table {
|
||||
background-color: #181818 !important;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
background: map-get($theme-colors, "code-quote-bg");
|
||||
border-left-color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border-color: #5C5C5C;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background: #1D1F21;
|
||||
}
|
||||
|
||||
th {
|
||||
background: #101010;
|
||||
}
|
||||
|
||||
.siteTitle a {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.post {
|
||||
background: #181818;
|
||||
border-left: 1px solid #303030;
|
||||
border-right: 1px solid #303030;
|
||||
border-top: 1px solid #303030;
|
||||
border-radius: 0.2em;
|
||||
box-shadow: 0 1px 2px 0 #000000, 0 2px 5px 0 #000000;
|
||||
}
|
||||
|
||||
.post .content h1,
|
||||
.post .content h2,
|
||||
.post .content h3,
|
||||
.post .content h4,
|
||||
.post .content h5,
|
||||
.post .content h6 {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.post .content a {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.post .content a:hover {
|
||||
color: map-get($theme-colors, "main-text");
|
||||
}
|
||||
|
||||
.nav-item-title:hover {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.tag a:hover {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.copyright, {
|
||||
color: map-get($theme-colors, "copyright");
|
||||
}
|
||||
|
||||
.post-preview {
|
||||
border: 1px solid #303030;
|
||||
border-radius: 0.2em;
|
||||
box-shadow: 0 1px 2px 0 #000000, 0 2px 5px 0 #000000;
|
||||
background: #181818;
|
||||
}
|
||||
|
||||
.post-preview .title a {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.rmore {
|
||||
color: map-get($theme-colors, "main-text");
|
||||
}
|
||||
|
||||
.rmore a {
|
||||
background: map-get($theme-colors, "main-bg-color");
|
||||
border: 1px solid #303030;
|
||||
}
|
||||
|
||||
.rmore a:hover {
|
||||
background: #202020;
|
||||
color: map-get($theme-colors, "main-text");
|
||||
};
|
||||
|
||||
.err-404 {
|
||||
border: 1px solid #303030;
|
||||
border-radius: 0.2em;
|
||||
background: #202020;
|
||||
box-shadow: 0 1px 2px 0 #000000, 0 2px 5px 0 #000000;
|
||||
}
|
||||
|
||||
.content-list .archive-list a {
|
||||
color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
table.stats td.graph div {
|
||||
background-color: map-get($theme-colors, "main-sec");
|
||||
}
|
||||
|
||||
.content-list .archive-list a:hover {
|
||||
filter: brightness(1.2);
|
||||
}
|
74
config.toml
Normal file
74
config.toml
Normal file
|
@ -0,0 +1,74 @@
|
|||
baseurl = "https://falkon.sgorava.xyz/"
|
||||
title = "Falkon Tutorials"
|
||||
canonifyurls = true
|
||||
languageCode = "en-US"
|
||||
paginate = 3
|
||||
disableHugoGeneratorInject = true
|
||||
pluralizeListTitles = false
|
||||
|
||||
[author]
|
||||
name = "Juraj Oravec"
|
||||
|
||||
SectionPagesMenu = "main"
|
||||
|
||||
# Configure syntax highlight
|
||||
[markup]
|
||||
[markup.highlight]
|
||||
style = "rrt" # dark themes: monokai, api, fruity, native, rrt, swapoff
|
||||
|
||||
[[menu.main]]
|
||||
name = "About"
|
||||
weight = -140
|
||||
identifier = "about"
|
||||
url = "/about/"
|
||||
|
||||
[[menu.main]]
|
||||
name = "Docs"
|
||||
weight = -130
|
||||
identifier = "docs"
|
||||
url = "/docs"
|
||||
[menu.main.params]
|
||||
target = "_blank"
|
||||
|
||||
[[menu.main]]
|
||||
name = "QML"
|
||||
weight = -120
|
||||
identifier = "qml"
|
||||
url = "/qml/"
|
||||
|
||||
[[menu.main]]
|
||||
name = "Python"
|
||||
weight = -110
|
||||
identifier = "python"
|
||||
url = "/python/"
|
||||
|
||||
[[menu.main]]
|
||||
name = "RSS"
|
||||
weight = -100
|
||||
identifier = "feed"
|
||||
url = "/index.xml"
|
||||
|
||||
[params.meta]
|
||||
description = "A collection of tutorial for Falkon plugin development."
|
||||
|
||||
[params]
|
||||
year = 2022
|
||||
email = "jurajoravec@mailo.com"
|
||||
|
||||
[permalinks]
|
||||
qml = "/tutorial/qml/:title/"
|
||||
python = "/tutorial/python/:title"
|
||||
|
||||
[privacy]
|
||||
[privacy.disqus]
|
||||
disable = true
|
||||
[privacy.googleAnalytics]
|
||||
disable = true
|
||||
[privacy.instagram]
|
||||
disable = true
|
||||
[privacy.twitter]
|
||||
disable = true
|
||||
[privacy.vimeo]
|
||||
disable = true
|
||||
[privacy.youtube]
|
||||
disable = true
|
33
content/about.md
Normal file
33
content/about.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
title: About
|
||||
type: static
|
||||
---
|
||||
|
||||
The purpose of these tutorials is to show a basic usage of Falkom plugin
|
||||
API so that other can more easily start developing extensions for it.
|
||||
|
||||
You are here at your own risk.
|
||||
|
||||
## Code
|
||||
|
||||
The code of this website can be found at my
|
||||
[Gitea instance][gitea-instance] and tutorials are also
|
||||
[there][gitea-tutorial].
|
||||
|
||||
The purpose of which is to provide a web interface for my own use. You
|
||||
can always download the code and mess around on your own, at worst you
|
||||
can write me an email.
|
||||
|
||||
## Contact
|
||||
|
||||
You can find me at different places and the best way is to use emaail.
|
||||
|
||||
- Emails:
|
||||
- <jurajoravec [:a+t:] mailo.com> (GPG :
|
||||
[13660A3F1D9F093B][gpg-key-mailo])
|
||||
|
||||
|
||||
[gitea-instance]: https://git.sgorava.xyz/
|
||||
[gitea-tutorial]: https://git.sgorava.xyz/Falkon/FalkonTutorials
|
||||
|
||||
[gpg-key-mailo]: /keys/mailo-publickey.txt
|
0
content/python/.placeholder
Normal file
0
content/python/.placeholder
Normal file
0
content/qml/.placeholder
Normal file
0
content/qml/.placeholder
Normal file
8
layouts/404.html
Normal file
8
layouts/404.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<div class="err-404" >
|
||||
<h1 id="title">{{ .Title }}</h1>
|
||||
<p>The requested memory does not exist.<p>
|
||||
</div>
|
||||
|
||||
{{ partial "footer.html" . }}
|
17
layouts/_default/list.html
Normal file
17
layouts/_default/list.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<h2 class="content-list-title">
|
||||
<a href="{{ .Permalink }}" class="linktopost">{{ .Title }}</a>
|
||||
</h2>
|
||||
|
||||
<div class="content-list">
|
||||
|
||||
<ul class="archive-list">
|
||||
{{ range sort .Data.Pages ".Params.number" }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
||||
{{ partial "footer.html" . }}
|
8
layouts/_default/single.html
Normal file
8
layouts/_default/single.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<article class="post">
|
||||
<h1 class="title"> {{ .Title }} </h1>
|
||||
<div class="content"> {{ .Content }} </div>
|
||||
</article>
|
||||
|
||||
{{ partial "footer.html" . }}
|
16
layouts/_default/summary.html
Normal file
16
layouts/_default/summary.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
<article class="post-preview">
|
||||
|
||||
<header>
|
||||
<h2 class="title"> <a href="{{ .Permalink }}"> {{ .Title }}</a> </h2>
|
||||
</header>
|
||||
|
||||
<div class="summary">
|
||||
{{ .Summary }}
|
||||
</div>
|
||||
|
||||
<div class="rmore">
|
||||
<a href="{{ .Permalink }}" class="rmore">Read more</a>
|
||||
</div>
|
||||
|
||||
|
||||
</article>
|
15
layouts/index.html
Normal file
15
layouts/index.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<main>
|
||||
|
||||
{{ $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ .Render "summary" }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "paginator-menu.html" . }}
|
||||
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
115
layouts/index.xml
Normal file
115
layouts/index.xml
Normal file
|
@ -0,0 +1,115 @@
|
|||
{{ printf `<?xml version="1.0" encoding="utf-8"?>` | safeHTML }} {{/* ref: https://validator.w3.org/feed/docs/atom.html */}}
|
||||
<feed xmlns="http://www.w3.org/2005/Atom"{{ with site.LanguageCode }} xml:lang="{{ . }}"{{ end }}>
|
||||
{{- $title := site.Title -}}
|
||||
{{- with .Title -}}
|
||||
{{- if (not (eq . site.Title)) -}}
|
||||
{{- $title = printf `%s %s %s` . (i18n "feed_title_on" | default "on") site.Title -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if .IsTranslated -}}
|
||||
{{ $title = printf "%s (%s)" $title (index site.Data.i18n.languages .Lang) }}
|
||||
{{- end -}}
|
||||
{{ printf `<title type="html"><![CDATA[%s]]></title>` $title | safeHTML }}
|
||||
{{ with (or (.Param "subtitle") (.Param "tagline")) }}
|
||||
{{ printf `<subtitle type="html"><![CDATA[%s]]></subtitle>` . | safeHTML }}
|
||||
{{ end }}
|
||||
{{ $output_formats := .OutputFormats }}
|
||||
{{ range $output_formats -}}
|
||||
{{- $rel := (or (and (eq "atom" (.Name | lower)) "self") "alternate") -}}
|
||||
{{ with $output_formats.Get .Name }}
|
||||
{{ printf `<link href=%q rel=%q type=%q title=%q />` .Permalink $rel .MediaType.Type .Name | safeHTML }}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- range .Translations }}
|
||||
{{ $output_formats := .OutputFormats }}
|
||||
{{- $lang := .Lang }}
|
||||
{{- $langstr := index site.Data.i18n.languages .Lang }}
|
||||
{{ range $output_formats -}}
|
||||
{{ with $output_formats.Get .Name }}
|
||||
{{ printf `<link href=%q rel="alternate" type=%q hreflang=%q title="[%s] %s" />` .Permalink .MediaType.Type $lang $langstr .Name | safeHTML }}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
<updated>{{ now.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</updated>
|
||||
{{ with site.Copyright }}
|
||||
{{- $copyright := replace . "{year}" now.Year -}} {{/* In case the site.copyright uses a special string "{year}" */}}
|
||||
{{- $copyright = replace $copyright "©" "©" -}}
|
||||
<rights>{{ $copyright | plainify }}</rights>
|
||||
{{- end }}
|
||||
{{ with .Param "feed" }}
|
||||
{{/* For this to work, the $icon file should be present in the assets/ directory */}}
|
||||
{{- $icon := .icon | default "icon.svg" -}}
|
||||
{{- with resources.Get $icon -}}
|
||||
<icon>{{ (. | fingerprint).Permalink }}</icon>
|
||||
{{- end }}
|
||||
|
||||
{{/* For this to work, the $logo file should be present in the assets/ directory */}}
|
||||
{{- $logo := .logo | default "logo.svg" -}}
|
||||
{{- with resources.Get $logo -}}
|
||||
<logo>{{ (. | fingerprint).Permalink }}</logo>
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
{{ with site.Author.name -}}
|
||||
<author>
|
||||
<name>{{ . }}</name>
|
||||
{{ with site.Author.email }}
|
||||
<email>{{ . }}</email>
|
||||
{{ end -}}
|
||||
</author>
|
||||
{{- end }}
|
||||
{{ with site.Params.id }}
|
||||
<id>{{ . | plainify }}</id>
|
||||
{{ else }}
|
||||
<id>{{ .Permalink }}</id>
|
||||
{{ end }}
|
||||
{{- $limit := (cond (le site.Config.Services.RSS.Limit 0) 65536 site.Config.Services.RSS.Limit) }}
|
||||
{{- $feed_sections := site.Params.feedSections | default site.Params.mainSections -}}
|
||||
{{/* Range through only the pages with a Type in $feed_sections. */}}
|
||||
{{- $pages := where .RegularPages "Type" "in" $feed_sections -}}
|
||||
{{- if (eq .Kind "home") -}}
|
||||
{{- $pages = where site.RegularPages "Type" "in" $feed_sections -}}
|
||||
{{- end -}}
|
||||
{{/* Remove the pages that have the disable_feed parameter set to true. */}}
|
||||
{{- $pages = where $pages ".Params.disable_feed" "!=" true -}}
|
||||
{{- range first $limit $pages }}
|
||||
{{ $page := . }}
|
||||
<entry>
|
||||
{{ printf `<title type="html"><![CDATA[%s]]></title>` .Title | safeHTML }}
|
||||
<link href="{{ .Permalink }}" rel="alternate" type="text/html" />
|
||||
{{- range .Translations }}
|
||||
{{- $link := printf "%s" .Permalink | safeHTML }}
|
||||
{{- printf `<link href=%q rel="alternate" type="text/html" hreflang=%q />` $link .Lang | safeHTML }}
|
||||
{{- end }}
|
||||
{{ with .Params.id }}
|
||||
<id>{{ . | plainify }}</id>
|
||||
{{ else }}
|
||||
<id>{{ .Permalink }}</id>
|
||||
{{ end }}
|
||||
{{ with .Params.author -}}
|
||||
{{- range . -}} <!-- Assuming the author front-matter to be a list -->
|
||||
<author>
|
||||
<name>{{ . }}</name>
|
||||
</author>
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
<published>{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</published>
|
||||
<updated>{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</updated>
|
||||
{{ $description1 := .Description | default "" }}
|
||||
{{ $description := (cond (eq "" $description1) "" (printf "<blockquote>%s</blockquote>" ($description1 | markdownify))) }}
|
||||
{{ printf `<content type="html"><![CDATA[%s%s]]></content>` $description .Content | safeHTML }}
|
||||
{{ with site.Taxonomies }}
|
||||
{{ range $taxo,$_ := . }} <!-- Defaults taxos: "tags", "categories" -->
|
||||
{{ with $page.Param $taxo }}
|
||||
{{ $taxo_list := . }} <!-- $taxo_list will be the tags/categories list -->
|
||||
{{ with site.GetPage (printf "/%s" $taxo) }}
|
||||
{{ $taxonomy_page := . }}
|
||||
{{ range $taxo_list }} <!-- Below, assuming pretty URLs -->
|
||||
<category scheme="{{ printf "%s%s" $taxonomy_page.Permalink (. | urlize) }}" term="{{ (. | urlize) }}" label="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</entry>
|
||||
{{ end }}
|
||||
</feed>
|
11
layouts/partials/footer.html
Normal file
11
layouts/partials/footer.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<footer>
|
||||
|
||||
<div class="copyright"> The content of this website is licensed under <a href="https://creativecommons.org/licenses/by-nc/3.0/">CC BY-NC 3.0</a>. The <a href="https://git.sgorava.xyz/Websites/falkon.sgorava.xyz">code of this website</a> is under <a href="https://opensource.org/licenses/MIT">MIT</a> </div>
|
||||
<div class="copyright"> Copyright @ Juraj Oravec {{ .Site.Params.year }}-{{ now.Year }} </div>
|
||||
|
||||
</footer>
|
||||
|
||||
</div> <!-- main -->
|
||||
|
||||
</body>
|
||||
</html>
|
22
layouts/partials/head.html
Normal file
22
layouts/partials/head.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="author" content="{{ .Site.Author.name }}" />
|
||||
<meta name="description" content="{{ .Site.Params.meta.description }}" />
|
||||
<link rel="canonical" href="{{ .Permalink }}" />
|
||||
|
||||
<link rel="stylesheet" href="/css/layout.css" />
|
||||
{{ $style := resources.Get "scss/dark.scss" | resources.ToCSS }}
|
||||
<link rel="stylesheet" href="{{ $style.Permalink }}">
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ .Site.Title }} - News" href="/index.xml" />
|
||||
|
||||
<title>
|
||||
{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
|
||||
{{ if or (eq $url "/") (eq $url "") }}
|
||||
{{ .Site.Title }}
|
||||
{{ else }}
|
||||
{{ if .Params.heading }} {{ .Params.heading }} {{ else }} {{ .Title }} | {{ .Site.Title }} {{ end }}
|
||||
{{ end }}
|
||||
0</title>
|
||||
|
||||
</head>
|
27
layouts/partials/header.html
Normal file
27
layouts/partials/header.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}">
|
||||
|
||||
{{ partial "head.html" . }}
|
||||
|
||||
<body>
|
||||
<div class="main">
|
||||
<header>
|
||||
|
||||
<div class="header-bar">
|
||||
|
||||
<nav>
|
||||
<div class="siteTitle">
|
||||
<a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a>
|
||||
</div> <!--siteTitle-->
|
||||
|
||||
<div class="links">
|
||||
{{ $currentPage := . }}
|
||||
{{ range .Site.Menus.main }}
|
||||
<a class="nav-item{{if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} active{{end}}" href="{{.URL}}"{{ with .Params.target }} target="{{ . }}"{{ end }}><span class="nav-item-title">{{ .Name }}</span></a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
</header>
|
18
layouts/partials/paginator-menu.html
Normal file
18
layouts/partials/paginator-menu.html
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
<p class="page-nav">
|
||||
<span class="page-prev">
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<a href="{{ .Paginator.Prev.URL }}" title="Previous page" > << </a>
|
||||
{{ end }}
|
||||
</span> <!-- page-prev -->
|
||||
|
||||
<span class="page-num">
|
||||
{{ .Paginator.PageNumber }}/{{ .Paginator.TotalPages }}
|
||||
</span> <!-- page-num -->
|
||||
|
||||
<span class="page-next">
|
||||
{{ if .Paginator.HasNext }}
|
||||
<a href="{{ .Paginator.Next.URL }}" title="Next page"> >> </a>
|
||||
{{ end }}
|
||||
</span> <!-- page-next -->
|
||||
</p> <!-- page-nav -->
|
3
layouts/robots.txt
Normal file
3
layouts/robots.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
User-agent: *
|
||||
|
||||
Sitemap: {{ .Site.BaseURL }}/sitemap.xml
|
41
layouts/shortcodes/video.html
Normal file
41
layouts/shortcodes/video.html
Normal file
|
@ -0,0 +1,41 @@
|
|||
{{ $extensions := .Get "extensions" }}
|
||||
{{ $src := .Get "src" }}
|
||||
|
||||
<video width="480" height="320" controls>
|
||||
{{ range split $extensions "," }}
|
||||
<source src="{{ $src }}.{{ . }}">
|
||||
{{ end }}
|
||||
<div class="video">
|
||||
|
||||
Your browser does not support HTML5 video.
|
||||
|
||||
<ul>
|
||||
{{ range split $extensions "," }}
|
||||
<li>
|
||||
<a href="{{ $src }}.{{ . }}">{{ $src }}.{{ . }}</a>
|
||||
{{ $filename := . | printf "/static%s.%s" $src }}
|
||||
{{ $stat := os.Stat $filename }}
|
||||
({{ div $stat.Size 1024 }} kiB)
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</video>
|
||||
{{/*
|
||||
MP4 and Webm formats are preferred.
|
||||
|
||||
Convert to MP4:
|
||||
ffmpeg -i input.mkv -f mp4 -vcodec libx264 -preset fast -profile:v main -acodec aac output.mp4 -hide_banner
|
||||
|
||||
Convert to Webm:
|
||||
ffmpeg -i input.mkv -c:v libvpx-vp9 -crf 30 -b:v 0 -b:a 128k -c:a libopus output.webm
|
||||
|
||||
## Usage:
|
||||
Put the video files into `/static/videos` folder.
|
||||
Than include this file with its name and available extensions.
|
||||
{{< video src="/videos/<video-file-name-without-extension>" extensions="<comma_separated_list_of_extensions>" >}}
|
||||
|
||||
## Example:
|
||||
{{< video src="/videos/example" extensions="mp4,webm" >}}
|
||||
*/}}
|
8
layouts/static/single.html
Normal file
8
layouts/static/single.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
{{ partial "header.html" . }}
|
||||
|
||||
<article class="post">
|
||||
<h1 class="title"> {{ .Title }} </h1>
|
||||
<div class="content"> {{ .Content }} </div>
|
||||
</article>
|
||||
|
||||
{{ partial "footer.html" . }}
|
337
static/css/layout.css
Normal file
337
static/css/layout.css
Normal file
|
@ -0,0 +1,337 @@
|
|||
body {
|
||||
font-family: "Arial", Gadget, sans-serif;
|
||||
counter-reset: heading;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin: auto;
|
||||
max-width: 48em;
|
||||
}
|
||||
|
||||
.main .header-bar {
|
||||
padding: 1em 0.2em 0.3em 0.2em;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0em;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
text-align: center;
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
iframe {
|
||||
max-width: 42em;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
font-weight: normal;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5em;
|
||||
font-weight: normal;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.17em;
|
||||
font-weight: normal;
|
||||
}
|
||||
h4 {
|
||||
font-size: 1.12em;
|
||||
font-weight: normal;
|
||||
}
|
||||
h5 {
|
||||
font-size: .83em;
|
||||
font-weight: normal;
|
||||
}
|
||||
h6 {
|
||||
font-size: .75em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a:active, a:focus {
|
||||
outline-style: solid;
|
||||
outline-width: thin;
|
||||
}
|
||||
|
||||
header {
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
/* navigation */
|
||||
nav {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
nav .links {
|
||||
display: -webkit-flex;
|
||||
-webkit-justify-content: space-between;
|
||||
-webkit-flex-flow: column;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-flow: column;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
font-size: 1.2em;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav-item-title {
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
.nav-item-title:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 1em 0em 1em;
|
||||
padding: 0.5em 0.5em 0.5em;
|
||||
}
|
||||
|
||||
code {
|
||||
white-space: pre-wrap; /* Since CSS 2.1 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
pre code {
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 0.5em;
|
||||
padding-left: 1em;
|
||||
border-left: 3px solid;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
/* site title */
|
||||
.siteTitle {
|
||||
font-size: 2.5em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
.siteTitle a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.articleheader_data {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.post .title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.post .content{
|
||||
padding-left : 1em;
|
||||
padding-right : 1em;
|
||||
padding-bottom : 0.5em;
|
||||
}
|
||||
|
||||
.post {
|
||||
margin-top : 1.5em;
|
||||
margin-bottom : 1.5em;
|
||||
}
|
||||
|
||||
.post .content h1{
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
.post .content h2{
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
.post .content h3{
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
.post .content h4{
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
.post .content h5{
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
.post .content p{
|
||||
}
|
||||
|
||||
|
||||
.post-prev a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.post-next a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.post-home a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.err-404 {
|
||||
margin: 3em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content-list {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.content-item a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* summary list on main page */
|
||||
|
||||
.post-preview {
|
||||
text-decoration: none;
|
||||
padding: 0.5em 0.5em 1em 0.5em;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.post-preview .title {
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.post-preview a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.post-preview .summary {
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
padding-top: 0.5em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.post-preview .summary p {
|
||||
margin-block-start: 0.5em;
|
||||
margin-block-end: 0.5em;
|
||||
margin-inline-start: 0.em;
|
||||
margin-inline-end: 0em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.rmore {
|
||||
margin-top: 0.5em;
|
||||
white-space:nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rmore a {
|
||||
border-radius: 0.2em;
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
.page-nav {
|
||||
text-align: center;
|
||||
padding: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.page-nav a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.page-num {
|
||||
text-align: center;
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.content-list-title {
|
||||
text-align: center;
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.content-list-title a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sitemap {
|
||||
margin: auto;
|
||||
width: 50%;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 1em auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (min-width: 400px) {
|
||||
|
||||
header:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
nav .links {
|
||||
float: right;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.siteTitle {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.nav-item-title {
|
||||
font-size: 0.85em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
}
|
37
static/keys/mailo-publickey.txt
Normal file
37
static/keys/mailo-publickey.txt
Normal file
|
@ -0,0 +1,37 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
8ls80+tq
|
||||
=L1tJ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
2
static/robots.txt
Normal file
2
static/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
Disallow: /contact.html
|
Loading…
Reference in New Issue
Block a user