Compare commits
	
		
			4 Commits
		
	
	
		
			v3.0
			...
			fd90371b1a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						fd90371b1a
	
				 | 
					
					
						|||
| 
						
						
							
						
						65b5d1bd44
	
				 | 
					
					
						|||
| 
						
						
							
						
						bb691259bb
	
				 | 
					
					
						|||
| 
						
						
							
						
						b5434ff46f
	
				 | 
					
					
						
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,8 +1 @@
 | 
			
		||||
venv/
 | 
			
		||||
site/*.html
 | 
			
		||||
site/atom_blog.xml
 | 
			
		||||
site/atom_events.xml
 | 
			
		||||
poster.html
 | 
			
		||||
poster.pdf
 | 
			
		||||
http.access.log
 | 
			
		||||
http.error.log
 | 
			
		||||
public
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										661
									
								
								LICENCE
									
									
									
									
									
								
							
							
						
						@@ -1,661 +0,0 @@
 | 
			
		||||
                    GNU AFFERO GENERAL PUBLIC LICENSE
 | 
			
		||||
                       Version 3, 19 November 2007
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
                            Preamble
 | 
			
		||||
 | 
			
		||||
  The GNU Affero General Public License is a free, copyleft license for
 | 
			
		||||
software and other kinds of works, specifically designed to ensure
 | 
			
		||||
cooperation with the community in the case of network server software.
 | 
			
		||||
 | 
			
		||||
  The licenses for most software and other practical works are designed
 | 
			
		||||
to take away your freedom to share and change the works.  By contrast,
 | 
			
		||||
our General Public Licenses are intended to guarantee your freedom to
 | 
			
		||||
share and change all versions of a program--to make sure it remains free
 | 
			
		||||
software for all its users.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
price.  Our General Public Licenses are designed to make sure that you
 | 
			
		||||
have the freedom to distribute copies of free software (and charge for
 | 
			
		||||
them if you wish), that you receive source code or can get it if you
 | 
			
		||||
want it, that you can change the software or use pieces of it in new
 | 
			
		||||
free programs, and that you know you can do these things.
 | 
			
		||||
 | 
			
		||||
  Developers that use our General Public Licenses protect your rights
 | 
			
		||||
with two steps: (1) assert copyright on the software, and (2) offer
 | 
			
		||||
you this License which gives you legal permission to copy, distribute
 | 
			
		||||
and/or modify the software.
 | 
			
		||||
 | 
			
		||||
  A secondary benefit of defending all users' freedom is that
 | 
			
		||||
improvements made in alternate versions of the program, if they
 | 
			
		||||
receive widespread use, become available for other developers to
 | 
			
		||||
incorporate.  Many developers of free software are heartened and
 | 
			
		||||
encouraged by the resulting cooperation.  However, in the case of
 | 
			
		||||
software used on network servers, this result may fail to come about.
 | 
			
		||||
The GNU General Public License permits making a modified version and
 | 
			
		||||
letting the public access it on a server without ever releasing its
 | 
			
		||||
source code to the public.
 | 
			
		||||
 | 
			
		||||
  The GNU Affero General Public License is designed specifically to
 | 
			
		||||
ensure that, in such cases, the modified source code becomes available
 | 
			
		||||
to the community.  It requires the operator of a network server to
 | 
			
		||||
provide the source code of the modified version running there to the
 | 
			
		||||
users of that server.  Therefore, public use of a modified version, on
 | 
			
		||||
a publicly accessible server, gives the public access to the source
 | 
			
		||||
code of the modified version.
 | 
			
		||||
 | 
			
		||||
  An older license, called the Affero General Public License and
 | 
			
		||||
published by Affero, was designed to accomplish similar goals.  This is
 | 
			
		||||
a different license, not a version of the Affero GPL, but Affero has
 | 
			
		||||
released a new version of the Affero GPL which permits relicensing under
 | 
			
		||||
this license.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
                       TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
  0. Definitions.
 | 
			
		||||
 | 
			
		||||
  "This License" refers to version 3 of the GNU Affero General Public License.
 | 
			
		||||
 | 
			
		||||
  "Copyright" also means copyright-like laws that apply to other kinds of
 | 
			
		||||
works, such as semiconductor masks.
 | 
			
		||||
 | 
			
		||||
  "The Program" refers to any copyrightable work licensed under this
 | 
			
		||||
License.  Each licensee is addressed as "you".  "Licensees" and
 | 
			
		||||
"recipients" may be individuals or organizations.
 | 
			
		||||
 | 
			
		||||
  To "modify" a work means to copy from or adapt all or part of the work
 | 
			
		||||
in a fashion requiring copyright permission, other than the making of an
 | 
			
		||||
exact copy.  The resulting work is called a "modified version" of the
 | 
			
		||||
earlier work or a work "based on" the earlier work.
 | 
			
		||||
 | 
			
		||||
  A "covered work" means either the unmodified Program or a work based
 | 
			
		||||
on the Program.
 | 
			
		||||
 | 
			
		||||
  To "propagate" a work means to do anything with it that, without
 | 
			
		||||
permission, would make you directly or secondarily liable for
 | 
			
		||||
infringement under applicable copyright law, except executing it on a
 | 
			
		||||
computer or modifying a private copy.  Propagation includes copying,
 | 
			
		||||
distribution (with or without modification), making available to the
 | 
			
		||||
public, and in some countries other activities as well.
 | 
			
		||||
 | 
			
		||||
  To "convey" a work means any kind of propagation that enables other
 | 
			
		||||
parties to make or receive copies.  Mere interaction with a user through
 | 
			
		||||
a computer network, with no transfer of a copy, is not conveying.
 | 
			
		||||
 | 
			
		||||
  An interactive user interface displays "Appropriate Legal Notices"
 | 
			
		||||
to the extent that it includes a convenient and prominently visible
 | 
			
		||||
feature that (1) displays an appropriate copyright notice, and (2)
 | 
			
		||||
tells the user that there is no warranty for the work (except to the
 | 
			
		||||
extent that warranties are provided), that licensees may convey the
 | 
			
		||||
work under this License, and how to view a copy of this License.  If
 | 
			
		||||
the interface presents a list of user commands or options, such as a
 | 
			
		||||
menu, a prominent item in the list meets this criterion.
 | 
			
		||||
 | 
			
		||||
  1. Source Code.
 | 
			
		||||
 | 
			
		||||
  The "source code" for a work means the preferred form of the work
 | 
			
		||||
for making modifications to it.  "Object code" means any non-source
 | 
			
		||||
form of a work.
 | 
			
		||||
 | 
			
		||||
  A "Standard Interface" means an interface that either is an official
 | 
			
		||||
standard defined by a recognized standards body, or, in the case of
 | 
			
		||||
interfaces specified for a particular programming language, one that
 | 
			
		||||
is widely used among developers working in that language.
 | 
			
		||||
 | 
			
		||||
  The "System Libraries" of an executable work include anything, other
 | 
			
		||||
than the work as a whole, that (a) is included in the normal form of
 | 
			
		||||
packaging a Major Component, but which is not part of that Major
 | 
			
		||||
Component, and (b) serves only to enable use of the work with that
 | 
			
		||||
Major Component, or to implement a Standard Interface for which an
 | 
			
		||||
implementation is available to the public in source code form.  A
 | 
			
		||||
"Major Component", in this context, means a major essential component
 | 
			
		||||
(kernel, window system, and so on) of the specific operating system
 | 
			
		||||
(if any) on which the executable work runs, or a compiler used to
 | 
			
		||||
produce the work, or an object code interpreter used to run it.
 | 
			
		||||
 | 
			
		||||
  The "Corresponding Source" for a work in object code form means all
 | 
			
		||||
the source code needed to generate, install, and (for an executable
 | 
			
		||||
work) run the object code and to modify the work, including scripts to
 | 
			
		||||
control those activities.  However, it does not include the work's
 | 
			
		||||
System Libraries, or general-purpose tools or generally available free
 | 
			
		||||
programs which are used unmodified in performing those activities but
 | 
			
		||||
which are not part of the work.  For example, Corresponding Source
 | 
			
		||||
includes interface definition files associated with source files for
 | 
			
		||||
the work, and the source code for shared libraries and dynamically
 | 
			
		||||
linked subprograms that the work is specifically designed to require,
 | 
			
		||||
such as by intimate data communication or control flow between those
 | 
			
		||||
subprograms and other parts of the work.
 | 
			
		||||
 | 
			
		||||
  The Corresponding Source need not include anything that users
 | 
			
		||||
can regenerate automatically from other parts of the Corresponding
 | 
			
		||||
Source.
 | 
			
		||||
 | 
			
		||||
  The Corresponding Source for a work in source code form is that
 | 
			
		||||
same work.
 | 
			
		||||
 | 
			
		||||
  2. Basic Permissions.
 | 
			
		||||
 | 
			
		||||
  All rights granted under this License are granted for the term of
 | 
			
		||||
copyright on the Program, and are irrevocable provided the stated
 | 
			
		||||
conditions are met.  This License explicitly affirms your unlimited
 | 
			
		||||
permission to run the unmodified Program.  The output from running a
 | 
			
		||||
covered work is covered by this License only if the output, given its
 | 
			
		||||
content, constitutes a covered work.  This License acknowledges your
 | 
			
		||||
rights of fair use or other equivalent, as provided by copyright law.
 | 
			
		||||
 | 
			
		||||
  You may make, run and propagate covered works that you do not
 | 
			
		||||
convey, without conditions so long as your license otherwise remains
 | 
			
		||||
in force.  You may convey covered works to others for the sole purpose
 | 
			
		||||
of having them make modifications exclusively for you, or provide you
 | 
			
		||||
with facilities for running those works, provided that you comply with
 | 
			
		||||
the terms of this License in conveying all material for which you do
 | 
			
		||||
not control copyright.  Those thus making or running the covered works
 | 
			
		||||
for you must do so exclusively on your behalf, under your direction
 | 
			
		||||
and control, on terms that prohibit them from making any copies of
 | 
			
		||||
your copyrighted material outside their relationship with you.
 | 
			
		||||
 | 
			
		||||
  Conveying under any other circumstances is permitted solely under
 | 
			
		||||
the conditions stated below.  Sublicensing is not allowed; section 10
 | 
			
		||||
makes it unnecessary.
 | 
			
		||||
 | 
			
		||||
  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
 | 
			
		||||
 | 
			
		||||
  No covered work shall be deemed part of an effective technological
 | 
			
		||||
measure under any applicable law fulfilling obligations under article
 | 
			
		||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
 | 
			
		||||
similar laws prohibiting or restricting circumvention of such
 | 
			
		||||
measures.
 | 
			
		||||
 | 
			
		||||
  When you convey a covered work, you waive any legal power to forbid
 | 
			
		||||
circumvention of technological measures to the extent such circumvention
 | 
			
		||||
is effected by exercising rights under this License with respect to
 | 
			
		||||
the covered work, and you disclaim any intention to limit operation or
 | 
			
		||||
modification of the work as a means of enforcing, against the work's
 | 
			
		||||
users, your or third parties' legal rights to forbid circumvention of
 | 
			
		||||
technological measures.
 | 
			
		||||
 | 
			
		||||
  4. Conveying Verbatim Copies.
 | 
			
		||||
 | 
			
		||||
  You may convey verbatim copies of the Program's source code as you
 | 
			
		||||
receive it, in any medium, provided that you conspicuously and
 | 
			
		||||
appropriately publish on each copy an appropriate copyright notice;
 | 
			
		||||
keep intact all notices stating that this License and any
 | 
			
		||||
non-permissive terms added in accord with section 7 apply to the code;
 | 
			
		||||
keep intact all notices of the absence of any warranty; and give all
 | 
			
		||||
recipients a copy of this License along with the Program.
 | 
			
		||||
 | 
			
		||||
  You may charge any price or no price for each copy that you convey,
 | 
			
		||||
and you may offer support or warranty protection for a fee.
 | 
			
		||||
 | 
			
		||||
  5. Conveying Modified Source Versions.
 | 
			
		||||
 | 
			
		||||
  You may convey a work based on the Program, or the modifications to
 | 
			
		||||
produce it from the Program, in the form of source code under the
 | 
			
		||||
terms of section 4, provided that you also meet all of these conditions:
 | 
			
		||||
 | 
			
		||||
    a) The work must carry prominent notices stating that you modified
 | 
			
		||||
    it, and giving a relevant date.
 | 
			
		||||
 | 
			
		||||
    b) The work must carry prominent notices stating that it is
 | 
			
		||||
    released under this License and any conditions added under section
 | 
			
		||||
    7.  This requirement modifies the requirement in section 4 to
 | 
			
		||||
    "keep intact all notices".
 | 
			
		||||
 | 
			
		||||
    c) You must license the entire work, as a whole, under this
 | 
			
		||||
    License to anyone who comes into possession of a copy.  This
 | 
			
		||||
    License will therefore apply, along with any applicable section 7
 | 
			
		||||
    additional terms, to the whole of the work, and all its parts,
 | 
			
		||||
    regardless of how they are packaged.  This License gives no
 | 
			
		||||
    permission to license the work in any other way, but it does not
 | 
			
		||||
    invalidate such permission if you have separately received it.
 | 
			
		||||
 | 
			
		||||
    d) If the work has interactive user interfaces, each must display
 | 
			
		||||
    Appropriate Legal Notices; however, if the Program has interactive
 | 
			
		||||
    interfaces that do not display Appropriate Legal Notices, your
 | 
			
		||||
    work need not make them do so.
 | 
			
		||||
 | 
			
		||||
  A compilation of a covered work with other separate and independent
 | 
			
		||||
works, which are not by their nature extensions of the covered work,
 | 
			
		||||
and which are not combined with it such as to form a larger program,
 | 
			
		||||
in or on a volume of a storage or distribution medium, is called an
 | 
			
		||||
"aggregate" if the compilation and its resulting copyright are not
 | 
			
		||||
used to limit the access or legal rights of the compilation's users
 | 
			
		||||
beyond what the individual works permit.  Inclusion of a covered work
 | 
			
		||||
in an aggregate does not cause this License to apply to the other
 | 
			
		||||
parts of the aggregate.
 | 
			
		||||
 | 
			
		||||
  6. Conveying Non-Source Forms.
 | 
			
		||||
 | 
			
		||||
  You may convey a covered work in object code form under the terms
 | 
			
		||||
of sections 4 and 5, provided that you also convey the
 | 
			
		||||
machine-readable Corresponding Source under the terms of this License,
 | 
			
		||||
in one of these ways:
 | 
			
		||||
 | 
			
		||||
    a) Convey the object code in, or embodied in, a physical product
 | 
			
		||||
    (including a physical distribution medium), accompanied by the
 | 
			
		||||
    Corresponding Source fixed on a durable physical medium
 | 
			
		||||
    customarily used for software interchange.
 | 
			
		||||
 | 
			
		||||
    b) Convey the object code in, or embodied in, a physical product
 | 
			
		||||
    (including a physical distribution medium), accompanied by a
 | 
			
		||||
    written offer, valid for at least three years and valid for as
 | 
			
		||||
    long as you offer spare parts or customer support for that product
 | 
			
		||||
    model, to give anyone who possesses the object code either (1) a
 | 
			
		||||
    copy of the Corresponding Source for all the software in the
 | 
			
		||||
    product that is covered by this License, on a durable physical
 | 
			
		||||
    medium customarily used for software interchange, for a price no
 | 
			
		||||
    more than your reasonable cost of physically performing this
 | 
			
		||||
    conveying of source, or (2) access to copy the
 | 
			
		||||
    Corresponding Source from a network server at no charge.
 | 
			
		||||
 | 
			
		||||
    c) Convey individual copies of the object code with a copy of the
 | 
			
		||||
    written offer to provide the Corresponding Source.  This
 | 
			
		||||
    alternative is allowed only occasionally and noncommercially, and
 | 
			
		||||
    only if you received the object code with such an offer, in accord
 | 
			
		||||
    with subsection 6b.
 | 
			
		||||
 | 
			
		||||
    d) Convey the object code by offering access from a designated
 | 
			
		||||
    place (gratis or for a charge), and offer equivalent access to the
 | 
			
		||||
    Corresponding Source in the same way through the same place at no
 | 
			
		||||
    further charge.  You need not require recipients to copy the
 | 
			
		||||
    Corresponding Source along with the object code.  If the place to
 | 
			
		||||
    copy the object code is a network server, the Corresponding Source
 | 
			
		||||
    may be on a different server (operated by you or a third party)
 | 
			
		||||
    that supports equivalent copying facilities, provided you maintain
 | 
			
		||||
    clear directions next to the object code saying where to find the
 | 
			
		||||
    Corresponding Source.  Regardless of what server hosts the
 | 
			
		||||
    Corresponding Source, you remain obligated to ensure that it is
 | 
			
		||||
    available for as long as needed to satisfy these requirements.
 | 
			
		||||
 | 
			
		||||
    e) Convey the object code using peer-to-peer transmission, provided
 | 
			
		||||
    you inform other peers where the object code and Corresponding
 | 
			
		||||
    Source of the work are being offered to the general public at no
 | 
			
		||||
    charge under subsection 6d.
 | 
			
		||||
 | 
			
		||||
  A separable portion of the object code, whose source code is excluded
 | 
			
		||||
from the Corresponding Source as a System Library, need not be
 | 
			
		||||
included in conveying the object code work.
 | 
			
		||||
 | 
			
		||||
  A "User Product" is either (1) a "consumer product", which means any
 | 
			
		||||
tangible personal property which is normally used for personal, family,
 | 
			
		||||
or household purposes, or (2) anything designed or sold for incorporation
 | 
			
		||||
into a dwelling.  In determining whether a product is a consumer product,
 | 
			
		||||
doubtful cases shall be resolved in favor of coverage.  For a particular
 | 
			
		||||
product received by a particular user, "normally used" refers to a
 | 
			
		||||
typical or common use of that class of product, regardless of the status
 | 
			
		||||
of the particular user or of the way in which the particular user
 | 
			
		||||
actually uses, or expects or is expected to use, the product.  A product
 | 
			
		||||
is a consumer product regardless of whether the product has substantial
 | 
			
		||||
commercial, industrial or non-consumer uses, unless such uses represent
 | 
			
		||||
the only significant mode of use of the product.
 | 
			
		||||
 | 
			
		||||
  "Installation Information" for a User Product means any methods,
 | 
			
		||||
procedures, authorization keys, or other information required to install
 | 
			
		||||
and execute modified versions of a covered work in that User Product from
 | 
			
		||||
a modified version of its Corresponding Source.  The information must
 | 
			
		||||
suffice to ensure that the continued functioning of the modified object
 | 
			
		||||
code is in no case prevented or interfered with solely because
 | 
			
		||||
modification has been made.
 | 
			
		||||
 | 
			
		||||
  If you convey an object code work under this section in, or with, or
 | 
			
		||||
specifically for use in, a User Product, and the conveying occurs as
 | 
			
		||||
part of a transaction in which the right of possession and use of the
 | 
			
		||||
User Product is transferred to the recipient in perpetuity or for a
 | 
			
		||||
fixed term (regardless of how the transaction is characterized), the
 | 
			
		||||
Corresponding Source conveyed under this section must be accompanied
 | 
			
		||||
by the Installation Information.  But this requirement does not apply
 | 
			
		||||
if neither you nor any third party retains the ability to install
 | 
			
		||||
modified object code on the User Product (for example, the work has
 | 
			
		||||
been installed in ROM).
 | 
			
		||||
 | 
			
		||||
  The requirement to provide Installation Information does not include a
 | 
			
		||||
requirement to continue to provide support service, warranty, or updates
 | 
			
		||||
for a work that has been modified or installed by the recipient, or for
 | 
			
		||||
the User Product in which it has been modified or installed.  Access to a
 | 
			
		||||
network may be denied when the modification itself materially and
 | 
			
		||||
adversely affects the operation of the network or violates the rules and
 | 
			
		||||
protocols for communication across the network.
 | 
			
		||||
 | 
			
		||||
  Corresponding Source conveyed, and Installation Information provided,
 | 
			
		||||
in accord with this section must be in a format that is publicly
 | 
			
		||||
documented (and with an implementation available to the public in
 | 
			
		||||
source code form), and must require no special password or key for
 | 
			
		||||
unpacking, reading or copying.
 | 
			
		||||
 | 
			
		||||
  7. Additional Terms.
 | 
			
		||||
 | 
			
		||||
  "Additional permissions" are terms that supplement the terms of this
 | 
			
		||||
License by making exceptions from one or more of its conditions.
 | 
			
		||||
Additional permissions that are applicable to the entire Program shall
 | 
			
		||||
be treated as though they were included in this License, to the extent
 | 
			
		||||
that they are valid under applicable law.  If additional permissions
 | 
			
		||||
apply only to part of the Program, that part may be used separately
 | 
			
		||||
under those permissions, but the entire Program remains governed by
 | 
			
		||||
this License without regard to the additional permissions.
 | 
			
		||||
 | 
			
		||||
  When you convey a copy of a covered work, you may at your option
 | 
			
		||||
remove any additional permissions from that copy, or from any part of
 | 
			
		||||
it.  (Additional permissions may be written to require their own
 | 
			
		||||
removal in certain cases when you modify the work.)  You may place
 | 
			
		||||
additional permissions on material, added by you to a covered work,
 | 
			
		||||
for which you have or can give appropriate copyright permission.
 | 
			
		||||
 | 
			
		||||
  Notwithstanding any other provision of this License, for material you
 | 
			
		||||
add to a covered work, you may (if authorized by the copyright holders of
 | 
			
		||||
that material) supplement the terms of this License with terms:
 | 
			
		||||
 | 
			
		||||
    a) Disclaiming warranty or limiting liability differently from the
 | 
			
		||||
    terms of sections 15 and 16 of this License; or
 | 
			
		||||
 | 
			
		||||
    b) Requiring preservation of specified reasonable legal notices or
 | 
			
		||||
    author attributions in that material or in the Appropriate Legal
 | 
			
		||||
    Notices displayed by works containing it; or
 | 
			
		||||
 | 
			
		||||
    c) Prohibiting misrepresentation of the origin of that material, or
 | 
			
		||||
    requiring that modified versions of such material be marked in
 | 
			
		||||
    reasonable ways as different from the original version; or
 | 
			
		||||
 | 
			
		||||
    d) Limiting the use for publicity purposes of names of licensors or
 | 
			
		||||
    authors of the material; or
 | 
			
		||||
 | 
			
		||||
    e) Declining to grant rights under trademark law for use of some
 | 
			
		||||
    trade names, trademarks, or service marks; or
 | 
			
		||||
 | 
			
		||||
    f) Requiring indemnification of licensors and authors of that
 | 
			
		||||
    material by anyone who conveys the material (or modified versions of
 | 
			
		||||
    it) with contractual assumptions of liability to the recipient, for
 | 
			
		||||
    any liability that these contractual assumptions directly impose on
 | 
			
		||||
    those licensors and authors.
 | 
			
		||||
 | 
			
		||||
  All other non-permissive additional terms are considered "further
 | 
			
		||||
restrictions" within the meaning of section 10.  If the Program as you
 | 
			
		||||
received it, or any part of it, contains a notice stating that it is
 | 
			
		||||
governed by this License along with a term that is a further
 | 
			
		||||
restriction, you may remove that term.  If a license document contains
 | 
			
		||||
a further restriction but permits relicensing or conveying under this
 | 
			
		||||
License, you may add to a covered work material governed by the terms
 | 
			
		||||
of that license document, provided that the further restriction does
 | 
			
		||||
not survive such relicensing or conveying.
 | 
			
		||||
 | 
			
		||||
  If you add terms to a covered work in accord with this section, you
 | 
			
		||||
must place, in the relevant source files, a statement of the
 | 
			
		||||
additional terms that apply to those files, or a notice indicating
 | 
			
		||||
where to find the applicable terms.
 | 
			
		||||
 | 
			
		||||
  Additional terms, permissive or non-permissive, may be stated in the
 | 
			
		||||
form of a separately written license, or stated as exceptions;
 | 
			
		||||
the above requirements apply either way.
 | 
			
		||||
 | 
			
		||||
  8. Termination.
 | 
			
		||||
 | 
			
		||||
  You may not propagate or modify a covered work except as expressly
 | 
			
		||||
provided under this License.  Any attempt otherwise to propagate or
 | 
			
		||||
modify it is void, and will automatically terminate your rights under
 | 
			
		||||
this License (including any patent licenses granted under the third
 | 
			
		||||
paragraph of section 11).
 | 
			
		||||
 | 
			
		||||
  However, if you cease all violation of this License, then your
 | 
			
		||||
license from a particular copyright holder is reinstated (a)
 | 
			
		||||
provisionally, unless and until the copyright holder explicitly and
 | 
			
		||||
finally terminates your license, and (b) permanently, if the copyright
 | 
			
		||||
holder fails to notify you of the violation by some reasonable means
 | 
			
		||||
prior to 60 days after the cessation.
 | 
			
		||||
 | 
			
		||||
  Moreover, your license from a particular copyright holder is
 | 
			
		||||
reinstated permanently if the copyright holder notifies you of the
 | 
			
		||||
violation by some reasonable means, this is the first time you have
 | 
			
		||||
received notice of violation of this License (for any work) from that
 | 
			
		||||
copyright holder, and you cure the violation prior to 30 days after
 | 
			
		||||
your receipt of the notice.
 | 
			
		||||
 | 
			
		||||
  Termination of your rights under this section does not terminate the
 | 
			
		||||
licenses of parties who have received copies or rights from you under
 | 
			
		||||
this License.  If your rights have been terminated and not permanently
 | 
			
		||||
reinstated, you do not qualify to receive new licenses for the same
 | 
			
		||||
material under section 10.
 | 
			
		||||
 | 
			
		||||
  9. Acceptance Not Required for Having Copies.
 | 
			
		||||
 | 
			
		||||
  You are not required to accept this License in order to receive or
 | 
			
		||||
run a copy of the Program.  Ancillary propagation of a covered work
 | 
			
		||||
occurring solely as a consequence of using peer-to-peer transmission
 | 
			
		||||
to receive a copy likewise does not require acceptance.  However,
 | 
			
		||||
nothing other than this License grants you permission to propagate or
 | 
			
		||||
modify any covered work.  These actions infringe copyright if you do
 | 
			
		||||
not accept this License.  Therefore, by modifying or propagating a
 | 
			
		||||
covered work, you indicate your acceptance of this License to do so.
 | 
			
		||||
 | 
			
		||||
  10. Automatic Licensing of Downstream Recipients.
 | 
			
		||||
 | 
			
		||||
  Each time you convey a covered work, the recipient automatically
 | 
			
		||||
receives a license from the original licensors, to run, modify and
 | 
			
		||||
propagate that work, subject to this License.  You are not responsible
 | 
			
		||||
for enforcing compliance by third parties with this License.
 | 
			
		||||
 | 
			
		||||
  An "entity transaction" is a transaction transferring control of an
 | 
			
		||||
organization, or substantially all assets of one, or subdividing an
 | 
			
		||||
organization, or merging organizations.  If propagation of a covered
 | 
			
		||||
work results from an entity transaction, each party to that
 | 
			
		||||
transaction who receives a copy of the work also receives whatever
 | 
			
		||||
licenses to the work the party's predecessor in interest had or could
 | 
			
		||||
give under the previous paragraph, plus a right to possession of the
 | 
			
		||||
Corresponding Source of the work from the predecessor in interest, if
 | 
			
		||||
the predecessor has it or can get it with reasonable efforts.
 | 
			
		||||
 | 
			
		||||
  You may not impose any further restrictions on the exercise of the
 | 
			
		||||
rights granted or affirmed under this License.  For example, you may
 | 
			
		||||
not impose a license fee, royalty, or other charge for exercise of
 | 
			
		||||
rights granted under this License, and you may not initiate litigation
 | 
			
		||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
 | 
			
		||||
any patent claim is infringed by making, using, selling, offering for
 | 
			
		||||
sale, or importing the Program or any portion of it.
 | 
			
		||||
 | 
			
		||||
  11. Patents.
 | 
			
		||||
 | 
			
		||||
  A "contributor" is a copyright holder who authorizes use under this
 | 
			
		||||
License of the Program or a work on which the Program is based.  The
 | 
			
		||||
work thus licensed is called the contributor's "contributor version".
 | 
			
		||||
 | 
			
		||||
  A contributor's "essential patent claims" are all patent claims
 | 
			
		||||
owned or controlled by the contributor, whether already acquired or
 | 
			
		||||
hereafter acquired, that would be infringed by some manner, permitted
 | 
			
		||||
by this License, of making, using, or selling its contributor version,
 | 
			
		||||
but do not include claims that would be infringed only as a
 | 
			
		||||
consequence of further modification of the contributor version.  For
 | 
			
		||||
purposes of this definition, "control" includes the right to grant
 | 
			
		||||
patent sublicenses in a manner consistent with the requirements of
 | 
			
		||||
this License.
 | 
			
		||||
 | 
			
		||||
  Each contributor grants you a non-exclusive, worldwide, royalty-free
 | 
			
		||||
patent license under the contributor's essential patent claims, to
 | 
			
		||||
make, use, sell, offer for sale, import and otherwise run, modify and
 | 
			
		||||
propagate the contents of its contributor version.
 | 
			
		||||
 | 
			
		||||
  In the following three paragraphs, a "patent license" is any express
 | 
			
		||||
agreement or commitment, however denominated, not to enforce a patent
 | 
			
		||||
(such as an express permission to practice a patent or covenant not to
 | 
			
		||||
sue for patent infringement).  To "grant" such a patent license to a
 | 
			
		||||
party means to make such an agreement or commitment not to enforce a
 | 
			
		||||
patent against the party.
 | 
			
		||||
 | 
			
		||||
  If you convey a covered work, knowingly relying on a patent license,
 | 
			
		||||
and the Corresponding Source of the work is not available for anyone
 | 
			
		||||
to copy, free of charge and under the terms of this License, through a
 | 
			
		||||
publicly available network server or other readily accessible means,
 | 
			
		||||
then you must either (1) cause the Corresponding Source to be so
 | 
			
		||||
available, or (2) arrange to deprive yourself of the benefit of the
 | 
			
		||||
patent license for this particular work, or (3) arrange, in a manner
 | 
			
		||||
consistent with the requirements of this License, to extend the patent
 | 
			
		||||
license to downstream recipients.  "Knowingly relying" means you have
 | 
			
		||||
actual knowledge that, but for the patent license, your conveying the
 | 
			
		||||
covered work in a country, or your recipient's use of the covered work
 | 
			
		||||
in a country, would infringe one or more identifiable patents in that
 | 
			
		||||
country that you have reason to believe are valid.
 | 
			
		||||
 | 
			
		||||
  If, pursuant to or in connection with a single transaction or
 | 
			
		||||
arrangement, you convey, or propagate by procuring conveyance of, a
 | 
			
		||||
covered work, and grant a patent license to some of the parties
 | 
			
		||||
receiving the covered work authorizing them to use, propagate, modify
 | 
			
		||||
or convey a specific copy of the covered work, then the patent license
 | 
			
		||||
you grant is automatically extended to all recipients of the covered
 | 
			
		||||
work and works based on it.
 | 
			
		||||
 | 
			
		||||
  A patent license is "discriminatory" if it does not include within
 | 
			
		||||
the scope of its coverage, prohibits the exercise of, or is
 | 
			
		||||
conditioned on the non-exercise of one or more of the rights that are
 | 
			
		||||
specifically granted under this License.  You may not convey a covered
 | 
			
		||||
work if you are a party to an arrangement with a third party that is
 | 
			
		||||
in the business of distributing software, under which you make payment
 | 
			
		||||
to the third party based on the extent of your activity of conveying
 | 
			
		||||
the work, and under which the third party grants, to any of the
 | 
			
		||||
parties who would receive the covered work from you, a discriminatory
 | 
			
		||||
patent license (a) in connection with copies of the covered work
 | 
			
		||||
conveyed by you (or copies made from those copies), or (b) primarily
 | 
			
		||||
for and in connection with specific products or compilations that
 | 
			
		||||
contain the covered work, unless you entered into that arrangement,
 | 
			
		||||
or that patent license was granted, prior to 28 March 2007.
 | 
			
		||||
 | 
			
		||||
  Nothing in this License shall be construed as excluding or limiting
 | 
			
		||||
any implied license or other defenses to infringement that may
 | 
			
		||||
otherwise be available to you under applicable patent law.
 | 
			
		||||
 | 
			
		||||
  12. No Surrender of Others' Freedom.
 | 
			
		||||
 | 
			
		||||
  If conditions are imposed on you (whether by court order, agreement or
 | 
			
		||||
otherwise) that contradict the conditions of this License, they do not
 | 
			
		||||
excuse you from the conditions of this License.  If you cannot convey a
 | 
			
		||||
covered work so as to satisfy simultaneously your obligations under this
 | 
			
		||||
License and any other pertinent obligations, then as a consequence you may
 | 
			
		||||
not convey it at all.  For example, if you agree to terms that obligate you
 | 
			
		||||
to collect a royalty for further conveying from those to whom you convey
 | 
			
		||||
the Program, the only way you could satisfy both those terms and this
 | 
			
		||||
License would be to refrain entirely from conveying the Program.
 | 
			
		||||
 | 
			
		||||
  13. Remote Network Interaction; Use with the GNU General Public License.
 | 
			
		||||
 | 
			
		||||
  Notwithstanding any other provision of this License, if you modify the
 | 
			
		||||
Program, your modified version must prominently offer all users
 | 
			
		||||
interacting with it remotely through a computer network (if your version
 | 
			
		||||
supports such interaction) an opportunity to receive the Corresponding
 | 
			
		||||
Source of your version by providing access to the Corresponding Source
 | 
			
		||||
from a network server at no charge, through some standard or customary
 | 
			
		||||
means of facilitating copying of software.  This Corresponding Source
 | 
			
		||||
shall include the Corresponding Source for any work covered by version 3
 | 
			
		||||
of the GNU General Public License that is incorporated pursuant to the
 | 
			
		||||
following paragraph.
 | 
			
		||||
 | 
			
		||||
  Notwithstanding any other provision of this License, you have
 | 
			
		||||
permission to link or combine any covered work with a work licensed
 | 
			
		||||
under version 3 of the GNU General Public License into a single
 | 
			
		||||
combined work, and to convey the resulting work.  The terms of this
 | 
			
		||||
License will continue to apply to the part which is the covered work,
 | 
			
		||||
but the work with which it is combined will remain governed by version
 | 
			
		||||
3 of the GNU General Public License.
 | 
			
		||||
 | 
			
		||||
  14. Revised Versions of this License.
 | 
			
		||||
 | 
			
		||||
  The Free Software Foundation may publish revised and/or new versions of
 | 
			
		||||
the GNU Affero General Public License from time to time.  Such new versions
 | 
			
		||||
will be similar in spirit to the present version, but may differ in detail to
 | 
			
		||||
address new problems or concerns.
 | 
			
		||||
 | 
			
		||||
  Each version is given a distinguishing version number.  If the
 | 
			
		||||
Program specifies that a certain numbered version of the GNU Affero General
 | 
			
		||||
Public License "or any later version" applies to it, you have the
 | 
			
		||||
option of following the terms and conditions either of that numbered
 | 
			
		||||
version or of any later version published by the Free Software
 | 
			
		||||
Foundation.  If the Program does not specify a version number of the
 | 
			
		||||
GNU Affero General Public License, you may choose any version ever published
 | 
			
		||||
by the Free Software Foundation.
 | 
			
		||||
 | 
			
		||||
  If the Program specifies that a proxy can decide which future
 | 
			
		||||
versions of the GNU Affero General Public License can be used, that proxy's
 | 
			
		||||
public statement of acceptance of a version permanently authorizes you
 | 
			
		||||
to choose that version for the Program.
 | 
			
		||||
 | 
			
		||||
  Later license versions may give you additional or different
 | 
			
		||||
permissions.  However, no additional obligations are imposed on any
 | 
			
		||||
author or copyright holder as a result of your choosing to follow a
 | 
			
		||||
later version.
 | 
			
		||||
 | 
			
		||||
  15. Disclaimer of Warranty.
 | 
			
		||||
 | 
			
		||||
  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
 | 
			
		||||
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
 | 
			
		||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
 | 
			
		||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
 | 
			
		||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 | 
			
		||||
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
 | 
			
		||||
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
 | 
			
		||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
 | 
			
		||||
 | 
			
		||||
  16. Limitation of Liability.
 | 
			
		||||
 | 
			
		||||
  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
 | 
			
		||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
 | 
			
		||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
 | 
			
		||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
 | 
			
		||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
 | 
			
		||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
 | 
			
		||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
 | 
			
		||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
 | 
			
		||||
SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
  17. Interpretation of Sections 15 and 16.
 | 
			
		||||
 | 
			
		||||
  If the disclaimer of warranty and limitation of liability provided
 | 
			
		||||
above cannot be given local legal effect according to their terms,
 | 
			
		||||
reviewing courts shall apply local law that most closely approximates
 | 
			
		||||
an absolute waiver of all civil liability in connection with the
 | 
			
		||||
Program, unless a warranty or assumption of liability accompanies a
 | 
			
		||||
copy of the Program in return for a fee.
 | 
			
		||||
 | 
			
		||||
                     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
            How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
possible use to the public, the best way to achieve this is to make it
 | 
			
		||||
free software which everyone can redistribute and change under these terms.
 | 
			
		||||
 | 
			
		||||
  To do so, attach the following notices to the program.  It is safest
 | 
			
		||||
to attach them to the start of each source file to most effectively
 | 
			
		||||
state the exclusion of warranty; and each file should have at least
 | 
			
		||||
the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    <one line to give the program's name and a brief idea of what it does.>
 | 
			
		||||
    Copyright (C) <year>  <name of author>
 | 
			
		||||
 | 
			
		||||
    This program is free software: you can redistribute it and/or modify
 | 
			
		||||
    it under the terms of the GNU Affero General Public License as published by
 | 
			
		||||
    the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
    (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
    This program is distributed in the hope that it will be useful,
 | 
			
		||||
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
    GNU Affero General Public License for more details.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU Affero General Public License
 | 
			
		||||
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
 | 
			
		||||
  If your software can interact with users remotely through a computer
 | 
			
		||||
network, you should also make sure that it provides a way for users to
 | 
			
		||||
get its source.  For example, if your program is a web application, its
 | 
			
		||||
interface could display a "Source" link that leads users to an archive
 | 
			
		||||
of the code.  There are many ways you could offer source, and different
 | 
			
		||||
solutions will be better for different programs; see section 13 for the
 | 
			
		||||
specific requirements.
 | 
			
		||||
 | 
			
		||||
  You should also get your employer (if you work as a programmer) or school,
 | 
			
		||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
 | 
			
		||||
For more information on this, and how to apply and follow the GNU AGPL, see
 | 
			
		||||
<https://www.gnu.org/licenses/>.
 | 
			
		||||
							
								
								
									
										22
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,22 @@
 | 
			
		||||
output : all
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	mkdir public
 | 
			
		||||
 | 
			
		||||
public/static: static
 | 
			
		||||
	cp -r static public/
 | 
			
		||||
 | 
			
		||||
public/%.html : %.md
 | 
			
		||||
	@cp start.html $@
 | 
			
		||||
	@cat $< | sed 's#.md)#.html)#g' | pandoc -f markdown -t html5 -o- >> $@
 | 
			
		||||
	@cat end.html >> $@
 | 
			
		||||
 | 
			
		||||
HTML := $(patsubst %.md,public/%.html,$(wildcard *.md))
 | 
			
		||||
 | 
			
		||||
all : public $(HTML) public/static
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	echo $(HTML)
 | 
			
		||||
 | 
			
		||||
clean :
 | 
			
		||||
	rm -rf public
 | 
			
		||||
							
								
								
									
										41
									
								
								README.md
									
									
									
									
									
								
							
							
						
						@@ -1,39 +1,12 @@
 | 
			
		||||
# Decentrala
 | 
			
		||||
This repo builds the website `dmz.rs`.
 | 
			
		||||
 | 
			
		||||
Redisign of dmz.rs .
 | 
			
		||||
## Dependencies
 | 
			
		||||
 | 
			
		||||
## Build site
 | 
			
		||||
- `make`
 | 
			
		||||
- `pandoc`
 | 
			
		||||
 | 
			
		||||
Run
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
python atom_gen.py
 | 
			
		||||
python prep.py
 | 
			
		||||
python build_pages.py
 | 
			
		||||
```
 | 
			
		||||
`make`
 | 
			
		||||
 | 
			
		||||
Complete website will be contained in `site/`. You can copy this to server.
 | 
			
		||||
 | 
			
		||||
## Development server
 | 
			
		||||
 | 
			
		||||
To start a development server, first build site, then run (possibly with `sudo`)
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
nginx -p . -c nginx.dev.conf
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To stop it:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
nginx -p . -s stop
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## TODO:
 | 
			
		||||
 | 
			
		||||
- [x] create page builder
 | 
			
		||||
- [ ] create blogging system
 | 
			
		||||
- [ ] create xmpp bot that connects to events section.
 | 
			
		||||
- [ ] webring system
 | 
			
		||||
  - [x] make page
 | 
			
		||||
  - [ ] populate page
 | 
			
		||||
- [ ] make english version (localisation)
 | 
			
		||||
The output will appear in the `public` directory.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										73
									
								
								atom_gen.py
									
									
									
									
									
								
							
							
						
						@@ -1,73 +0,0 @@
 | 
			
		||||
#! /usr/bin/python3
 | 
			
		||||
 | 
			
		||||
# needs lowdown and feegden installed
 | 
			
		||||
# feedgen can be installed with pip
 | 
			
		||||
# also expects that *.md files are in blog/ directory
 | 
			
		||||
 | 
			
		||||
from feedgen.feed import FeedGenerator
 | 
			
		||||
import datetime
 | 
			
		||||
import subprocess
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
blogs_dir = os.fsencode("blog")
 | 
			
		||||
 | 
			
		||||
def blogposts_list_gen():
 | 
			
		||||
    output_list = []
 | 
			
		||||
    for file in os.listdir(blogs_dir):
 | 
			
		||||
        filename = os.fsdecode(file)
 | 
			
		||||
        if filename.endswith(".md"):
 | 
			
		||||
            full_path = "blog/" + filename
 | 
			
		||||
 | 
			
		||||
            author = subprocess.run("lowdown -X author " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
 | 
			
		||||
            title = subprocess.run("lowdown -X title " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
 | 
			
		||||
            time = subprocess.run("lowdown -X time " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
 | 
			
		||||
            content_html = subprocess.run("lowdown " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
 | 
			
		||||
 | 
			
		||||
            output_list.append([author, title, time, content_html, full_path])
 | 
			
		||||
    return output_list
 | 
			
		||||
 | 
			
		||||
def events_list_gen():
 | 
			
		||||
    output_list = []
 | 
			
		||||
    events_file = open("dogadjaji.csv", "r")
 | 
			
		||||
    for line in events_file.readlines():
 | 
			
		||||
            date, time, location, title = line.split(", ")
 | 
			
		||||
            author = "Decentrala"
 | 
			
		||||
            content_html = f"Event is taking place at {location} on {date} at {time}. For more information see the forum at https://forum.dmz.rs"
 | 
			
		||||
 | 
			
		||||
            output_list.append([author, title, content_html])
 | 
			
		||||
    events_file.close()
 | 
			
		||||
    return output_list
 | 
			
		||||
 | 
			
		||||
def feedgen(blogs, events):
 | 
			
		||||
    fg_blog = FeedGenerator()
 | 
			
		||||
    fg_blog.id('http://dmz.rs/')
 | 
			
		||||
    fg_blog.title('Decentrala Blog')
 | 
			
		||||
    fg_blog.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
 | 
			
		||||
    fg_blog.link( href='https://dmz.rs/atom_blog.xml', rel='self' )
 | 
			
		||||
 | 
			
		||||
    fg_events = FeedGenerator()
 | 
			
		||||
    fg_events.id('http://dmz.rs/')
 | 
			
		||||
    fg_events.title('Decentrala Blog')
 | 
			
		||||
    fg_events.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
 | 
			
		||||
    fg_events.link( href='https://dmz.rs/atom_events.xml', rel='self' )
 | 
			
		||||
 | 
			
		||||
    for post in blogs:
 | 
			
		||||
        fe_blogs = fg_blog.add_entry()
 | 
			
		||||
        fe_blogs.id("https://dmz.rs/" + post[4][:-3] + ".html")
 | 
			
		||||
        fe_blogs.author({'name': post[0]})
 | 
			
		||||
        fe_blogs.title(post[1])
 | 
			
		||||
        fe_blogs.updated(post[2])
 | 
			
		||||
        fe_blogs.content(content=post[3], type='html')
 | 
			
		||||
 | 
			
		||||
    for event in events:
 | 
			
		||||
        fe_events = fg_events.add_entry()
 | 
			
		||||
        fe_events.id("https://dmz.rs/pages/events.html")
 | 
			
		||||
        fe_events.author({'name': event[0]})
 | 
			
		||||
        fe_events.title(event[1])
 | 
			
		||||
        fe_events.updated(datetime.datetime.now(datetime.timezone.utc))
 | 
			
		||||
        fe_events.content(content=event[2], type='html')
 | 
			
		||||
 | 
			
		||||
    fg_blog.atom_file('site/atom_blog.xml')
 | 
			
		||||
    fg_events.atom_file('site/atom_events.xml')
 | 
			
		||||
 | 
			
		||||
feedgen(blogposts_list_gen(), events_list_gen())
 | 
			
		||||
							
								
								
									
										11
									
								
								blog.py
									
									
									
									
									
								
							
							
						
						@@ -1,11 +0,0 @@
 | 
			
		||||
# just testing markdown library for now
 | 
			
		||||
 | 
			
		||||
from markdown import markdown as to_markdown
 | 
			
		||||
 | 
			
		||||
blog = ""
 | 
			
		||||
 | 
			
		||||
with open('blogs/Lorem Ipsum.md','rt') as file:
 | 
			
		||||
    blog = file.read()
 | 
			
		||||
 | 
			
		||||
with open('blogs/Lorem Ipsum.html', 'wt') as file:
 | 
			
		||||
    file.write(to_markdown(blog))
 | 
			
		||||
@@ -1,33 +0,0 @@
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
PAGES = [
 | 
			
		||||
    {'name': 'index', 'titleSR': 'Početna', 'titleEN': 'Home', 'style': 'home'},
 | 
			
		||||
    {'name': 'account', 'titleSR': 'Nalog', 'titleEN': 'Account', 'style': 'account'},
 | 
			
		||||
    {'name': 'contact', 'titleSR': 'Kontakt', 'titleEN': 'Contact', 'style': 'contact'},
 | 
			
		||||
    {'name': 'events', 'titleSR': 'Događaji', 'titleEN': 'Events', 'style': 'events'},
 | 
			
		||||
    {'name': 'services', 'titleSR': 'Servisi', 'titleEN': 'Services', 'style': 'services'},
 | 
			
		||||
    {'name': 'webring', 'titleSR': 'Webring', 'titleEN': 'Webring', 'style': ''},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
def buildPage(pageTitle: str, pageHtml: str, pageStyle: str, template: str) -> str:
 | 
			
		||||
    template = template.replace('<!--TITLE-->', pageTitle)
 | 
			
		||||
    style =  '' if not pageStyle else f'<link rel=\"stylesheet\" href=\"/styles/{pageStyle}.css\">'
 | 
			
		||||
    template = template.replace('<!--ADDITIONAL_STYLE-->', style)
 | 
			
		||||
    template = template.replace('<!--MAIN-->', pageHtml)
 | 
			
		||||
    return template
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    os.makedirs('site/en/', exist_ok=True)
 | 
			
		||||
    with open('template/page-en.html') as fTempEN, open('template/page-sr.html') as fTempSR:
 | 
			
		||||
        templateSR = fTempSR.read()
 | 
			
		||||
        templateEN = fTempEN.read()
 | 
			
		||||
        for page in PAGES:
 | 
			
		||||
            with open(f'pages/sr/{page["name"]}.html') as f:
 | 
			
		||||
                pageHtml = f.read()
 | 
			
		||||
                html = buildPage(page['titleSR'], pageHtml, page['style'], templateSR)
 | 
			
		||||
                f = open(f'site/{page["name"]}.html', 'w')
 | 
			
		||||
                f.write(html)
 | 
			
		||||
                f.close()
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										12
									
								
								chat.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,12 @@
 | 
			
		||||
## Chat
 | 
			
		||||
 | 
			
		||||
Za koriscenje XMPP (Jabber) mozete koristiti
 | 
			
		||||
[Gajim](https://gajim.org/download/){target="blank"} na racunaru ,
 | 
			
		||||
[Conversations](https://conversations.im/){target="blank"} na Andoroid-u
 | 
			
		||||
(ne pravite nalog na conversations.im serveru, mozete na dmz.rs ili
 | 
			
		||||
nekom drugom) i [Monal](https://monal-im.org/){target="blank"} na Apple
 | 
			
		||||
proizvodima.
 | 
			
		||||
 | 
			
		||||
Mozete nas naci u XMPP grupi
 | 
			
		||||
[decentrala@conference.dmz.rs](xmpp:decentrala@conference.dmz.rs?join)
 | 
			
		||||
 | 
			
		||||
@@ -1,20 +0,0 @@
 | 
			
		||||
datum, vreme, lokacija, tema
 | 
			
		||||
03-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, Otvaranje izlozbe (Q&A)
 | 
			
		||||
03-05-2023, 18:00, KC Grad https://www.openstreetmap.org/node/4118716889, Linux install fest
 | 
			
		||||
04-05-2023, 17:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
 | 
			
		||||
04-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
 | 
			
		||||
04-05-2023, 21:00, n/a, Online sastanak sa Zajednicom za slobodnu tehnologiju iz Kikinde
 | 
			
		||||
05-05-2023, 15:30, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
 | 
			
		||||
06-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
 | 
			
		||||
07-05-2023, 16:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (diskusija)
 | 
			
		||||
08-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day
 | 
			
		||||
09-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cryptoparty - Uvod u privatnost
 | 
			
		||||
11-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
 | 
			
		||||
01-08-2023, 19:00, DC Krov, Tehno veče
 | 
			
		||||
07-08-2023, 19:00, DC Krov, Linux ricing
 | 
			
		||||
08-08-2023, 19:00, DC Krov, Lambda račun
 | 
			
		||||
14-08-2023, 19:00, DC Krov, Linux distro diskusija
 | 
			
		||||
15-08-2023, 19:00, DC Krov, Pirati 777 mora
 | 
			
		||||
21-08-2023, 19:00, DC Krov, Python vežbe
 | 
			
		||||
22-08-2023, 19:00, DC Krov, Autentifikacija na internetu
 | 
			
		||||
28-08-2023, 19:00, DC Krov, Kviz
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										36
									
								
								dogadjaji.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,36 @@
 | 
			
		||||
# DECENTRALA
 | 
			
		||||
 | 
			
		||||
## Dogadjaji
 | 
			
		||||
 | 
			
		||||
\> Ponedeljak (5. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Sifre
 | 
			
		||||
(predavanje)
 | 
			
		||||
 | 
			
		||||
\> Utorak (6. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Genersianje
 | 
			
		||||
random podataka (predavanje)
 | 
			
		||||
 | 
			
		||||
\> Ponedeljak (12. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Uvod u Blender,
 | 
			
		||||
3D modelovanje (radionica)
 | 
			
		||||
 | 
			
		||||
\> Utorak (13. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Cybersecurity
 | 
			
		||||
odbrana (predavanje)
 | 
			
		||||
 | 
			
		||||
\> Ponedeljak (19. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), BASH skripte
 | 
			
		||||
(predavanje)
 | 
			
		||||
 | 
			
		||||
\> Utorak (20. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Cybersecurity
 | 
			
		||||
odbrana (predavanje)
 | 
			
		||||
 | 
			
		||||
\> Ponedeljak (26. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Python vezbe
 | 
			
		||||
(radionica)
 | 
			
		||||
 | 
			
		||||
\> Utorak (27. Jun) u 19h u [DC
 | 
			
		||||
Krovu](https://www.openstreetmap.org/node/2937736453), Cybersecurity
 | 
			
		||||
odbrana (predavanje)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								forum.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
## Forum
 | 
			
		||||
 | 
			
		||||
Forum je na [forum.dmz.rs](https://forum.dmz.rs)
 | 
			
		||||
 | 
			
		||||
Nalog na forumu nije povezan sa nalogom na xmpp i mail serveru
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
			
		||||
Decentrala je zajednica okupljena oko decentralizacije tehnologija i
 | 
			
		||||
sirenja znanja.
 | 
			
		||||
 | 
			
		||||
- [DOGAĐAJI](dogadjaji.md)
 | 
			
		||||
- [FORUM](forum.md)
 | 
			
		||||
- [CHAT](chat.md)
 | 
			
		||||
- [NALOG](nalog.md)
 | 
			
		||||
- [O NAMA](onama.md)
 | 
			
		||||
- [SERVISI](servisi.md)
 | 
			
		||||
- [KONTAKT](kontakt.md)
 | 
			
		||||
							
								
								
									
										9
									
								
								kontakt.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
## Kontakt
 | 
			
		||||
 | 
			
		||||
Mozete nam poslati email na dmz@dmz.rs
 | 
			
		||||
 | 
			
		||||
Ili nas kontaktiraje na [forumu](/forum.html) ili [chat
 | 
			
		||||
kanalu](/chat.html)
 | 
			
		||||
 | 
			
		||||
Takodje mozete i doci na neku od dogadjaja i upoznati nas uzivo
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								nalog.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
			
		||||
## Nalog
 | 
			
		||||
 | 
			
		||||
Ako ste napravili nalog na dmz.rs mozete koristi nas xmpp i email
 | 
			
		||||
server.
 | 
			
		||||
 | 
			
		||||
Za vise o XMPP pogledajte [Chat](/chat.html) stranicu.
 | 
			
		||||
 | 
			
		||||
Za primer podesavanja na [Thundebird](https://www.thunderbird.net/) mail
 | 
			
		||||
klijentu mozete pogledati [sliku](/static/img/mailsettings.png).
 | 
			
		||||
 | 
			
		||||
-   Registruj se
 | 
			
		||||
-   Izbrisi nalog
 | 
			
		||||
-   Promeni lozinku
 | 
			
		||||
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
# Start nginx in this directory with `nginx -p . -c nginx.conf`
 | 
			
		||||
# Stop nginx with `nginx -p . -s stop`
 | 
			
		||||
events {}
 | 
			
		||||
 | 
			
		||||
http {
 | 
			
		||||
    # edit this for your system
 | 
			
		||||
    include /etc/nginx/mime.types;
 | 
			
		||||
 | 
			
		||||
    server {
 | 
			
		||||
        listen 9001;
 | 
			
		||||
        access_log http.access.log;
 | 
			
		||||
        error_log http.error.log;
 | 
			
		||||
        
 | 
			
		||||
        root site/;
 | 
			
		||||
 | 
			
		||||
        error_page 404 /404.html;
 | 
			
		||||
        location / {
 | 
			
		||||
            autoindex off;
 | 
			
		||||
            default_type "text/html";
 | 
			
		||||
            try_files  $uri $uri.html /$uri/index.html /index.html;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								onama.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,32 @@
 | 
			
		||||
## Sta je Decentrala
 | 
			
		||||
 | 
			
		||||
Decentrala je zajednica okupljena oko decentralizacije tehnologija i
 | 
			
		||||
sirenja znanja.
 | 
			
		||||
 | 
			
		||||
### Znanje
 | 
			
		||||
 | 
			
		||||
Svako moze drzati predavanje na bilo koju temu, samo se najavite na
 | 
			
		||||
forumu.
 | 
			
		||||
 | 
			
		||||
Decentrala veruje da svako treba da ima pristup znanju, zbog cega su
 | 
			
		||||
predavanja uvek besplatna i bez promocija.
 | 
			
		||||
 | 
			
		||||
Ako zelite nesto da podelite sa drugima sto ste naucili, prijavite se da
 | 
			
		||||
drzite jedno ili vise predavanja!
 | 
			
		||||
 | 
			
		||||
### Akcija
 | 
			
		||||
 | 
			
		||||
Organizovanje dogadjaja programiranja ili instalacije servisa koje
 | 
			
		||||
pomazu u decentralizaciji Interneta.
 | 
			
		||||
 | 
			
		||||
Organizujemo hackathone kao posebne dogadjaje na kojima se okupljamo da
 | 
			
		||||
radimo na zajednickom cilju.
 | 
			
		||||
 | 
			
		||||
### Druzenje
 | 
			
		||||
 | 
			
		||||
Drustvene dogadjaje u cilju socijalizacije.
 | 
			
		||||
 | 
			
		||||
Ako zelite da se druzite sa ljudima zainteresovanim za ravnopravnost
 | 
			
		||||
koriscenja tehnologija, slobodnog softvera, privatnost i bezbednost,
 | 
			
		||||
posetite neku od okupljanja Decentrale.
 | 
			
		||||
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
<p> Ako ste napravili nalog na dmz.rs mozete koristi nas xmpp i email server i ostale servise koji podrzavaju LDAP login. <p>
 | 
			
		||||
<p> Za vise o XMPP pogledajte <a href="https://wiki.dmz.rs/en/tutorial/conversations">tutorial</a>. <p>
 | 
			
		||||
<p> Za primer podesavanja na <a href="https://thunderbird.org">Thundebird</a> mail klijentu mozete pogledati <a href="/img/mailsettings.png">sliku</a>. <p>
 | 
			
		||||
 | 
			
		||||
<p><a href="/account/register/">Registruj se</a><p>
 | 
			
		||||
<p><a href="/account/unregister/">Izbrisi nalog</a><p>
 | 
			
		||||
<p><a href="/account/changepassword/">Promeni lozinku</a><p>
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
Ova stranica je trenutno u izradi...
 | 
			
		||||
    
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
<h1>Kontakt</h1>
 | 
			
		||||
<p>Možeš nam poslati mejl na adresu <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> ili se možeš pridružiti našem <a href="https://forum.dmz.rs">Forumu</a>.</p>
 | 
			
		||||
<p>Takođe smo dostupni i na <a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a></p>
 | 
			
		||||
<br>
 | 
			
		||||
<p>U slučaju da si pronašao <em>bug</em> na sajtu, bili bismo ti jako zahvalni ako bi nam ga prijavio/prijalvila.</p>
 | 
			
		||||
@@ -1,59 +0,0 @@
 | 
			
		||||
<h1>Događaji</h1>
 | 
			
		||||
<table>
 | 
			
		||||
  <tbody>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <th>Datum</th>
 | 
			
		||||
      <th>Vreme</th>
 | 
			
		||||
      <th>Mesto</th>
 | 
			
		||||
      <th>Tema</th>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Ponedeljak, 7. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Linux ricing </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Utorak, 8. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Lambda račun </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Ponedeljak, 14. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Linux distro diskusija </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Utorak, 15. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Pirati 777 mora </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Ponedeljak, 21. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Python vežbe </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Utorak, 22. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Autentifikacija na internetu </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Ponedeljak, 28. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Podesavanje Mail servera </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td> Utorak, 29. Avgust 2023. </td>
 | 
			
		||||
      <td> 19:00h </td>
 | 
			
		||||
      <td> DC Krov </td>
 | 
			
		||||
      <td> Prevodjenje wiki-a </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
  </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
<h1>Dobrodošao!</h1>
 | 
			
		||||
<p>
 | 
			
		||||
  Mi smo <em>Decentrala</em> - grupa entuzijasta okupljena oko ideja decentralizacije i slobodnog širenja znanja.
 | 
			
		||||
  Zvuči interesantno? Evo još nekih stvari o nama:
 | 
			
		||||
</p>
 | 
			
		||||
<dl>
 | 
			
		||||
  <dt>Znanje:</dt>
 | 
			
		||||
  <dd>Sve naše radionice su besplatne i otvorene za sve zainteresovane.
 | 
			
		||||
    Ako želiš nešto da podeliš najavi se na našem <a href="https://forum.dmz.rs">Forumu</a> i održi radionicu kod nas!
 | 
			
		||||
  </dd>
 | 
			
		||||
  <dt>Akcije:</dt>
 | 
			
		||||
  <dd>Povremeno organizujemo različite akcije, hakatone, crypto-partije, izložbe i slične događaje otvorene za sve
 | 
			
		||||
    zainteresovane. </dd>
 | 
			
		||||
  <dt>Servisi:</dt>
 | 
			
		||||
  <dd>Na našim serverima pokrećemo razne servise (email, git, wiki i druge) koji su otvoreni za sve i koji se mogu
 | 
			
		||||
    koristiti sa ili bez našeg naloga.</dd>
 | 
			
		||||
</dl>
 | 
			
		||||
<p>
 | 
			
		||||
  Ako si i dalje zainteresovan, možeš napraviti <a href="/pages/account.html">nalog</a> na našem serveru koji će ti
 | 
			
		||||
  omogućiti korišćenje svih naših <a href="/pages/services.html">servisa</a>.
 | 
			
		||||
  Ako želiš prvo da vidiš kako to sve izgleda u realnosti, možeš doći na neki od naših <a
 | 
			
		||||
    href="/pages/events.html">događaja</a>, i tu nas upoznati!
 | 
			
		||||
</p>
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
Ova stranica je trenutno u izradi...
 | 
			
		||||
@@ -1,60 +0,0 @@
 | 
			
		||||
<h1>Servisi</h1>
 | 
			
		||||
<table>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <th>Servis</th>
 | 
			
		||||
    <th>Opis</th>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="/account.html">Email</a></td>
 | 
			
		||||
    <td>Email nalog koji možeš koristiti sa bilo kojim email
 | 
			
		||||
      klijentom generalne namene (na primer <a href="https://www.thunderbird.net/">Thunderbird-u</a>).</td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="https://forum.dmz.rs/">Forum</a></td>
 | 
			
		||||
    <td>Forum na kom obično organizujemo naše <a href="/pages/events.html">događaje</a>.
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td>Chat</td>
 | 
			
		||||
    <td>Održavamo sopstveni XMPP server, na kojem možeš napraviti nalog.
 | 
			
		||||
      Ako već poseduješ nalog možeš nas naći u grupi <a
 | 
			
		||||
        href="decentrala@conference.dmz.rs">decentrala@conference.dmz.rs</a>.
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="https://gitea.dmz.rs/">Git</a></td>
 | 
			
		||||
    <td><a href="https://gitea.io/en-us/">Gitea</a> instanca na kojoj držimo kod kao i ostale resurse za naše
 | 
			
		||||
      <a href="/pages/projects.html">projekte</a>, <a href="/pages/events.html">dogadjaje</a>, kao i projekte naših
 | 
			
		||||
      prijatelja.
 | 
			
		||||
      Ovo može biti dom tvog sledećeg projekta. Bolji od Github-a.
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="https://wiki.dmz.rs/">Wiki</a></td>
 | 
			
		||||
    <td><a href="https://js.wiki/">Wiki.js</a> instanca koju koristimo da dokumentujemo naše
 | 
			
		||||
      <a href="/pages/projects.html">projekte</a> kao i
 | 
			
		||||
      ostale <a href="/pages/events.html">događaje</a>.
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="https://search.dmz.rs/">Search</a></td>
 | 
			
		||||
    <td><a href="https://github.com/hnhx/librex/">LibreX</a> instanca koju koristimo za pretraživanje Interneta.
 | 
			
		||||
      Bolji od Google-a.
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="https://pastebin.dmz.rs/">Pastebin</a></td>
 | 
			
		||||
    <td><a href="https://privatebin.info/">PrivateBin</a> instanca koju koristimo za brzo deljenje tekstualnih fajlova
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
  <tr>
 | 
			
		||||
    <td><a href="ssh://soft.dmz.rs:2222/">Soft Serve</a></td>
 | 
			
		||||
    <td><a href="https://github.com/charmbracelet/soft-serve">Soft Serve</a> instanca koju koristimo kao zamenu za Gitea
 | 
			
		||||
      servis.
 | 
			
		||||
      Soft Serve radi potpuno iz terminala
 | 
			
		||||
    </td>
 | 
			
		||||
  </tr>
 | 
			
		||||
</table>
 | 
			
		||||
<p>Ovo su neki od servisa koje trenutno održavamo na našim serverima. Da bi koristio ove servise, <em>možes</em> se
 | 
			
		||||
  registovati na svaki servis posebno, a možeš i napraviti jedinstveni <a href="/pages/account.html">nalog</a> na nasem
 | 
			
		||||
  serveru i koristiti sve servise sa istim nalogom.</p>
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
<ul>
 | 
			
		||||
  <li><a href="https://tilde.zone/explore">Tilde Zone</a></li>
 | 
			
		||||
</ul>
 | 
			
		||||
							
								
								
									
										61
									
								
								poster.py
									
									
									
									
									
								
							
							
						
						@@ -1,61 +0,0 @@
 | 
			
		||||
import csv
 | 
			
		||||
import datetime as dt
 | 
			
		||||
from dateutil import relativedelta
 | 
			
		||||
 | 
			
		||||
EVENTS_CSV_PATH = "dogadjaji.csv"
 | 
			
		||||
CURRENT_TIME = dt.date.today()
 | 
			
		||||
NEXT_MONTH = CURRENT_TIME + relativedelta.relativedelta(months=1, day=1)
 | 
			
		||||
DAYS_OF_WEEK_SR = ("PON", "UTO", "SRE", "ČET", "PET", "SUB", "NED")
 | 
			
		||||
MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust",\
 | 
			
		||||
            "Septembar", "Oktobar", "Novembar", "Decembar")
 | 
			
		||||
 | 
			
		||||
def load_events(csv_path:str) -> list[dict]:
 | 
			
		||||
    events = []
 | 
			
		||||
    with open(csv_path) as csv_file:
 | 
			
		||||
        csv_reader = csv.reader(csv_file)
 | 
			
		||||
        next(csv_reader, None)
 | 
			
		||||
        for event in csv_reader:
 | 
			
		||||
            event_date = event[0]
 | 
			
		||||
            event_date_parsed = dt.datetime.strptime(event_date, "%d-%m-%Y").date()
 | 
			
		||||
            event_time = event[1]
 | 
			
		||||
            event_title = event[3]
 | 
			
		||||
            current_event = {"date":event_date_parsed,
 | 
			
		||||
                             "time":event_time,
 | 
			
		||||
                             "title":event_title.strip()}
 | 
			
		||||
            if event_date_parsed >= NEXT_MONTH:
 | 
			
		||||
                events.append(current_event)
 | 
			
		||||
        return events
 | 
			
		||||
 | 
			
		||||
def render_table(events:list[dict])-> str:
 | 
			
		||||
    html = ""
 | 
			
		||||
    for event in events:
 | 
			
		||||
        date = DAYS_OF_WEEK_SR[event["date"].weekday()]
 | 
			
		||||
        day = event["date"].day
 | 
			
		||||
        title = event["title"]
 | 
			
		||||
        html += f"\t\t\t<tr> <td>{date}</td> <td>{day}.</td> <td>{title}</td> </tr>\n"
 | 
			
		||||
    return html
 | 
			
		||||
 | 
			
		||||
def render_page(table: str) -> str:
 | 
			
		||||
    head = "<head><meta charset=\"UTF-8\"><link rel=\"stylesheet\"\
 | 
			
		||||
href=\"styles/poster.css\"><head>"
 | 
			
		||||
    header = "<h1>DECENTRALA</h1>"
 | 
			
		||||
    subheader = f"<h2>Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}</h2>"
 | 
			
		||||
    link = "<div id=link><img src=\"/img/logo-light.svg\"> dmz.rs</div>"
 | 
			
		||||
    p1 = "<p>Radionice počinju u <strong>19h</strong> u Društvenom centru Krov\
 | 
			
		||||
u <strong>Kraljice Marije 47</strong>.</p>"
 | 
			
		||||
    p2 = "<p>Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah\
 | 
			
		||||
pored menjačnice. DC Krov je na poslednjem spratu.</p>"
 | 
			
		||||
    footer = f"{p1}{p2}{link}"
 | 
			
		||||
    return f"<html>{head}<body><main>{header}{subheader}\
 | 
			
		||||
<table>{table}</table>{footer}</main></body></html>"
 | 
			
		||||
    
 | 
			
		||||
def main():
 | 
			
		||||
    events = load_events(EVENTS_CSV_PATH)
 | 
			
		||||
    table = render_table(events)
 | 
			
		||||
    page = render_page(table)
 | 
			
		||||
    f = open("poster.html", "w")
 | 
			
		||||
    f.write(page)
 | 
			
		||||
    f.close()
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										101
									
								
								prep.py
									
									
									
									
									
								
							
							
						
						@@ -1,101 +0,0 @@
 | 
			
		||||
#! /usr/bin/env python
 | 
			
		||||
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from functools import cmp_to_key
 | 
			
		||||
 | 
			
		||||
days = [
 | 
			
		||||
    "Ponedeljak",
 | 
			
		||||
    "Utorak",
 | 
			
		||||
    "Sreda",
 | 
			
		||||
    "Četvrtak",
 | 
			
		||||
    "Petak",
 | 
			
		||||
    "Subota",
 | 
			
		||||
    "Nedelja",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
months = [
 | 
			
		||||
    "Januar",
 | 
			
		||||
    "Februar",
 | 
			
		||||
    "Mart",
 | 
			
		||||
    "April",
 | 
			
		||||
    "Maj",
 | 
			
		||||
    "Jun",
 | 
			
		||||
    "Jul",
 | 
			
		||||
    "Avgust",
 | 
			
		||||
    "Septembar",
 | 
			
		||||
    "Oktobar",
 | 
			
		||||
    "Novembar",
 | 
			
		||||
    "Decembar",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
today = datetime.today().date()
 | 
			
		||||
 | 
			
		||||
def parse_date(date):
 | 
			
		||||
    return datetime.strptime(date,"%d-%m-%Y").date()
 | 
			
		||||
 | 
			
		||||
def compare_events(one, two):
 | 
			
		||||
    one = parse_date(one.split(", ")[0])
 | 
			
		||||
    two = parse_date(two.split(", ")[0])
 | 
			
		||||
    if one>two:
 | 
			
		||||
        return 1
 | 
			
		||||
    elif one==two:
 | 
			
		||||
        return 0
 | 
			
		||||
    else:
 | 
			
		||||
        return -1
 | 
			
		||||
 | 
			
		||||
def is_past_event(event):
 | 
			
		||||
    return event < today
 | 
			
		||||
 | 
			
		||||
def load_events():
 | 
			
		||||
    events = []
 | 
			
		||||
    with open("dogadjaji.csv", "rt") as file:
 | 
			
		||||
        file.readline()
 | 
			
		||||
        for event in file.readlines():
 | 
			
		||||
            event = event.strip()
 | 
			
		||||
            if event != "":
 | 
			
		||||
                events.append(event)
 | 
			
		||||
    return events
 | 
			
		||||
 | 
			
		||||
def write_events(events):
 | 
			
		||||
    with open("dogadjaji.csv", "wt") as file:
 | 
			
		||||
        file.write("datum, vreme, lokacija, tema\n")
 | 
			
		||||
        for event in events:
 | 
			
		||||
            file.write(event+"\n")
 | 
			
		||||
 | 
			
		||||
def sort_events(events):
 | 
			
		||||
    return sorted(events, key = cmp_to_key(compare_events))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
events = load_events()
 | 
			
		||||
events = sort_events(events)
 | 
			
		||||
write_events(events)
 | 
			
		||||
 | 
			
		||||
events = []
 | 
			
		||||
 | 
			
		||||
for event in events:
 | 
			
		||||
    date, time, location, title = event.split(", ")
 | 
			
		||||
    date = parse_date(date)
 | 
			
		||||
    if is_past_event(date):
 | 
			
		||||
        continue
 | 
			
		||||
    date = days[date.weekday()]+", "+str(date.day)+". "+months[date.month-1]+" "+str(date.year)+"."
 | 
			
		||||
    time = time+"h"
 | 
			
		||||
    future_event = []
 | 
			
		||||
    future_event.append("<td> "+date+" </td>")
 | 
			
		||||
    future_event.append("<td> "+time+" </td>")
 | 
			
		||||
    if "https://" in location:
 | 
			
		||||
        place,link = location.split("https://")
 | 
			
		||||
        future_event.append("<td> <a href=\"https://"+link+"\""+"> "+place.strip()+" </a> </td>")
 | 
			
		||||
    else:
 | 
			
		||||
        future_event.append("<td> "+location.strip()+" </td>")
 | 
			
		||||
    future_event.append("<td> "+title+" </td>")
 | 
			
		||||
    events.append("<tr>\n"+"\n".join(future_event)+"\n</tr>")
 | 
			
		||||
 | 
			
		||||
with open("pages/sr/events.html","wt") as file:
 | 
			
		||||
    file.writelines(["<h1>Događaji</h1>\n", "<table>\n", "<tr><th>Datum</th><th>Vreme</th><th>Mesto</th><th>Tema</th></tr>\n"])
 | 
			
		||||
    file.writelines(events)
 | 
			
		||||
    file.writelines(["</table>"])
 | 
			
		||||
 | 
			
		||||
#with open("pages/en/events.html","wt") as file:
 | 
			
		||||
#    file.writelines(["<h1>Events</h1>", "<table>", "<tr>\n<th>Date</th>\n<th>Time</th>\n<th>Place</th>\n<th>Theme</th>\n</tr>"])
 | 
			
		||||
#    file.writelines(events)
 | 
			
		||||
#    file.writelines(["</table>"])
 | 
			
		||||
							
								
								
									
										36
									
								
								servisi.html
									
									
									
									
									
								
							
							
						
						@@ -1,36 +0,0 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<meta charset="UTF-8">
 | 
			
		||||
<html>
 | 
			
		||||
	<head>
 | 
			
		||||
		<link rel="icon" type="image/x-icon" href="/static/d.png">
 | 
			
		||||
		<link rel="stylesheet" href="./static/reset.css">
 | 
			
		||||
		<link rel="stylesheet" href="./static/main.css">
 | 
			
		||||
		<title>Decentrala</title>
 | 
			
		||||
	</head>
 | 
			
		||||
	<body>
 | 
			
		||||
		<div class="container">
 | 
			
		||||
			<div class="header">
 | 
			
		||||
				<h1 class="logo">DECENTRALA</h1>
 | 
			
		||||
			</div>
 | 
			
		||||
			<main>
 | 
			
		||||
				<h2>Servisi</h2>
 | 
			
		||||
				<p><a href="https://forum.dmz.rs">FORUM</a><p>
 | 
			
		||||
				<p><a href="../chat.html">XMPP</a><p>
 | 
			
		||||
				<p><a href="https://gitea.dmz.rs">GITEA</a><p>
 | 
			
		||||
				<p><a href="https://wiki.dmz.rs">WIKI</a><p>
 | 
			
		||||
				<p><a href="../nalog.html">EMAIL</a><p>
 | 
			
		||||
				<p><a href="ssh://soft.dmz.rs:2222">SOFT SERVE</a><p>
 | 
			
		||||
				<p><a href="https://search.dmz.rs">LibreX</a><p>
 | 
			
		||||
				<p><a href="https://git.dmz.rs">CGIT</a><p>
 | 
			
		||||
				<p><a href="https://pastebin.dmz.rs">PrivateBin</a><p>
 | 
			
		||||
				<p><a href="https://cryptpad.dmz.rs">CryptPad</a><p>
 | 
			
		||||
 | 
			
		||||
				<div class="back">
 | 
			
		||||
					<ul class="nav">
 | 
			
		||||
						<a href="../"><li>Nazad</li></a>
 | 
			
		||||
					</ul>
 | 
			
		||||
				</div>
 | 
			
		||||
			</main>
 | 
			
		||||
		</div>
 | 
			
		||||
	</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										24
									
								
								servisi.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
# DECENTRALA {#decentrala .logo}
 | 
			
		||||
 | 
			
		||||
## Servisi
 | 
			
		||||
 | 
			
		||||
[FORUM](https://forum.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[XMPP](../chat.html)
 | 
			
		||||
 | 
			
		||||
[GITEA](https://gitea.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[WIKI](https://wiki.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[EMAIL](../nalog.html)
 | 
			
		||||
 | 
			
		||||
[SOFT SERVE](ssh://soft.dmz.rs:2222)
 | 
			
		||||
 | 
			
		||||
[LibreX](https://search.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[CGIT](https://git.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[PrivateBin](https://pastebin.dmz.rs)
 | 
			
		||||
 | 
			
		||||
[CryptPad](https://cryptpad.dmz.rs)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								site/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,19 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
  <meta charset="UTF-8">
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/style.css">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/404.css">
 | 
			
		||||
  <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
 | 
			
		||||
  <script src="/scripts/main.js" defer></script>
 | 
			
		||||
  <title>404</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    <main>
 | 
			
		||||
        <img src="/img/logo-light.svg" alt="Logo">
 | 
			
		||||
        <p>Requested resource was not found</p>
 | 
			
		||||
        <p><a href="/">Go back to Homepage</a></p>
 | 
			
		||||
    </main>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
 <g id="layer1" fill="#fff">
 | 
			
		||||
  <path id="path140" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".3554"/>
 | 
			
		||||
  <g id="text2158" stroke-width=".35534" aria-label="cc">
 | 
			
		||||
   <path id="path290" d="m3.175 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
 | 
			
		||||
   <path id="path292" d="m7.4083 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
 | 
			
		||||
  </g>
 | 
			
		||||
 </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
@@ -1,11 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
 <g id="layer1" fill="#181715">
 | 
			
		||||
  <path id="path140" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".3554"/>
 | 
			
		||||
  <g id="text2158" stroke-width=".35534" aria-label="cc">
 | 
			
		||||
   <path id="path290" d="m3.175 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
 | 
			
		||||
   <path id="path292" d="m7.4083 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
 | 
			
		||||
  </g>
 | 
			
		||||
 </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
| 
		 Before Width: | Height: | Size: 66 KiB  | 
@@ -1,3 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#fff"><path id="path234" d="m5.2917 0c-2.9225 0-5.2917 2.3692-5.2917 5.2917s2.3692 5.2917 5.2917 5.2917 5.2917-2.3692 5.2917-5.2917-2.3692-5.2917-5.2917-5.2917zm0 0.66146c2.5572 1e-7 4.6302 2.073 4.6302 4.6302 1e-7 2.5572-2.073 4.6302-4.6302 4.6302-2.5572 1e-7 -4.6302-2.073-4.6302-4.6302-3e-8 -0.62533 0.12396-1.2217 0.34865-1.7659 0.69415-1.6812 2.3497-2.8643 4.2816-2.8643z" stroke-width=".43932"/><path id="rect1196" d="m5.2725 1.2965c-0.19651 0.0047-0.39147 0.082448-0.54208 0.23306l-0.58704 0.58756 0.012403 0.012919 0.13642 0.13591 0.8139 0.81442a0.62532 0.62532 0 0 1 0.20412-0.03514 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.03514 0.20412l0.88315 0.88315a0.62532 0.62532 0 0 1 0.21084-0.037207 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.024288-0.17002l-0.82631-0.82631v2.1063a0.62532 0.62532 0 0 1 0.36845 0.56999 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.36845-0.56947v-2.2164a0.62532 0.62532 0 0 1-0.36845-0.56947 0.62532 0.62532 0 0 1 0.025838-0.17725l-0.95911-0.95911 0.001033-5.168e-4 -0.013435-0.013436-2.2097 2.2102c-0.31094 0.31094-0.31094 0.81147 0 1.1224l3.2008 3.2008c0.31094 0.31094 0.81147 0.31094 1.1224 0l3.2008-3.2008c0.31094-0.31094 0.31094-0.81147 0-1.1224l-3.2008-3.2008c-0.15547-0.15547-0.35831-0.23306-0.56121-0.23306-0.00634 0-0.012782-1.515e-4 -0.019121 0z" stroke-width=".37293"/></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
@@ -1,3 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#181715"><path id="path234" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".43932"/><path id="rect1196" d="m5.2725 1.2965c-0.19651 0.0047-0.39147 0.082448-0.54208 0.23306l-0.58704 0.58756 0.012403 0.012919 0.13642 0.13591 0.8139 0.81442a0.62532 0.62532 0 0 1 0.20412-0.03514 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.03514 0.20412l0.88315 0.88315a0.62532 0.62532 0 0 1 0.21084-0.037207 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.024288-0.17002l-0.82631-0.82631v2.1063a0.62532 0.62532 0 0 1 0.36845 0.56999 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.36845-0.56947v-2.2164a0.62532 0.62532 0 0 1-0.36845-0.56947 0.62532 0.62532 0 0 1 0.025838-0.17725l-0.95911-0.95911 0.001033-5.168e-4 -0.013435-0.013436-2.2097 2.2102c-0.31094 0.31094-0.31094 0.81147 0 1.1224l3.2008 3.2008c0.31094 0.31094 0.81147 0.31094 1.1224 0l3.2008-3.2008c0.31094-0.31094 0.31094-0.81147 0-1.1224l-3.2008-3.2008c-0.15547-0.15547-0.35831-0.23306-0.56121-0.23306-0.00634 0-0.012782-1.515e-4 -0.019121 0z" stroke-width=".37293"/></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
@@ -1,17 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="20"
 | 
			
		||||
   height="20"
 | 
			
		||||
   viewBox="0 0 5.2916667 5.2916666"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg1"
 | 
			
		||||
   xml:space="preserve"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg"><defs
 | 
			
		||||
     id="defs1" /><g
 | 
			
		||||
     id="layer1"><path
 | 
			
		||||
       id="path2"
 | 
			
		||||
       style="fill:#ffffff;fill-opacity:1;stroke-width:0.352999;stroke-linejoin:round"
 | 
			
		||||
       d="M 2.6434889,0.17372798 A 0.49603044,0.49603044 0 0 0 2.1474722,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,1.1657897 0.49603044,0.49603044 0 0 0 2.9134465,1.0850992 L 4.2150262,2.3807419 A 0.49603044,0.49603044 0 0 0 4.1463813,2.5645005 H 3.1320271 A 0.49603044,0.49603044 0 0 0 2.6434889,2.1505729 0.49603044,0.49603044 0 0 0 2.1604593,2.5645005 H 1.1507581 A 0.49603044,0.49603044 0 0 0 0.66221981,2.1505729 0.49603044,0.49603044 0 0 0 0.16620324,2.646618 0.49603044,0.49603044 0 0 0 0.66221981,3.1426345 0.49603044,0.49603044 0 0 0 1.145021,2.7301914 h 1.0156952 a 0.49603044,0.49603044 0 0 0 0.3724833,0.3949749 l -0.00122,1.0183782 A 0.49603044,0.49603044 0 0 0 2.1474801,4.6219219 0.49603044,0.49603044 0 0 0 2.6434968,5.1179387 0.49603044,0.49603044 0 0 0 3.1395417,4.6219219 0.49603044,0.49603044 0 0 0 3.036274,4.3197964 L 4.326465,3.0364841 A 0.49603044,0.49603044 0 0 0 4.6294466,3.1426345 0.49603044,0.49603044 0 0 0 5.1254634,2.646618 0.49603044,0.49603044 0 0 0 4.6294466,2.1505729 0.49603044,0.49603044 0 0 0 4.3258658,2.257323 L 3.0354385,0.97286893 A 0.49603044,0.49603044 0 0 0 3.1395339,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,0.17372798 Z M 3.1262902,2.7301914 h 1.0203475 a 0.49603044,0.49603044 0 0 0 0.068759,0.1830162 L 2.9144742,4.2072235 A 0.49603044,0.49603044 0 0 0 2.6976917,4.1289593 l 0.0012,-0.9950873 A 0.49603044,0.49603044 0 0 0 3.1262902,2.7301914 Z" /></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
@@ -1,17 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="20"
 | 
			
		||||
   height="20"
 | 
			
		||||
   viewBox="0 0 5.2916667 5.2916666"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg1"
 | 
			
		||||
   xml:space="preserve"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg"><defs
 | 
			
		||||
     id="defs1" /><g
 | 
			
		||||
     id="layer1"><path
 | 
			
		||||
       id="path2"
 | 
			
		||||
       style="fill:#000000;fill-opacity:1;stroke-width:0.352999;stroke-linejoin:round"
 | 
			
		||||
       d="M 2.6434889,0.17372798 A 0.49603044,0.49603044 0 0 0 2.1474722,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,1.1657897 0.49603044,0.49603044 0 0 0 2.9134465,1.0850992 L 4.2150262,2.3807419 A 0.49603044,0.49603044 0 0 0 4.1463813,2.5645005 H 3.1320271 A 0.49603044,0.49603044 0 0 0 2.6434889,2.1505729 0.49603044,0.49603044 0 0 0 2.1604593,2.5645005 H 1.1507581 A 0.49603044,0.49603044 0 0 0 0.66221981,2.1505729 0.49603044,0.49603044 0 0 0 0.16620324,2.646618 0.49603044,0.49603044 0 0 0 0.66221981,3.1426345 0.49603044,0.49603044 0 0 0 1.145021,2.7301914 h 1.0156952 a 0.49603044,0.49603044 0 0 0 0.3724833,0.3949749 l -0.00122,1.0183782 A 0.49603044,0.49603044 0 0 0 2.1474801,4.6219219 0.49603044,0.49603044 0 0 0 2.6434968,5.1179387 0.49603044,0.49603044 0 0 0 3.1395417,4.6219219 0.49603044,0.49603044 0 0 0 3.036274,4.3197964 L 4.326465,3.0364841 A 0.49603044,0.49603044 0 0 0 4.6294466,3.1426345 0.49603044,0.49603044 0 0 0 5.1254634,2.646618 0.49603044,0.49603044 0 0 0 4.6294466,2.1505729 0.49603044,0.49603044 0 0 0 4.3258658,2.257323 L 3.0354385,0.97286893 A 0.49603044,0.49603044 0 0 0 3.1395339,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,0.17372798 Z M 3.1262902,2.7301914 h 1.0203475 a 0.49603044,0.49603044 0 0 0 0.068759,0.1830162 L 2.9144742,4.2072235 A 0.49603044,0.49603044 0 0 0 2.6976917,4.1289593 l 0.0012,-0.9950873 A 0.49603044,0.49603044 0 0 0 3.1262902,2.7301914 Z" /></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
@@ -1,3 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg1332" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#fff"><path id="rect1756" d="m4.3183 1.9766c-1.1726 0-2.1167 0.82603-2.1167 1.8521v1.4382c0 0.13426 0.015785 0.26518 0.046509 0.39119-0.036015 0.37794 0.017995 0.87014 0.23719 1.5084 0.78289 2.2797 4.0194 1.1705 4.0194 1.1705s-0.021792-0.0096-0.045475-0.55449c-2.1752 0.49248-2.4572-0.32707-2.481-0.68678 0.11059 0.01549 0.2243 0.02326 0.34003 0.02326h1.9467c1.1726 0 2.1167-0.82603 2.1167-1.8521v-1.4382c0-1.0261-0.94404-1.8521-2.1167-1.8521zm0.03359 1.0878a1.0208 1.0208 0 0 1 0.96118 0.67644 1.0208 1.0208 0 0 1 0.96015-0.67644 1.0208 1.0208 0 0 1 1.0211 1.0206 1.0208 1.0208 0 0 1-5.168e-4 0.00672h5.168e-4v1.9053h-0.6873v-0.65216h0.00413v-1.0997h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46664 0.47585 0.47463 0 0 0-0.47594 0.47439 0.47585 0.47463 0 0 0 0.00672 0.076481v1.002h-0.68523v-0.4377a1.0208 1.0208 0 0 1-0.00258 0.00207v-0.678h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46716 0.47585 0.47463 0 0 0-0.47542 0.47491 0.47585 0.47463 0 0 0 0.0062 0.075964v0.74827a1.0208 1.0208 0 0 1-0.00103-5.168e-4v0.9555h-0.6873v-1.8702h0.00155a1.0208 1.0208 0 0 1-0.00155-0.049609 1.0208 1.0208 0 0 1 1.0206-1.0206z" stroke-width=".35534"/><path id="path2228" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".38059"/></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
@@ -1,3 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg1332" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#181715"><path id="rect1756" d="m4.3183 1.9766c-1.1726 0-2.1167 0.82603-2.1167 1.8521v1.4382c0 0.13426 0.015785 0.26518 0.046509 0.39119-0.036015 0.37794 0.017995 0.87014 0.23719 1.5084 0.78289 2.2797 4.0194 1.1705 4.0194 1.1705s-0.021792-0.0096-0.045475-0.55449c-2.1752 0.49248-2.4572-0.32707-2.481-0.68678 0.11059 0.01549 0.2243 0.02326 0.34003 0.02326h1.9467c1.1726 0 2.1167-0.82603 2.1167-1.8521v-1.4382c0-1.0261-0.94404-1.8521-2.1167-1.8521zm0.03359 1.0878a1.0208 1.0208 0 0 1 0.96118 0.67644 1.0208 1.0208 0 0 1 0.96015-0.67644 1.0208 1.0208 0 0 1 1.0211 1.0206 1.0208 1.0208 0 0 1-5.168e-4 0.00672h5.168e-4v1.9053h-0.6873v-0.65216h0.00413v-1.0997h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46664 0.47585 0.47463 0 0 0-0.47594 0.47439 0.47585 0.47463 0 0 0 0.00672 0.076481v1.002h-0.68523v-0.4377a1.0208 1.0208 0 0 1-0.00258 0.00207v-0.678h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46716 0.47585 0.47463 0 0 0-0.47542 0.47491 0.47585 0.47463 0 0 0 0.0062 0.075964v0.74827a1.0208 1.0208 0 0 1-0.00103-5.168e-4v0.9555h-0.6873v-1.8702h0.00155a1.0208 1.0208 0 0 1-0.00155-0.049609 1.0208 1.0208 0 0 1 1.0206-1.0206z" stroke-width=".35534"/><path id="path2228" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".38059"/></g></svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
@@ -1,23 +0,0 @@
 | 
			
		||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="500" height="700"
 | 
			
		||||
  background-color="rgba(0,0,0,0)">
 | 
			
		||||
  <line x1="500" x2="475" y1="0" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="450" y1="35" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="425" y1="70" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="400" y1="105" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="375" y1="140" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="350" y1="175" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="325" y1="210" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="300" y1="245" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="275" y1="280" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="250" y1="315" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="225" y1="350" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="200" y1="385" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="175" y1="420" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="150" y1="455" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="125" y1="490" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="100" y1="525" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="75" y1="560" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="50" y1="595" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="25" y1="630" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
  <line x1="500" x2="0" y1="665" y2="700" stroke="rgba(255,255,255,1)" />
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
@@ -1,23 +0,0 @@
 | 
			
		||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="500" height="700"
 | 
			
		||||
  background-color="rgba(0,0,0,0)">
 | 
			
		||||
  <line x1="500" x2="475" y1="0" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="450" y1="35" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="425" y1="70" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="400" y1="105" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="375" y1="140" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="350" y1="175" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="325" y1="210" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="300" y1="245" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="275" y1="280" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="250" y1="315" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="225" y1="350" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="200" y1="385" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="175" y1="420" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="150" y1="455" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="125" y1="490" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="100" y1="525" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="75" y1="560" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="50" y1="595" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="25" y1="630" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
  <line x1="500" x2="0" y1="665" y2="700" stroke="rgba(24, 23, 21, 1)" />
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
@@ -1,63 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10.583333 10.583333"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg2421"
 | 
			
		||||
   sodipodi:docname="srce-dark.svg"
 | 
			
		||||
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview2423"
 | 
			
		||||
     pagecolor="#505050"
 | 
			
		||||
     bordercolor="#eeeeee"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:showpageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="0"
 | 
			
		||||
     inkscape:deskcolor="#505050"
 | 
			
		||||
     inkscape:document-units="mm"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="7.967789"
 | 
			
		||||
     inkscape:cx="4.2044286"
 | 
			
		||||
     inkscape:cy="19.892595"
 | 
			
		||||
     inkscape:window-width="1920"
 | 
			
		||||
     inkscape:window-height="1048"
 | 
			
		||||
     inkscape:window-x="0"
 | 
			
		||||
     inkscape:window-y="32"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1"
 | 
			
		||||
     inkscape:pageshadow="0" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2418" />
 | 
			
		||||
  <g
 | 
			
		||||
     inkscape:label="Layer 1"
 | 
			
		||||
     inkscape:groupmode="layer"
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path2477"
 | 
			
		||||
       style="fill:#ffffff;stroke-width:0.355037"
 | 
			
		||||
       d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-size:7.05556px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;fill-opacity:1;stroke-width:0.355335"
 | 
			
		||||
       x="-2.7021213"
 | 
			
		||||
       y="4.7616987"
 | 
			
		||||
       id="text3068"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan3066"
 | 
			
		||||
         style="fill:#181715;fill-opacity:1;stroke-width:0.355335"
 | 
			
		||||
         x="-2.7021213"
 | 
			
		||||
         y="4.7616987" /></text>
 | 
			
		||||
    <path
 | 
			
		||||
       id="path3659"
 | 
			
		||||
       style="fill:#ffffff;fill-opacity:1;stroke-width:0.384877"
 | 
			
		||||
       d="m 2.4853365,3.1439096 a 1.984375,1.984375 0 0 0 0,2.80633 l 2.806331,2.8063301 2.8063299,-2.8063301 a 1.984375,1.984375 0 0 0 0,-2.80633 1.984375,1.984375 0 0 0 -2.8063299,0 1.984375,1.984375 0 0 0 -2.806331,0 z" />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 2.5 KiB  | 
@@ -1,62 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10.583333 10.583333"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg2421"
 | 
			
		||||
   sodipodi:docname="srce.svg"
 | 
			
		||||
   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview2423"
 | 
			
		||||
     pagecolor="#505050"
 | 
			
		||||
     bordercolor="#eeeeee"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:showpageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="0"
 | 
			
		||||
     inkscape:deskcolor="#505050"
 | 
			
		||||
     inkscape:document-units="mm"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="7.967789"
 | 
			
		||||
     inkscape:cx="4.2044286"
 | 
			
		||||
     inkscape:cy="19.892595"
 | 
			
		||||
     inkscape:window-width="1362"
 | 
			
		||||
     inkscape:window-height="764"
 | 
			
		||||
     inkscape:window-x="0"
 | 
			
		||||
     inkscape:window-y="0"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2418" />
 | 
			
		||||
  <g
 | 
			
		||||
     inkscape:label="Layer 1"
 | 
			
		||||
     inkscape:groupmode="layer"
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path2477"
 | 
			
		||||
       style="fill:#181715;stroke-width:0.355037"
 | 
			
		||||
       d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
 | 
			
		||||
    <text
 | 
			
		||||
       xml:space="preserve"
 | 
			
		||||
       style="font-size:7.05556px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;fill-opacity:1;stroke-width:0.355335"
 | 
			
		||||
       x="-2.7021213"
 | 
			
		||||
       y="4.7616987"
 | 
			
		||||
       id="text3068"><tspan
 | 
			
		||||
         sodipodi:role="line"
 | 
			
		||||
         id="tspan3066"
 | 
			
		||||
         style="fill:#181715;fill-opacity:1;stroke-width:0.355335"
 | 
			
		||||
         x="-2.7021213"
 | 
			
		||||
         y="4.7616987" /></text>
 | 
			
		||||
    <path
 | 
			
		||||
       id="path3659"
 | 
			
		||||
       style="fill:#181715;fill-opacity:1;stroke-width:0.384877"
 | 
			
		||||
       d="m 2.4853365,3.1439096 a 1.984375,1.984375 0 0 0 0,2.80633 l 2.806331,2.8063301 2.8063299,-2.8063301 a 1.984375,1.984375 0 0 0 0,-2.80633 1.984375,1.984375 0 0 0 -2.8063299,0 1.984375,1.984375 0 0 0 -2.806331,0 z" />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 2.5 KiB  | 
@@ -1,43 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   sodipodi:docname="strelica-closed-dark.svg"
 | 
			
		||||
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview6"
 | 
			
		||||
     pagecolor="#ffffff"
 | 
			
		||||
     bordercolor="#111111"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:pageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="1"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="20.975"
 | 
			
		||||
     inkscape:cx="20"
 | 
			
		||||
     inkscape:cy="20"
 | 
			
		||||
     inkscape:window-width="1920"
 | 
			
		||||
     inkscape:window-height="1048"
 | 
			
		||||
     inkscape:window-x="0"
 | 
			
		||||
     inkscape:window-y="32"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="rect288"
 | 
			
		||||
       style="fill:#ffffff;stroke-width:0.345614"
 | 
			
		||||
       d="M 0 0 L 0 1.25 L 8.1494141 1.25 L 2.5751953 10 L 4.0571289 10 L 8.75 2.6333008 L 8.75 10 L 10 10 L 10 1.25 L 10 0.67138672 L 10 0 L 8.9458008 0 L 8.75 0 L 0 0 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
@@ -1,21 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="rect288"
 | 
			
		||||
       style="fill:#181715;stroke-width:0.345614"
 | 
			
		||||
       d="M 0 0 L 0 1.25 L 8.1494141 1.25 L 2.5751953 10 L 4.0571289 10 L 8.75 2.6333008 L 8.75 10 L 10 10 L 10 1.25 L 10 0.67138672 L 10 0 L 8.9458008 0 L 8.75 0 L 0 0 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 602 B  | 
@@ -1,21 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path1336"
 | 
			
		||||
       style="fill:#181715;stroke-width:0.504542;fill-opacity:1"
 | 
			
		||||
       d="M 10 0 L 8.8911133 0.57714844 L 8.8862305 0.58544922 L 0.96435547 4.2792969 A 10 10 0 0 0 1.574707 5.3740234 L 7.6362305 2.5473633 L 4.1142578 8.0756836 A 10 10 0 0 0 5.1674805 8.7485352 L 8.6904297 3.21875 L 8.6904297 9.9086914 A 10 10 0 0 0 9.9404297 9.9975586 L 9.9404297 1.2568359 L 9.9453125 1.2490234 L 10 0 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 773 B  | 
@@ -1,43 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   sodipodi:docname="strelica-opened-dark.svg"
 | 
			
		||||
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview6"
 | 
			
		||||
     pagecolor="#ffffff"
 | 
			
		||||
     bordercolor="#111111"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:pageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="1"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="20.975"
 | 
			
		||||
     inkscape:cx="20"
 | 
			
		||||
     inkscape:cy="20"
 | 
			
		||||
     inkscape:window-width="1920"
 | 
			
		||||
     inkscape:window-height="1048"
 | 
			
		||||
     inkscape:window-x="0"
 | 
			
		||||
     inkscape:window-y="32"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="rect288"
 | 
			
		||||
       style="fill:#ffffff;stroke-width:0.345614"
 | 
			
		||||
       d="M 0 0 L 0 1.25 L 2.8071289 1.25 L 2.8071289 10 L 4.0571289 10 L 4.0571289 1.25 L 8.75 1.25 L 10 1.25 L 10 0 L 8.75 0 L 0 0 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
@@ -1,21 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="rect288"
 | 
			
		||||
       style="fill:#181715;stroke-width:0.345614"
 | 
			
		||||
       d="M 0 0 L 0 1.25 L 2.8071289 1.25 L 2.8071289 10 L 4.0571289 10 L 4.0571289 1.25 L 8.75 1.25 L 10 1.25 L 10 0 L 8.75 0 L 0 0 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 566 B  | 
@@ -1,21 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10 10"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg5"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path1336"
 | 
			
		||||
       style="fill:#181715;fill-opacity:1;stroke-width:0.504542"
 | 
			
		||||
       d="M 5 0.0029296875 L 4.375 1.0859375 L 4.375 1.0952148 L 0.35400391 7.4072266 A 8.75 8.75 0 0 0 1.4614258 7.9956055 L 4.375 3.4213867 L 4.375 8.7265625 A 8.75 8.75 0 0 0 5 8.75 A 8.75 8.75 0 0 0 5.625 8.7265625 L 5.625 3.4213867 L 8.5390625 7.9956055 A 8.75 8.75 0 0 0 9.6464844 7.4072266 L 5.625 1.0952148 L 5.625 1.0859375 L 5 0.0029296875 z " />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 799 B  | 
@@ -1,10 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg2421" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
 <g id="layer1">
 | 
			
		||||
  <path id="path2477" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" fill="#fff" stroke-width=".35504"/>
 | 
			
		||||
  <g id="text3068" fill="#181715" stroke-width=".35534" aria-label="w">
 | 
			
		||||
   <path id="path698" d="m2.4342 2.3813h0.84666l0.51858 3.9899q0.021167 0.1905 0.042333 0.42333 0.021167 0.23283 0.042333 0.43392 0.021167 0.23283 0.042333 0.46567h0.11642q0.021167-0.23283 0.052916-0.46567 0.021167-0.20108 0.052917-0.43392t0.0635-0.42333l0.61383-3.9899h0.91016l0.61383 3.9899q0.03175 0.20108 0.0635 0.43392t0.052917 0.43392q0.03175 0.23283 0.052917 0.45508h0.127q0.021167-0.23283 0.042333-0.46567 0.021167-0.20108 0.052916-0.42333 0.03175-0.23283 0.052917-0.43392l0.52916-3.9899h0.8255l-0.8255 5.8208h-1.3017l-0.60325-4.1169q-0.021167-0.17992-0.042333-0.37042-0.010583-0.20108-0.021167-0.37042 0-0.1905 0-0.381h-0.13758q0 0.1905-0.010583 0.381-0.010583 0.16933-0.021167 0.37042-0.010583 0.1905-0.042333 0.37042l-0.62441 4.1169h-1.27z" fill="#fff"/>
 | 
			
		||||
  </g>
 | 
			
		||||
 </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.4 KiB  | 
@@ -1,10 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
<svg id="svg2421" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
 <g id="layer1" fill="#181715">
 | 
			
		||||
  <path id="path2477" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".35504"/>
 | 
			
		||||
  <g id="text3068" stroke-width=".35534" aria-label="w">
 | 
			
		||||
   <path id="path698" d="m2.4342 2.3813h0.84666l0.51858 3.9899q0.021167 0.1905 0.042333 0.42333 0.021167 0.23283 0.042333 0.43392 0.021167 0.23283 0.042333 0.46567h0.11642q0.021167-0.23283 0.052916-0.46567 0.021167-0.20108 0.052917-0.43392t0.0635-0.42333l0.61383-3.9899h0.91016l0.61383 3.9899q0.03175 0.20108 0.0635 0.43392t0.052917 0.43392q0.03175 0.23283 0.052917 0.45508h0.127q0.021167-0.23283 0.042333-0.46567 0.021167-0.20108 0.052916-0.42333 0.03175-0.23283 0.052917-0.43392l0.52916-3.9899h0.8255l-0.8255 5.8208h-1.3017l-0.60325-4.1169q-0.021167-0.17992-0.042333-0.37042-0.010583-0.20108-0.021167-0.37042 0-0.1905 0-0.381h-0.13758q0 0.1905-0.010583 0.381-0.010583 0.16933-0.021167 0.37042-0.010583 0.1905-0.042333 0.37042l-0.62441 4.1169h-1.27z"/>
 | 
			
		||||
  </g>
 | 
			
		||||
 </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 1.4 KiB  | 
@@ -1,60 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10.583333 10.583333"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg2421"
 | 
			
		||||
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
 | 
			
		||||
   sodipodi:docname="www-dark.svg"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview2423"
 | 
			
		||||
     pagecolor="#505050"
 | 
			
		||||
     bordercolor="#eeeeee"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:showpageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="0"
 | 
			
		||||
     inkscape:deskcolor="#505050"
 | 
			
		||||
     inkscape:document-units="mm"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="11.268155"
 | 
			
		||||
     inkscape:cx="19.39093"
 | 
			
		||||
     inkscape:cy="17.793507"
 | 
			
		||||
     inkscape:window-width="1920"
 | 
			
		||||
     inkscape:window-height="1048"
 | 
			
		||||
     inkscape:window-x="0"
 | 
			
		||||
     inkscape:window-y="32"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1"
 | 
			
		||||
     inkscape:pageshadow="0" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2418" />
 | 
			
		||||
  <g
 | 
			
		||||
     inkscape:label="Layer 1"
 | 
			
		||||
     inkscape:groupmode="layer"
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path2477"
 | 
			
		||||
       style="fill:#ffffff;stroke-width:0.355037"
 | 
			
		||||
       d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
 | 
			
		||||
    <path
 | 
			
		||||
       d="M 1.6086655,4.1275011 H 1.9473319 L 2.154765,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 2.565398,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 3.5644639,4.1275011 H 3.8946636 L 3.5644639,6.4558325 H 3.0437643 L 2.8024645,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 2.4426315,6.4558325 H 1.9346319 Z"
 | 
			
		||||
       id="path503"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
 | 
			
		||||
    <path
 | 
			
		||||
       d="m 4.148665,4.1275011 h 0.3386664 l 0.2074331,1.5959653 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 5.1053975,4.1275011 H 5.4694639 L 5.714997,5.7234664 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 Q 5.842001,6.1594997 5.850464,6.0663661 5.858934,5.9859331 5.871631,5.897033 5.884331,5.8039 5.892798,5.7234664 L 6.1044633,4.1275011 H 6.4346631 L 6.1044633,6.4558325 H 5.5837638 L 5.342464,4.8090672 Q 5.333994,4.7371002 5.325531,4.6609007 5.321301,4.5804677 5.317061,4.5127341 q 0,-0.0762 0,-0.1523999 H 5.262028 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 4.982631,6.4558325 H 4.4746314 Z"
 | 
			
		||||
       id="path505"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
 | 
			
		||||
    <path
 | 
			
		||||
       d="M 6.6886645,4.1275011 H 7.0273309 L 7.234764,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 H 7.33213 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 7.645397,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 8.6444628,4.1275011 H 8.9746626 L 8.6444628,6.4558325 H 8.1237633 L 7.8824635,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 7.5226304,6.4558325 H 7.0146309 Z"
 | 
			
		||||
       id="path507"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 5.0 KiB  | 
@@ -1,59 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
			
		||||
 | 
			
		||||
<svg
 | 
			
		||||
   width="40"
 | 
			
		||||
   height="40"
 | 
			
		||||
   viewBox="0 0 10.583333 10.583333"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   id="svg2421"
 | 
			
		||||
   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
 | 
			
		||||
   sodipodi:docname="www.svg"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     id="namedview2423"
 | 
			
		||||
     pagecolor="#505050"
 | 
			
		||||
     bordercolor="#eeeeee"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     inkscape:showpageshadow="0"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pagecheckerboard="0"
 | 
			
		||||
     inkscape:deskcolor="#505050"
 | 
			
		||||
     inkscape:document-units="mm"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="11.268155"
 | 
			
		||||
     inkscape:cx="19.435302"
 | 
			
		||||
     inkscape:cy="17.793507"
 | 
			
		||||
     inkscape:window-width="1362"
 | 
			
		||||
     inkscape:window-height="764"
 | 
			
		||||
     inkscape:window-x="112"
 | 
			
		||||
     inkscape:window-y="3"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="layer1" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2418" />
 | 
			
		||||
  <g
 | 
			
		||||
     inkscape:label="Layer 1"
 | 
			
		||||
     inkscape:groupmode="layer"
 | 
			
		||||
     id="layer1">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path2477"
 | 
			
		||||
       style="fill:#181715;stroke-width:0.355037"
 | 
			
		||||
       d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
 | 
			
		||||
    <path
 | 
			
		||||
       d="M 1.6086655,4.1275011 H 1.9473319 L 2.154765,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 2.565398,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 3.5644639,4.1275011 H 3.8946636 L 3.5644639,6.4558325 H 3.0437643 L 2.8024645,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 2.4426315,6.4558325 H 1.9346319 Z"
 | 
			
		||||
       id="path503"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
 | 
			
		||||
    <path
 | 
			
		||||
       d="m 4.148665,4.1275011 h 0.3386664 l 0.2074331,1.5959653 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 5.1053975,4.1275011 H 5.4694639 L 5.714997,5.7234664 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 Q 5.842001,6.1594997 5.850464,6.0663661 5.858934,5.9859331 5.871631,5.897033 5.884331,5.8039 5.892798,5.7234664 L 6.1044633,4.1275011 H 6.4346631 L 6.1044633,6.4558325 H 5.5837638 L 5.342464,4.8090672 Q 5.333994,4.7371002 5.325531,4.6609007 5.321301,4.5804677 5.317061,4.5127341 q 0,-0.0762 0,-0.1523999 H 5.262028 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 4.982631,6.4558325 H 4.4746314 Z"
 | 
			
		||||
       id="path505"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
 | 
			
		||||
    <path
 | 
			
		||||
       d="M 6.6886645,4.1275011 H 7.0273309 L 7.234764,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 H 7.33213 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 7.645397,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 8.6444628,4.1275011 H 8.9746626 L 8.6444628,6.4558325 H 8.1237633 L 7.8824635,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 7.5226304,6.4558325 H 7.0146309 Z"
 | 
			
		||||
       id="path507"
 | 
			
		||||
       style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 5.0 KiB  | 
@@ -1,94 +0,0 @@
 | 
			
		||||
const theme_switcher = document.getElementById("theme-switcher");
 | 
			
		||||
const imgs = document.getElementsByTagName("img");
 | 
			
		||||
const sections_button = document.getElementById("sections-button");
 | 
			
		||||
const sections_menu = document.getElementsByTagName("nav")[0];
 | 
			
		||||
const main = document.getElementsByTagName("main")[0];
 | 
			
		||||
 | 
			
		||||
let theme = window.localStorage.getItem("theme");
 | 
			
		||||
 | 
			
		||||
if (theme !== null) {
 | 
			
		||||
  if (theme === "light") {
 | 
			
		||||
    changeToLightTheme();
 | 
			
		||||
  } else {
 | 
			
		||||
    changeToDarkTheme();
 | 
			
		||||
  }
 | 
			
		||||
} else {
 | 
			
		||||
  if (
 | 
			
		||||
    window.matchMedia &&
 | 
			
		||||
    window.matchMedia("(prefers-color-scheme: dark)").matches
 | 
			
		||||
  ) {
 | 
			
		||||
    changeToDarkTheme();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
theme_switcher.addEventListener("click", () => {
 | 
			
		||||
  const attribute = theme_switcher.getAttribute("title") ?? "off"
 | 
			
		||||
  if (attribute.indexOf("off") !== -1) {
 | 
			
		||||
    changeToDarkTheme();
 | 
			
		||||
  } else {
 | 
			
		||||
    changeToLightTheme();
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function changeToDarkTheme() {
 | 
			
		||||
  theme_switcher?.setAttribute("title", "turn the light on");
 | 
			
		||||
  document.documentElement.style.setProperty("--border", "var(--dark-border)");
 | 
			
		||||
  document.documentElement.style.setProperty("--text", "var(--dark-text)");
 | 
			
		||||
  document.documentElement.style.setProperty("--bg", "var(--dark-bg)");
 | 
			
		||||
  window.localStorage.setItem("theme", "dark");
 | 
			
		||||
  for (let i = 0; i < imgs.length; i += 1) {
 | 
			
		||||
    imgs[i].src = imgs[i].src.replace("-light", "-dark");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function changeToLightTheme() {
 | 
			
		||||
  theme_switcher?.setAttribute("title", "turn the light off");
 | 
			
		||||
  document.documentElement.style.setProperty("--border", "var(--light-border)");
 | 
			
		||||
  document.documentElement.style.setProperty("--text", "var(--light-text)");
 | 
			
		||||
  document.documentElement.style.setProperty("--bg", "var(--light-bg)");
 | 
			
		||||
  window.localStorage.setItem("theme", "light");
 | 
			
		||||
  for (let i = 0; i < imgs.length; i += 1) {
 | 
			
		||||
    imgs[i].src = imgs[i].src.replace("-dark", "-light");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function closeMenu() {
 | 
			
		||||
  sections_button.setAttribute("opened", "false");
 | 
			
		||||
  sections_button.children[0].src = sections_button.children[0].src.replace(
 | 
			
		||||
    "opened",
 | 
			
		||||
    "closed",
 | 
			
		||||
  );
 | 
			
		||||
  sections_menu.style.display = "none";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function openMenu() {
 | 
			
		||||
  sections_button.setAttribute("opened", "true");
 | 
			
		||||
  sections_button.children[0].src = sections_button.children[0].src.replace(
 | 
			
		||||
    "closed",
 | 
			
		||||
    "opened",
 | 
			
		||||
  );
 | 
			
		||||
  sections_menu.style.display = "flex";
 | 
			
		||||
  sections_menu.style.flexDirection = "column";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sections_button.addEventListener("click", () => {
 | 
			
		||||
  if (sections_button.getAttribute("opened") === "false") {
 | 
			
		||||
    openMenu();
 | 
			
		||||
  } else {
 | 
			
		||||
    closeMenu();
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
window.addEventListener("resize", () => {
 | 
			
		||||
  if (sections_button.getAttribute("opened") === "true") {
 | 
			
		||||
    closeMenu();
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
main.addEventListener("click", () => {
 | 
			
		||||
  if (sections_button.getAttribute("opened") === "true") {
 | 
			
		||||
    closeMenu();
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
main {
 | 
			
		||||
    max-width: fit-content;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    gap: 1rem;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main img {
 | 
			
		||||
    width: min(70vw, 15rem);
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
#mesh {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
table {
 | 
			
		||||
  table-layout: fixed;
 | 
			
		||||
  border-spacing: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
th,
 | 
			
		||||
td {
 | 
			
		||||
  padding: 0 1rem 0 1rem;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  border-left: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
th {
 | 
			
		||||
  padding: 1rem 1rem 0 1rem;
 | 
			
		||||
  border-bottom: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td:nth-child(odd) {
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td {
 | 
			
		||||
  padding: 0 1rem 1rem 1rem;
 | 
			
		||||
  vertical-align: top;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dl {
 | 
			
		||||
  padding: 1rem 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dt {
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dd {
 | 
			
		||||
  margin: 0 0 1rem 1rem;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,76 +0,0 @@
 | 
			
		||||
 | 
			
		||||
html {
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
    font-family: Facade;
 | 
			
		||||
    src: url(../font/Facade-Sud.woff);
 | 
			
		||||
}
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
@font-face {
 | 
			
		||||
    font-family: jetbrains-mono;
 | 
			
		||||
    src: url(../font/JetBrainsMono-Regular.ttf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html, body {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main {
 | 
			
		||||
    max-width: 1200px;
 | 
			
		||||
    margin: auto;
 | 
			
		||||
    font-family: 'jetbrains-mono';
 | 
			
		||||
    padding: 2.3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
    font-family: 'Facade';
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    font-size: 5rem;
 | 
			
		||||
    margin: 0rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h2 {
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    margin-top: 0.0rem;
 | 
			
		||||
    margin-bottom: 2rem;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
p {
 | 
			
		||||
    font-size: 1.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table {
 | 
			
		||||
    margin: 4rem 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td {
 | 
			
		||||
    font-size: 1.8rem;
 | 
			
		||||
    padding-top: 0.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td:first-child {
 | 
			
		||||
    width: 3.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td:nth-child(2) {
 | 
			
		||||
    padding-right: 1rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#link {
 | 
			
		||||
    margin-top: 4rem;
 | 
			
		||||
    font-size: 3rem;
 | 
			
		||||
    width: fit-content;
 | 
			
		||||
    float: right;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#link img {
 | 
			
		||||
    width: 4rem;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,149 +0,0 @@
 | 
			
		||||
/* Copyright (c) 2023 Luka Ivanovic */
 | 
			
		||||
/* https://github.com/luka-hash/css-reset */
 | 
			
		||||
/* This code is licensed under MIT licence */
 | 
			
		||||
 | 
			
		||||
*,
 | 
			
		||||
*::before,
 | 
			
		||||
*::after {
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html,
 | 
			
		||||
body {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a,
 | 
			
		||||
article,
 | 
			
		||||
audio,
 | 
			
		||||
blockquote,
 | 
			
		||||
body,
 | 
			
		||||
canvas,
 | 
			
		||||
caption,
 | 
			
		||||
code,
 | 
			
		||||
dd,
 | 
			
		||||
del,
 | 
			
		||||
details,
 | 
			
		||||
div,
 | 
			
		||||
dl,
 | 
			
		||||
dt,
 | 
			
		||||
em,
 | 
			
		||||
fieldset,
 | 
			
		||||
figcaption,
 | 
			
		||||
figure,
 | 
			
		||||
footer,
 | 
			
		||||
form,
 | 
			
		||||
h1,
 | 
			
		||||
h2,
 | 
			
		||||
h3,
 | 
			
		||||
h4,
 | 
			
		||||
h5,
 | 
			
		||||
h6,
 | 
			
		||||
header,
 | 
			
		||||
hgroup,
 | 
			
		||||
html,
 | 
			
		||||
iframe,
 | 
			
		||||
img,
 | 
			
		||||
ins,
 | 
			
		||||
kbd,
 | 
			
		||||
label,
 | 
			
		||||
legend,
 | 
			
		||||
li,
 | 
			
		||||
mark,
 | 
			
		||||
menu,
 | 
			
		||||
nav,
 | 
			
		||||
ol,
 | 
			
		||||
output,
 | 
			
		||||
p,
 | 
			
		||||
pre,
 | 
			
		||||
s,
 | 
			
		||||
section,
 | 
			
		||||
small,
 | 
			
		||||
span,
 | 
			
		||||
strong,
 | 
			
		||||
sub,
 | 
			
		||||
summary,
 | 
			
		||||
sup,
 | 
			
		||||
table,
 | 
			
		||||
tbody,
 | 
			
		||||
td,
 | 
			
		||||
tfoot,
 | 
			
		||||
th,
 | 
			
		||||
thead,
 | 
			
		||||
time,
 | 
			
		||||
tr,
 | 
			
		||||
ul,
 | 
			
		||||
video {
 | 
			
		||||
  border: 0;
 | 
			
		||||
  font-size: 100%;
 | 
			
		||||
  font: inherit;
 | 
			
		||||
  vertical-align: baseline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
article,
 | 
			
		||||
details,
 | 
			
		||||
figcaption,
 | 
			
		||||
figure,
 | 
			
		||||
footer,
 | 
			
		||||
header,
 | 
			
		||||
hgroup,
 | 
			
		||||
menu,
 | 
			
		||||
nav,
 | 
			
		||||
section {
 | 
			
		||||
  display: block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
  line-height: 1.5;
 | 
			
		||||
  -webkit-font-smoothing: antialiased;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol,
 | 
			
		||||
ul {
 | 
			
		||||
  list-style: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
blockquote {
 | 
			
		||||
  quotes: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
blockquote::before,
 | 
			
		||||
blockquote::after {
 | 
			
		||||
  content: '';
 | 
			
		||||
  content: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table {
 | 
			
		||||
  border-collapse: collapse;
 | 
			
		||||
  border-spacing: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
img,
 | 
			
		||||
picture,
 | 
			
		||||
video,
 | 
			
		||||
canvas,
 | 
			
		||||
svg {
 | 
			
		||||
  display: block;
 | 
			
		||||
  max-width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
input,
 | 
			
		||||
button,
 | 
			
		||||
textarea,
 | 
			
		||||
select {
 | 
			
		||||
  font: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
p,
 | 
			
		||||
h1,
 | 
			
		||||
h2,
 | 
			
		||||
h3,
 | 
			
		||||
h4,
 | 
			
		||||
h5,
 | 
			
		||||
h6 {
 | 
			
		||||
  overflow-wrap: break-word;
 | 
			
		||||
  hyphens: auto;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
table {
 | 
			
		||||
  table-layout: fixed;
 | 
			
		||||
  border-spacing: 0;
 | 
			
		||||
  margin-bottom: 3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
th,
 | 
			
		||||
td {
 | 
			
		||||
  padding: 0 1rem 0 1rem;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  border-left: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
th {
 | 
			
		||||
  padding: 1rem 1rem 0 1rem;
 | 
			
		||||
  border-bottom: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
td {
 | 
			
		||||
  padding: 0 1rem 1rem 1rem;
 | 
			
		||||
  vertical-align: top;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,218 +0,0 @@
 | 
			
		||||
:root {
 | 
			
		||||
  --light-text: #181715;
 | 
			
		||||
  --light-bg: #ffffff;
 | 
			
		||||
  --light-border: #181715;
 | 
			
		||||
  --dark-text: #ffffff;
 | 
			
		||||
  --dark-bg: #181715;
 | 
			
		||||
  --dark-border: #ffffff;
 | 
			
		||||
  --hightlight: #72dec2;
 | 
			
		||||
  --border: var(--light-border);
 | 
			
		||||
  --text: var(--light-text);
 | 
			
		||||
  --bg: var(--light-bg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: "Iosevka";
 | 
			
		||||
  src: url('/font/iosevka-regular.woff') format('woff');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
* {
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html,
 | 
			
		||||
body {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  color: var(--text);
 | 
			
		||||
  background: var(--bg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
  display: grid;
 | 
			
		||||
  grid-template:
 | 
			
		||||
    "header" 4rem
 | 
			
		||||
    "main" 1fr
 | 
			
		||||
    "footer" 4rem
 | 
			
		||||
    / 1fr;
 | 
			
		||||
  gap: 0;
 | 
			
		||||
  font-family: 'Iosevka';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
header,
 | 
			
		||||
footer {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  padding: 0 3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
header {
 | 
			
		||||
  grid-area: header;
 | 
			
		||||
  border-bottom: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
footer {
 | 
			
		||||
  grid-area: footer;
 | 
			
		||||
  border-top: 2px solid var(--border);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main {
 | 
			
		||||
  grid-area: main;
 | 
			
		||||
  padding: 3rem;
 | 
			
		||||
  font-size: 1.3rem;
 | 
			
		||||
  line-height: 2rem;
 | 
			
		||||
  max-width: 120ch;
 | 
			
		||||
  overflow: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a,
 | 
			
		||||
a:visited {
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  color: var(--text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main a {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  top: 0.2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover,
 | 
			
		||||
a:focus {
 | 
			
		||||
  background-color: var(--hightlight);
 | 
			
		||||
  text-decoration: line-through var(--text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#logo {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: row;
 | 
			
		||||
  gap: 0.5rem;
 | 
			
		||||
  font-size: 2.5rem;
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
  font-variant: small-caps;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#logo img {
 | 
			
		||||
  width: 3rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-switcher {
 | 
			
		||||
  border: 3px solid var(--border);
 | 
			
		||||
  width: 1.5rem;
 | 
			
		||||
  height: 1.5rem;
 | 
			
		||||
  border-radius: 3rem;
 | 
			
		||||
  margin-left: auto;
 | 
			
		||||
  background: linear-gradient(90deg, var(--border) 0%, var(--border) 50%, var(--bg) 51%, var(--bg) 100%);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-switcher:hover {
 | 
			
		||||
  border-color: var(--hightlight);
 | 
			
		||||
  background: linear-gradient(90deg, var(--hightlight) 0%, var(--hightlight) 50%, var(--bg) 51%, var(--bg) 100%);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.account {
 | 
			
		||||
  font-size: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#mesh {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  bottom: 4rem;
 | 
			
		||||
  right: 0;
 | 
			
		||||
  user-select: none;
 | 
			
		||||
  pointer-events: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.links {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  gap: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.links > a {
 | 
			
		||||
  border-radius: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.links > a > img {
 | 
			
		||||
  display: block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sections-button {
 | 
			
		||||
  display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav {
 | 
			
		||||
  font-variant: small-caps;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: row;
 | 
			
		||||
  gap: 2rem;
 | 
			
		||||
  font-size: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button {
 | 
			
		||||
  font-style: italic;
 | 
			
		||||
  font-weight: lighter;
 | 
			
		||||
  border: none;
 | 
			
		||||
  background: var(--bg);
 | 
			
		||||
  color: var(--text);
 | 
			
		||||
  margin: 0 2rem 0 0;
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-height: 860px),
 | 
			
		||||
screen and (max-width: 1500px) {
 | 
			
		||||
  #mesh {
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 1160px) {
 | 
			
		||||
  nav {
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    border: 2px solid var(--border);
 | 
			
		||||
    border-bottom: 0;
 | 
			
		||||
    border-left: 0;
 | 
			
		||||
    background-color: var(--bg);
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    bottom: calc(4rem);
 | 
			
		||||
    left: 0;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
    padding: 2rem 3rem;
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  #sections-button {
 | 
			
		||||
    display: block !important;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 540px) {
 | 
			
		||||
  #logo {
 | 
			
		||||
    font-size: 2.2rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  main {
 | 
			
		||||
    padding: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .links {
 | 
			
		||||
    gap: 1.2rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .links a {
 | 
			
		||||
    width: 1.5rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  header,
 | 
			
		||||
  footer {
 | 
			
		||||
    padding: 0 1rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  #theme-switcher {
 | 
			
		||||
    margin-right: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .account {
 | 
			
		||||
    font-size: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								start.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,16 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<meta charset="UTF-8">
 | 
			
		||||
<html>
 | 
			
		||||
	<head>
 | 
			
		||||
		<link rel="icon" type="image/x-icon" href="/static/d.png">
 | 
			
		||||
		<link rel="stylesheet" href="./static/reset.css">
 | 
			
		||||
		<link rel="stylesheet" href="./static/main.css">
 | 
			
		||||
		<title>Decentrala</title>
 | 
			
		||||
	</head>
 | 
			
		||||
	<body>
 | 
			
		||||
		<div class="container">
 | 
			
		||||
			<div class="header">
 | 
			
		||||
				<h1 class="logo">DECENTRALA</h1>
 | 
			
		||||
			</div>
 | 
			
		||||
			<main>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								static/d.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Est.otf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Est.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Ouest.otf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Ouest.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Sud-Ouest.otf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Sud-Ouest.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/Facade-Sud.otf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/facade/FacadeGX.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								static/fonts/jetbrains-mono/.uuid
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
2f069ecf-a1fc-4aaf-924c-de17efcde7a8
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-Bold.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-BoldItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-ExtraBold.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-ExtraBoldItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-ExtraLight.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-ExtraLightItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-Light.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-LightItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-Medium.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-MediumItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-Thin.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/jetbrains-mono/JetBrainsMono-ThinItalic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/sligoil/Sligoil-Micro.otf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/sligoil/Sligoil-Micro.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								static/fonts/sligoil/Sligoil-Micro.woff2
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB  | 
							
								
								
									
										124
									
								
								static/main.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,124 @@
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: Facade;
 | 
			
		||||
  src: url(fonts/facade/Facade-Sud.woff);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: sligoil;
 | 
			
		||||
  src: url(fonts/sligoil/Sligoil-Micro.woff);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: jetbrains-mono;
 | 
			
		||||
  src: url(fonts/jetbrains-mono/JetBrainsMono-Regular.ttf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
	background-color: rgb(0, 0, 0);
 | 
			
		||||
	font-family: jetbrains-mono;
 | 
			
		||||
	font-size: 3vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.container {
 | 
			
		||||
	margin: 2rem auto;
 | 
			
		||||
	margin-left: 2vw;
 | 
			
		||||
	margin-right: 1vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.header {
 | 
			
		||||
	display: flex;
 | 
			
		||||
	justify-content: center;
 | 
			
		||||
	margin: 0 auto;
 | 
			
		||||
	font-family: facade;
 | 
			
		||||
	font-size: 12vw;
 | 
			
		||||
	color: #24ea26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#d {
 | 
			
		||||
	float: right;
 | 
			
		||||
	margin-right: 6vw;
 | 
			
		||||
	margin-left: 1vw;
 | 
			
		||||
	margin-bottom: 2vw;
 | 
			
		||||
	background-color: #24ea26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main  {
 | 
			
		||||
	color: #24ea26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main h2 {
 | 
			
		||||
	font-family: sligoil;
 | 
			
		||||
	font-size: 5vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main h3 {
 | 
			
		||||
	font-family: sligoil;
 | 
			
		||||
	font-size: 4vw;
 | 
			
		||||
	margin: 2rem auto;
 | 
			
		||||
	margin-left: 2vw;
 | 
			
		||||
	margin-right: 1vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#about {
 | 
			
		||||
	margin-bottom: 2rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
	font-family: sligoil;
 | 
			
		||||
	text-decoration: underline;
 | 
			
		||||
	color: #24ea26;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:visited {
 | 
			
		||||
	text-decoration: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:active {
 | 
			
		||||
	text-decoration: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover {
 | 
			
		||||
	text-decoration: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main ul li {
 | 
			
		||||
	font-size: 3vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main ul li:hover {
 | 
			
		||||
	background-color: #008000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main ul li:hover a {
 | 
			
		||||
	color: #000000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main ul li:before {
 | 
			
		||||
	content: ">";
 | 
			
		||||
	padding-right: 5px;	
 | 
			
		||||
	color: #24ea26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.back ul li {
 | 
			
		||||
	text-align: right;
 | 
			
		||||
	clear: both;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.back ul li:before {
 | 
			
		||||
	content: "<";
 | 
			
		||||
	padding-right: 5px;	
 | 
			
		||||
	color: #24ea26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#onama p {
 | 
			
		||||
	font-size: 2vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.box {
 | 
			
		||||
	float: left;
 | 
			
		||||
	width: 25vw;
 | 
			
		||||
	text-align: center;
 | 
			
		||||
	padding: 1vw;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										368
									
								
								static/reset.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,368 @@
 | 
			
		||||
/* http://meyerweb.com/eric/tools/css/reset/
 | 
			
		||||
 *    v2.0-modified | 20110126
 | 
			
		||||
 *       License: none (public domain)
 | 
			
		||||
 *       */
 | 
			
		||||
 | 
			
		||||
html, body, div, span, applet, object, iframe,
 | 
			
		||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
 | 
			
		||||
a, abbr, acronym, address, big, cite, code,
 | 
			
		||||
del, dfn, em, img, ins, kbd, q, s, samp,
 | 
			
		||||
small, strike, strong, sub, sup, tt, var,
 | 
			
		||||
b, u, i, center,
 | 
			
		||||
dl, dt, dd, ol, ul, li,
 | 
			
		||||
fieldset, form, label, legend,
 | 
			
		||||
table, caption, tbody, tfoot, thead, tr, th, td,
 | 
			
		||||
article, aside, canvas, details, embed,
 | 
			
		||||
figure, figcaption, footer, header, hgroup,
 | 
			
		||||
menu, nav, output, ruby, section, summary,
 | 
			
		||||
time, mark, audio, video {
 | 
			
		||||
	  margin: 0;
 | 
			
		||||
	  	padding: 0;
 | 
			
		||||
			border: 0;
 | 
			
		||||
				font-size: 100%;
 | 
			
		||||
					font: inherit;
 | 
			
		||||
						vertical-align: baseline;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					/* make sure to set some focus styles for accessibility */
 | 
			
		||||
					:focus {
 | 
			
		||||
						    outline: 0;
 | 
			
		||||
					    }
 | 
			
		||||
 | 
			
		||||
					    /* HTML5 display-role reset for older browsers */
 | 
			
		||||
					    article, aside, details, figcaption, figure,
 | 
			
		||||
					    footer, header, hgroup, menu, nav, section {
 | 
			
		||||
						    	display: block;
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						body {
 | 
			
		||||
								line-height: 1;
 | 
			
		||||
							}
 | 
			
		||||
 | 
			
		||||
							ol, ul {
 | 
			
		||||
									list-style: none;
 | 
			
		||||
								}
 | 
			
		||||
 | 
			
		||||
								blockquote, q {
 | 
			
		||||
										quotes: none;
 | 
			
		||||
									}
 | 
			
		||||
 | 
			
		||||
									blockquote:before, blockquote:after,
 | 
			
		||||
									q:before, q:after {
 | 
			
		||||
											content: '';
 | 
			
		||||
												content: none;
 | 
			
		||||
											}
 | 
			
		||||
 | 
			
		||||
											table {
 | 
			
		||||
													border-collapse: collapse;
 | 
			
		||||
														border-spacing: 0;
 | 
			
		||||
													}
 | 
			
		||||
 | 
			
		||||
													input[type=search]::-webkit-search-cancel-button,
 | 
			
		||||
													input[type=search]::-webkit-search-decoration,
 | 
			
		||||
													input[type=search]::-webkit-search-results-button,
 | 
			
		||||
													input[type=search]::-webkit-search-results-decoration {
 | 
			
		||||
														    -webkit-appearance: none;
 | 
			
		||||
														        -moz-appearance: none;
 | 
			
		||||
														}
 | 
			
		||||
 | 
			
		||||
														input[type=search] {
 | 
			
		||||
															    -webkit-appearance: none;
 | 
			
		||||
															        -moz-appearance: none;
 | 
			
		||||
																    -webkit-box-sizing: content-box;
 | 
			
		||||
																        -moz-box-sizing: content-box;
 | 
			
		||||
																	    box-sizing: content-box;
 | 
			
		||||
																    }
 | 
			
		||||
 | 
			
		||||
																    textarea {
 | 
			
		||||
																	        overflow: auto;
 | 
			
		||||
																		    vertical-align: top;
 | 
			
		||||
																		        resize: vertical;
 | 
			
		||||
																		}
 | 
			
		||||
 | 
			
		||||
																		/**
 | 
			
		||||
																		 *  * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 | 
			
		||||
																		 *   */
 | 
			
		||||
 | 
			
		||||
audio,
 | 
			
		||||
canvas,
 | 
			
		||||
video {
 | 
			
		||||
	    display: inline-block;
 | 
			
		||||
	        *display: inline;
 | 
			
		||||
		    *zoom: 1;
 | 
			
		||||
		        max-width: 100%;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 *  * Prevent modern browsers from displaying `audio` without controls.
 | 
			
		||||
		 *   * Remove excess height in iOS 5 devices.
 | 
			
		||||
		 *    */
 | 
			
		||||
 | 
			
		||||
audio:not([controls]) {
 | 
			
		||||
	    display: none;
 | 
			
		||||
	        height: 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 *  * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 | 
			
		||||
	 *   * Known issue: no IE 6 support.
 | 
			
		||||
	 *    */
 | 
			
		||||
 | 
			
		||||
[hidden] {
 | 
			
		||||
	    display: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 | 
			
		||||
     *   *    `em` units.
 | 
			
		||||
     *    * 2. Prevent iOS text size adjust after orientation change, without disabling
 | 
			
		||||
     *     *    user zoom.
 | 
			
		||||
     *      */
 | 
			
		||||
 | 
			
		||||
html {
 | 
			
		||||
	    font-size: 100%; /* 1 */
 | 
			
		||||
	        -webkit-text-size-adjust: 100%; /* 2 */
 | 
			
		||||
		    -ms-text-size-adjust: 100%; /* 2 */
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
	    /**
 | 
			
		||||
	     *  * Address `outline` inconsistency between Chrome and other browsers.
 | 
			
		||||
	     *   */
 | 
			
		||||
 | 
			
		||||
a:focus {
 | 
			
		||||
	    outline: thin dotted;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * Improve readability when focused and also mouse hovered in all browsers.
 | 
			
		||||
     *   */
 | 
			
		||||
 | 
			
		||||
a:active,
 | 
			
		||||
a:hover {
 | 
			
		||||
	    outline: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 | 
			
		||||
     *   * 2. Improve image quality when scaled in IE 7.
 | 
			
		||||
     *    */
 | 
			
		||||
 | 
			
		||||
img {
 | 
			
		||||
	    border: 0; /* 1 */
 | 
			
		||||
	        -ms-interpolation-mode: bicubic; /* 2 */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 *  * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 | 
			
		||||
	 *   */
 | 
			
		||||
 | 
			
		||||
figure {
 | 
			
		||||
	    margin: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * Correct margin displayed oddly in IE 6/7.
 | 
			
		||||
     *   */
 | 
			
		||||
 | 
			
		||||
form {
 | 
			
		||||
	    margin: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * Define consistent border, margin, and padding.
 | 
			
		||||
     *   */
 | 
			
		||||
 | 
			
		||||
fieldset {
 | 
			
		||||
	    border: 1px solid #c0c0c0;
 | 
			
		||||
	        margin: 0 2px;
 | 
			
		||||
		    padding: 0.35em 0.625em 0.75em;
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
	    /**
 | 
			
		||||
	     *  * 1. Correct color not being inherited in IE 6/7/8/9.
 | 
			
		||||
	     *   * 2. Correct text not wrapping in Firefox 3.
 | 
			
		||||
	     *    * 3. Correct alignment displayed oddly in IE 6/7.
 | 
			
		||||
	     *     */
 | 
			
		||||
 | 
			
		||||
legend {
 | 
			
		||||
	    border: 0; /* 1 */
 | 
			
		||||
	        padding: 0;
 | 
			
		||||
		    white-space: normal; /* 2 */
 | 
			
		||||
		        *margin-left: -7px; /* 3 */
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 *  * 1. Correct font size not being inherited in all browsers.
 | 
			
		||||
		 *   * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 | 
			
		||||
		 *    *    and Chrome.
 | 
			
		||||
		 *     * 3. Improve appearance and consistency in all browsers.
 | 
			
		||||
		 *      */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
input,
 | 
			
		||||
select,
 | 
			
		||||
textarea {
 | 
			
		||||
	    font-size: 100%; /* 1 */
 | 
			
		||||
	        margin: 0; /* 2 */
 | 
			
		||||
		    vertical-align: baseline; /* 3 */
 | 
			
		||||
		        *vertical-align: middle; /* 3 */
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 *  * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 | 
			
		||||
		 *   * the UA stylesheet.
 | 
			
		||||
		 *    */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
input {
 | 
			
		||||
	    line-height: normal;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * Address inconsistent `text-transform` inheritance for `button` and `select`.
 | 
			
		||||
     *   * All other form control elements do not inherit `text-transform` values.
 | 
			
		||||
     *    * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 | 
			
		||||
     *     * Correct `select` style inheritance in Firefox 4+ and Opera.
 | 
			
		||||
     *      */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
select {
 | 
			
		||||
	    text-transform: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 | 
			
		||||
     *   *    and `video` controls.
 | 
			
		||||
     *    * 2. Correct inability to style clickable `input` types in iOS.
 | 
			
		||||
     *     * 3. Improve usability and consistency of cursor style between image-type
 | 
			
		||||
     *      *    `input` and others.
 | 
			
		||||
     *       * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 | 
			
		||||
     *        *    Known issue: inner spacing remains in IE 6.
 | 
			
		||||
     *         */
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
html input[type="button"], /* 1 */
 | 
			
		||||
input[type="reset"],
 | 
			
		||||
input[type="submit"] {
 | 
			
		||||
	    -webkit-appearance: button; /* 2 */
 | 
			
		||||
	        cursor: pointer; /* 3 */
 | 
			
		||||
		    *overflow: visible;  /* 4 */
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
	    /**
 | 
			
		||||
	     *  * Re-set default cursor for disabled elements.
 | 
			
		||||
	     *   */
 | 
			
		||||
 | 
			
		||||
button[disabled],
 | 
			
		||||
html input[disabled] {
 | 
			
		||||
	    cursor: default;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * 1. Address box sizing set to content-box in IE 8/9.
 | 
			
		||||
     *   * 2. Remove excess padding in IE 8/9.
 | 
			
		||||
     *    * 3. Remove excess padding in IE 7.
 | 
			
		||||
     *     *    Known issue: excess padding remains in IE 6.
 | 
			
		||||
     *      */
 | 
			
		||||
 | 
			
		||||
input[type="checkbox"],
 | 
			
		||||
input[type="radio"] {
 | 
			
		||||
	    box-sizing: border-box; /* 1 */
 | 
			
		||||
	        padding: 0; /* 2 */
 | 
			
		||||
		    *height: 13px; /* 3 */
 | 
			
		||||
		        *width: 13px; /* 3 */
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 *  * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 | 
			
		||||
		 *   * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 | 
			
		||||
		 *    *    (include `-moz` to future-proof).
 | 
			
		||||
		 *     */
 | 
			
		||||
 | 
			
		||||
input[type="search"] {
 | 
			
		||||
	    -webkit-appearance: textfield; /* 1 */
 | 
			
		||||
	        -moz-box-sizing: content-box;
 | 
			
		||||
		    -webkit-box-sizing: content-box; /* 2 */
 | 
			
		||||
		        box-sizing: content-box;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 *  * Remove inner padding and search cancel button in Safari 5 and Chrome
 | 
			
		||||
		 *   * on OS X.
 | 
			
		||||
		 *    */
 | 
			
		||||
 | 
			
		||||
input[type="search"]::-webkit-search-cancel-button,
 | 
			
		||||
input[type="search"]::-webkit-search-decoration {
 | 
			
		||||
	    -webkit-appearance: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *  * Remove inner padding and border in Firefox 3+.
 | 
			
		||||
     *   */
 | 
			
		||||
 | 
			
		||||
button::-moz-focus-inner,
 | 
			
		||||
input::-moz-focus-inner {
 | 
			
		||||
	    border: 0;
 | 
			
		||||
	        padding: 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 *  * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 | 
			
		||||
	 *   * 2. Improve readability and alignment in all browsers.
 | 
			
		||||
	 *    */
 | 
			
		||||
 | 
			
		||||
textarea {
 | 
			
		||||
	    overflow: auto; /* 1 */
 | 
			
		||||
	        vertical-align: top; /* 2 */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 *  * Remove most spacing between table cells.
 | 
			
		||||
	 *   */
 | 
			
		||||
 | 
			
		||||
table {
 | 
			
		||||
	    border-collapse: collapse;
 | 
			
		||||
	        border-spacing: 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	html,
 | 
			
		||||
	button,
 | 
			
		||||
	input,
 | 
			
		||||
	select,
 | 
			
		||||
	textarea {
 | 
			
		||||
		    color: #222;
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    ::-moz-selection {
 | 
			
		||||
		        background: #b3d4fc;
 | 
			
		||||
			    text-shadow: none;
 | 
			
		||||
		    }
 | 
			
		||||
 | 
			
		||||
		    ::selection {
 | 
			
		||||
			        background: #b3d4fc;
 | 
			
		||||
				    text-shadow: none;
 | 
			
		||||
			    }
 | 
			
		||||
 | 
			
		||||
			    img {
 | 
			
		||||
				        vertical-align: middle;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				fieldset {
 | 
			
		||||
					    border: 0;
 | 
			
		||||
					        margin: 0;
 | 
			
		||||
						    padding: 0;
 | 
			
		||||
					    }
 | 
			
		||||
 | 
			
		||||
					    textarea {
 | 
			
		||||
						        resize: vertical;
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						.chromeframe {
 | 
			
		||||
							    margin: 0.2em 0;
 | 
			
		||||
							        background: #ccc;
 | 
			
		||||
								    color: #000;
 | 
			
		||||
								        padding: 0.2em 0;
 | 
			
		||||
								}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
<head>
 | 
			
		||||
  <meta charset="UTF-8">
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/reset.css">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/style.css">
 | 
			
		||||
  <!--ADDITIONAL_STYLE-->
 | 
			
		||||
  <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
 | 
			
		||||
  <script src="/scripts/main.js" defer></script>
 | 
			
		||||
  <title><!--TITLE--> Decentrala</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
  <header>
 | 
			
		||||
    <a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
 | 
			
		||||
    <button id="theme-switcher"></button>
 | 
			
		||||
    <a class="account" href="/en/account">Account</a>
 | 
			
		||||
  </header>
 | 
			
		||||
  <main>
 | 
			
		||||
    <!--MAIN-->
 | 
			
		||||
  </main>
 | 
			
		||||
  <footer>
 | 
			
		||||
    <button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
 | 
			
		||||
    <nav>
 | 
			
		||||
      <a href="/en/events">Događaji</a>
 | 
			
		||||
      <a href="/en/services">Servisi</a>
 | 
			
		||||
      <a href="/en/contact">Kontakt</a>
 | 
			
		||||
    </nav>
 | 
			
		||||
    <span class="links">
 | 
			
		||||
      <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
 | 
			
		||||
      <a href="/en/webring"><img src="/img/w-light.svg" alt="Webring"></a>
 | 
			
		||||
      <a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
 | 
			
		||||
      <a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
 | 
			
		||||
    </span>
 | 
			
		||||
  </footer>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="sr">
 | 
			
		||||
<head>
 | 
			
		||||
  <meta charset="UTF-8">
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/reset.css">
 | 
			
		||||
  <link rel="stylesheet" href="/styles/style.css">
 | 
			
		||||
  <!--ADDITIONAL_STYLE-->
 | 
			
		||||
  <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
 | 
			
		||||
  <script src="/scripts/main.js" defer></script>
 | 
			
		||||
  <title><!--TITLE--> Decentrala</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
  <header>
 | 
			
		||||
    <a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
 | 
			
		||||
    <button id="theme-switcher"></button>
 | 
			
		||||
    <a class="account" href="/account">Nalog</a>
 | 
			
		||||
  </header>
 | 
			
		||||
  <main>
 | 
			
		||||
    <!--MAIN-->
 | 
			
		||||
  </main>
 | 
			
		||||
  <footer>
 | 
			
		||||
    <button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
 | 
			
		||||
    <nav>
 | 
			
		||||
      <a href="/events">Događaji</a>
 | 
			
		||||
      <a href="/services">Servisi</a>
 | 
			
		||||
      <a href="/contact">Kontakt</a>
 | 
			
		||||
    </nav>
 | 
			
		||||
    <span class="links">
 | 
			
		||||
      <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
 | 
			
		||||
      <a href="/webring"><img src="/img/w-light.svg" alt="Webring"></a>
 | 
			
		||||
      <a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
 | 
			
		||||
      <a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
 | 
			
		||||
    </span>
 | 
			
		||||
  </footer>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||