[rulkc] [PATCH v2 07/16] themes: add landau-hacker theme

Dmitry Rokosov rockosov at rulkc.org
Fri Jul 17 20:17:04 MSK 2026


From: Nikita Shubin <nikita.shubin at maquefel.me>

Signed-off-by: Nikita Shubin <nikita.shubin at maquefel.me>
Signed-off-by: Dmitry Rokosov <rockosov at rulkc.org>
---
 themes/landau-hacker/LICENSE                  | 674 ++++++++++++++++++
 themes/landau-hacker/README.md                |  19 +
 themes/landau-hacker/archetypes/default.md    |   5 +
 themes/landau-hacker/archetypes/events.md     |  38 +
 themes/landau-hacker/archetypes/news.md       |   9 +
 themes/landau-hacker/layouts/404.html         |  39 +
 .../_default/_markup/render-codeblock.html    |   7 +
 .../layouts/_default/baseof.html              |  43 ++
 .../landau-hacker/layouts/_default/list.html  |  14 +
 .../layouts/_default/single.html              |   3 +
 .../layouts/_markup/render-codeblock.html     |   7 +
 themes/landau-hacker/layouts/index.html       |   3 +
 .../layouts/partials/head-additions.html      |   0
 themes/landau-hacker/static/css/hacker.css    | 290 ++++++++
 themes/landau-hacker/static/favicon.svg       |   3 +
 themes/landau-hacker/static/images/bkg.png    | Bin 0 -> 1218 bytes
 themes/landau-hacker/static/images/bullet.png | Bin 0 -> 603 bytes
 themes/landau-hacker/static/rulkc.png         | Bin 0 -> 8749 bytes
 themes/landau-hacker/theme.yaml               |  15 +
 19 files changed, 1169 insertions(+)
 create mode 100644 themes/landau-hacker/LICENSE
 create mode 100644 themes/landau-hacker/README.md
 create mode 100644 themes/landau-hacker/archetypes/default.md
 create mode 100644 themes/landau-hacker/archetypes/events.md
 create mode 100644 themes/landau-hacker/archetypes/news.md
 create mode 100644 themes/landau-hacker/layouts/404.html
 create mode 100644 themes/landau-hacker/layouts/_default/_markup/render-codeblock.html
 create mode 100644 themes/landau-hacker/layouts/_default/baseof.html
 create mode 100644 themes/landau-hacker/layouts/_default/list.html
 create mode 100644 themes/landau-hacker/layouts/_default/single.html
 create mode 100644 themes/landau-hacker/layouts/_markup/render-codeblock.html
 create mode 100644 themes/landau-hacker/layouts/index.html
 create mode 100644 themes/landau-hacker/layouts/partials/head-additions.html
 create mode 100644 themes/landau-hacker/static/css/hacker.css
 create mode 100644 themes/landau-hacker/static/favicon.svg
 create mode 100644 themes/landau-hacker/static/images/bkg.png
 create mode 100644 themes/landau-hacker/static/images/bullet.png
 create mode 100644 themes/landau-hacker/static/rulkc.png
 create mode 100644 themes/landau-hacker/theme.yaml

diff --git a/themes/landau-hacker/LICENSE b/themes/landau-hacker/LICENSE
new file mode 100644
index 000000000000..f288702d2fa1
--- /dev/null
+++ b/themes/landau-hacker/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 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 General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is 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.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  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.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  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 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. Use with the GNU Affero General Public License.
+
+  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 Affero 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 special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU 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 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 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 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 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 General Public License for more details.
+
+    You should have received a copy of the GNU 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 the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  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 GPL, see
+<https://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/themes/landau-hacker/README.md b/themes/landau-hacker/README.md
new file mode 100644
index 000000000000..05c2ea74845c
--- /dev/null
+++ b/themes/landau-hacker/README.md
@@ -0,0 +1,19 @@
+# landau-hacker – тема для Hugo сайта LANDAU
+
+**landau-hacker** – это адаптация темы [Hacker](https://github.com/pages-themes/hacker) от GitHub Pages под движок [Hugo](https://gohugo.io/). Тема используется на официальном сайте проекта [LANDAU](https://landau.one).
+
+## Особенности
+
+- Минималистичный «технический» дизайн с зелёным акцентом.
+- Тёмный фон, моноширинные шрифты.
+- Адаптивная вёрстка, поддержка относительных ссылок (`relativeURLs`).
+- Встроенные архетипы для **новостей** и **событий**.
+- Страница 404 в стиле темы.
+
+## Установка
+
+### 1. Скопировать тему в проект
+
+```bash
+git clone https://gitflic.ru/project/maquefel/landau-hacker themes/landau-hacker
+```
diff --git a/themes/landau-hacker/archetypes/default.md b/themes/landau-hacker/archetypes/default.md
new file mode 100644
index 000000000000..43dca9a75622
--- /dev/null
+++ b/themes/landau-hacker/archetypes/default.md
@@ -0,0 +1,5 @@
+---
+title: "{{ replace .File.ContentBaseName "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
diff --git a/themes/landau-hacker/archetypes/events.md b/themes/landau-hacker/archetypes/events.md
new file mode 100644
index 000000000000..381be1ccae03
--- /dev/null
+++ b/themes/landau-hacker/archetypes/events.md
@@ -0,0 +1,38 @@
+---
+title: "{{ replace .File.ContentBaseName "-" " " | title }}"
+date: {{ .Date }}
+description: ""
+type: events
+draft: true
+---
+
+# 🎙️ {Заголовок события}
+
+## «{Подзаголовок / тема}»
+
+---
+
+📅 **Дата:** {ДД месяц ГГГГ}
+⏰ **Время:** {ЧЧ:ММ}
+📍 **Формат:** Очно / Online (гибрид)
+👥 **Организатор:** [RULKC](https://rulkc.org) (Russian Linux Kernel Community)
+
+---
+
+## 🧭 О встрече
+
+{Краткое описание...}
+
+---
+
+## 📝 Регистрация и контакты
+
+🔗 {ссылка на регистрацию}
+
+---
+
+**Контактное лицо:** RULKC
+📧 [rulinuxkc at gmail.com](mailto:rulinuxkc at gmail.com)
+💬 [t.me/linux_kernel_O](https://t.me/linux_kernel_O)
+
+[⬅️ Вернуться на главную страницу LANDAU](/)
diff --git a/themes/landau-hacker/archetypes/news.md b/themes/landau-hacker/archetypes/news.md
new file mode 100644
index 000000000000..0683b469e0ca
--- /dev/null
+++ b/themes/landau-hacker/archetypes/news.md
@@ -0,0 +1,9 @@
+---
+title: "{{ replace .File.ContentBaseName "-" " " | title }}"
+date: {{ .Date }}
+description: ""
+type: news
+draft: true
+---
+
+{Текст новости...}
diff --git a/themes/landau-hacker/layouts/404.html b/themes/landau-hacker/layouts/404.html
new file mode 100644
index 000000000000..e939055ba75c
--- /dev/null
+++ b/themes/landau-hacker/layouts/404.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html lang="{{ site.Language.Lang | default "ru" }}">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>404 — Страница не найдена · {{ site.Title }}</title>
+  <meta name="description" content="Запрошенная страница не существует на сайте LANDAU">
+  <link rel="canonical" href="{{ .Permalink }}">
+  <link rel="icon" type="image/svg+xml" href="{{ "/favicon.svg" | relURL }}">
+  <link rel="stylesheet" href="{{ "/css/hacker.css" | relURL }}">
+</head>
+<body>
+  <header>
+    <div class="container">
+      <a id="a-title" href="{{ "/" | relURL }}">
+        <h1>{{ site.Title }}</h1>
+      </a>
+      <h2>{{ site.Params.description }}</h2>
+    </div>
+  </header>
+
+  <div class="container">
+    <section id="main_content">
+      <h1>404</h1>
+      <p>Страница не найдена. Возможно, она была перемещена или удалена.</p>
+      <p>Проверьте правильность адреса или вернитесь на <a href="{{ "/" | relURL }}">главную страницу</a>.</p>
+      <hr>
+      <p><small>Если вы уверены, что страница должна существовать, свяжитесь с нами через <a href="https://t.me/linux_kernel_O">Telegram-канал</a>.</small></p>
+    </section>
+  </div>
+
+  <footer>
+    <div class="container">
+      <p class="version">ver.{{ with site.Params.version }}{{ . }}{{ else }}dev{{ end }}</p>
+    </div>
+  </footer>
+</body>
+</html>
diff --git a/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html b/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html
new file mode 100644
index 000000000000..e86da3c3f73b
--- /dev/null
+++ b/themes/landau-hacker/layouts/_default/_markup/render-codeblock.html
@@ -0,0 +1,7 @@
+aaaaaaaaaa{{- warnf "codeblock hook triggered for %s" .Position -}}
+{{- $lang := .Attributes.lang | default "" -}}
+{{- if eq $lang "mermaid" -}}
+  <pre class="mermaid">{{ .Inner | safeHTML }}</pre>
+{{- else -}}
+  <pre><code class="language-{{ $lang }}">{{ .Inner | safeHTML }}</code></pre>
+{{- end -}}
\ No newline at end of file
diff --git a/themes/landau-hacker/layouts/_default/baseof.html b/themes/landau-hacker/layouts/_default/baseof.html
new file mode 100644
index 000000000000..57080b56d4f2
--- /dev/null
+++ b/themes/landau-hacker/layouts/_default/baseof.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="{{ site.Language.Lang | default "ru" }}">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ .Title }} · {{ site.Title }}{{ end }}</title>
+  <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ site.Params.description }}{{ end }}">
+  <link rel="canonical" href="{{ .Permalink }}">
+  <meta property="og:type" content="{{ if .IsHome }}website{{ else }}article{{ end }}">
+  <meta property="og:title" content="{{ if .IsHome }}{{ site.Title }}{{ else }}{{ .Title }}{{ end }}">
+  <meta property="og:url" content="{{ .Permalink }}">
+  <meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{ site.Params.description }}{{ end }}">
+  {{ with .OutputFormats.Get "rss" -}}
+  <link rel="alternate" type="application/rss+xml" href="{{ .RelPermalink }}" title="{{ site.Title }}">
+  {{- end }}
+  <link rel="icon" type="image/svg+xml" href="{{ "/favicon.svg" | relURL }}">
+  <link rel="stylesheet" href="{{ "/css/hacker.css" | relURL }}">
+  {{- partial "head-additions.html" . -}}
+</head>
+<body>
+  <header>
+    <div class="container">
+      <a id="a-title" href="{{ "/" | relURL }}">
+        <h1>{{ site.Title }}</h1>
+      </a>
+      <h2>{{ site.Params.description }}</h2>
+    </div>
+  </header>
+
+  <div class="container">
+    <section id="main_content">
+      {{ block "main" . }}{{ end }}
+    </section>
+  </div>
+
+  <footer>
+    <div class="container">
+      <p class="version">ver.{{ with site.Params.version }}{{ . }}{{ else }}dev{{ end }}</p>
+    </div>
+  </footer>
+</body>
+</html>
diff --git a/themes/landau-hacker/layouts/_default/list.html b/themes/landau-hacker/layouts/_default/list.html
new file mode 100644
index 000000000000..2111000f61d9
--- /dev/null
+++ b/themes/landau-hacker/layouts/_default/list.html
@@ -0,0 +1,14 @@
+{{ define "main" }}
+{{ .Content }}
+
+{{ with .Pages.ByDate.Reverse }}
+<ul>
+  {{ range . }}
+  <li>
+    <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+    {{- with .Date }} — <time datetime="{{ .Format "2006-01-02" }}">{{ .Format "2 January 2006" }}</time>{{ end }}
+  </li>
+  {{ end }}
+</ul>
+{{ end }}
+{{ end }}
diff --git a/themes/landau-hacker/layouts/_default/single.html b/themes/landau-hacker/layouts/_default/single.html
new file mode 100644
index 000000000000..9983b08160de
--- /dev/null
+++ b/themes/landau-hacker/layouts/_default/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+{{ .Content }}
+{{ end }}
diff --git a/themes/landau-hacker/layouts/_markup/render-codeblock.html b/themes/landau-hacker/layouts/_markup/render-codeblock.html
new file mode 100644
index 000000000000..e86da3c3f73b
--- /dev/null
+++ b/themes/landau-hacker/layouts/_markup/render-codeblock.html
@@ -0,0 +1,7 @@
+aaaaaaaaaa{{- warnf "codeblock hook triggered for %s" .Position -}}
+{{- $lang := .Attributes.lang | default "" -}}
+{{- if eq $lang "mermaid" -}}
+  <pre class="mermaid">{{ .Inner | safeHTML }}</pre>
+{{- else -}}
+  <pre><code class="language-{{ $lang }}">{{ .Inner | safeHTML }}</code></pre>
+{{- end -}}
\ No newline at end of file
diff --git a/themes/landau-hacker/layouts/index.html b/themes/landau-hacker/layouts/index.html
new file mode 100644
index 000000000000..9983b08160de
--- /dev/null
+++ b/themes/landau-hacker/layouts/index.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+{{ .Content }}
+{{ end }}
diff --git a/themes/landau-hacker/layouts/partials/head-additions.html b/themes/landau-hacker/layouts/partials/head-additions.html
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/themes/landau-hacker/static/css/hacker.css b/themes/landau-hacker/static/css/hacker.css
new file mode 100644
index 000000000000..736bb29580e0
--- /dev/null
+++ b/themes/landau-hacker/static/css/hacker.css
@@ -0,0 +1,290 @@
+/*
+ * LANDAU site theme.
+ *
+ * Lifted from github.com/pages-themes/hacker
+ *   commit e3c8d1ad288894be216002a5bc29fc611aeab9ac (2024-01-16)
+ *   licensed CC0-1.0 (per upstream LICENSE file).
+ *
+ * SCSS sources flattened into plain CSS:
+ *   _sass/_default_colors.scss   (variables inlined)
+ *   _sass/jekyll-theme-hacker.scss (main rules)
+ *   _sass/rouge-base16-dark.scss   (code highlighting; appended at end)
+ *
+ * Background images live alongside under /images/{bkg,bullet}.png
+ * and are referenced via "../images/<file>.png" so this file is portable.
+ *
+ * Update procedure: see CLAUDE.md, "Theme update".
+ */
+
+body {
+  margin: 0;
+  padding: 0;
+  background: #151515 url("../images/bkg.png") 0 0;
+  color: #eaeaea;
+  font-size: 16px;
+  line-height: 1.5;
+  font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
+}
+
+/* General & 'Reset' Stuff */
+
+.container {
+  width: 90%;
+  max-width: 1000px;
+  margin: 0 auto;
+}
+
+section {
+  display: block;
+  margin: 0 0 20px 0;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin: 0 0 20px;
+}
+
+li {
+  line-height: 1.4;
+}
+
+/* Header */
+
+header {
+  background: rgba(0, 0, 0, 0.1);
+  width: 100%;
+  border-bottom: 1px dashed #b5e853;
+  padding: 20px 0;
+  margin: 0 0 40px 0;
+}
+
+header h1 {
+  font-size: 30px;
+  line-height: 1.5;
+  margin: 0 0 0 -40px;
+  font-weight: bold;
+  font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
+  color: #b5e853;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1),
+               0 0 5px rgba(181, 232, 83, 0.1),
+               0 0 10px rgba(181, 232, 83, 0.1);
+  letter-spacing: -1px;
+  -webkit-font-smoothing: antialiased;
+}
+
+ at media (max-width: 1000px) {
+  header h1 {
+    margin-left: 0;
+  }
+}
+
+header h1:before {
+  content: "./ ";
+  font-size: 24px;
+}
+
+header h2 {
+  font-size: 18px;
+  font-weight: 300;
+  color: #666;
+}
+
+#downloads .btn {
+  display: inline-block;
+  text-align: center;
+  margin: 0;
+}
+
+/* Main Content */
+
+#main_content {
+  width: 100%;
+  -webkit-font-smoothing: antialiased;
+}
+
+section img {
+  max-width: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  font-weight: normal;
+  font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
+  color: #b5e853;
+  letter-spacing: -0.03em;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1),
+               0 0 5px rgba(181, 232, 83, 0.1),
+               0 0 10px rgba(181, 232, 83, 0.1);
+}
+
+#main_content h1 { font-size: 30px; }
+#main_content h2 { font-size: 24px; }
+#main_content h3 { font-size: 18px; }
+#main_content h4 { font-size: 14px; }
+
+#main_content h5 {
+  font-size: 12px;
+  text-transform: uppercase;
+  margin: 0 0 5px 0;
+}
+
+#main_content h6 {
+  font-size: 12px;
+  text-transform: uppercase;
+  color: #999;
+  margin: 0 0 5px 0;
+}
+
+dt {
+  font-style: italic;
+  font-weight: bold;
+}
+
+ul li {
+  list-style-image: url('../images/bullet.png');
+}
+
+blockquote {
+  color: #aaa;
+  padding-left: 10px;
+  border-left: 1px dotted #666;
+}
+
+pre {
+  background: rgba(0, 0, 0, 0.9);
+  border: 1px solid rgba(255, 255, 255, 0.15);
+  padding: 10px;
+  font-size: 16px;
+  color: #b5e853;
+  border-radius: 2px;
+  word-wrap: normal;
+  overflow: auto;
+  overflow-y: hidden;
+}
+
+code.highlighter-rouge {
+  background: rgba(0, 0, 0, 0.9);
+  border: 1px solid rgba(255, 255, 255, 0.15);
+  padding: 0px 3px;
+  margin: 0px -3px;
+  color: #aa759f;
+  border-radius: 2px;
+}
+
+table {
+  width: 100%;
+  margin: 0 0 20px 0;
+}
+
+th {
+  text-align: left;
+  border-bottom: 1px dashed #b5e853;
+  padding: 5px 10px;
+}
+
+td {
+  padding: 5px 10px;
+}
+
+hr {
+  height: 0;
+  border: 0;
+  border-bottom: 1px dashed #b5e853;
+  color: #b5e853;
+}
+
+/* Buttons */
+
+.btn {
+  display: inline-block;
+  background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3));
+  padding: 8px 18px;
+  border-radius: 50px;
+  border: 2px solid rgba(0, 0, 0, 0.7);
+  border-bottom: 2px solid rgba(0, 0, 0, 0.7);
+  border-top: 2px solid rgba(0, 0, 0, 1);
+  color: rgba(255, 255, 255, 0.8);
+  font-family: Helvetica, Arial, sans-serif;
+  font-weight: bold;
+  font-size: 13px;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+}
+
+.btn:hover {
+  background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8));
+}
+
+.btn .icon {
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  margin: 1px 8px 0 0;
+  float: left;
+}
+
+/* Links */
+
+a {
+  color: #63c0f5;
+  text-shadow: 0 0 5px rgba(104, 182, 255, 0.5);
+}
+
+/* Clearfix */
+
+.cf:before, .cf:after {
+  content: "";
+  display: table;
+}
+
+.cf:after {
+  clear: both;
+}
+
+.cf {
+  zoom: 1;
+}
+
+#a-title {
+  text-decoration: none;
+}
+
+/* Footer (LANDAU addition; not part of upstream pages-themes/hacker) */
+
+footer {
+  margin: 60px 0 0;
+  border-top: 1px dashed #b5e853;
+  padding: 16px 0 24px;
+  background: rgba(0, 0, 0, 0.1);
+}
+
+footer .version {
+  margin: 0;
+  text-align: center;
+  font-size: 10px;
+  color: #444;
+  font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
+}
+
+/* Code highlighting (rouge-base16-dark, flattened) */
+
+.highlight                                                                { color: #d0d0d0; }
+.highlight table td                                                       { padding: 5px; }
+.highlight table pre                                                      { margin: 0; }
+.highlight .w                                                             { color: #d0d0d0; }
+.highlight .err                                                           { color: #151515; background-color: #ac4142; }
+.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { color: #888; }
+.highlight .cp                                                            { color: #f4bf75; }
+.highlight .o, .highlight .ow                                             { color: #f4bf75; }
+.highlight .p, .highlight .pi                                             { color: #d0d0d0; }
+.highlight .gi                                                            { color: #90a959; }
+.highlight .gd                                                            { color: #ac4142; }
+.highlight .gh                                                            { color: #6a9fb5; font-weight: bold; }
+.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { color: #aa759f; }
+.highlight .kc, .highlight .kt, .highlight .kd                            { color: #d28445; }
+.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { color: #90a959; }
+.highlight .sr                                                            { color: #75b5aa; }
+.highlight .si, .highlight .se                                            { color: #8f5536; }
+.highlight .nt, .highlight .nn, .highlight .nc, .highlight .no            { color: #f4bf75; }
+.highlight .na                                                            { color: #6a9fb5; }
+.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; }
+.highlight .ss                                                            { color: #90a959; }
diff --git a/themes/landau-hacker/static/favicon.svg b/themes/landau-hacker/static/favicon.svg
new file mode 100644
index 000000000000..91a33eef7b27
--- /dev/null
+++ b/themes/landau-hacker/static/favicon.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
+  <text x="50%" y="50%" font-size="56" text-anchor="middle" dominant-baseline="central">⚛️</text>
+</svg>
diff --git a/themes/landau-hacker/static/images/bkg.png b/themes/landau-hacker/static/images/bkg.png
new file mode 100644
index 0000000000000000000000000000000000000000..d10e5caf1adb7466673bc9cef83621fe855caa3f
GIT binary patch
literal 1218
zcmeAS at N?(olHy`uVBq!ia0y~yU=jggMrNQ$#TNBtK#DEEC&X1sN=jN<TJhgIUIqr1
za!(h>kczmscWgJUHsE1R2ws}X9=R$~%X@*3=-vhL at -NfkR)!pBoqVTzzlmJ$gw$h(
za!N&gzAjH}?UE-yuB at ->I#KvPao+dRzrL at oCvVpee)R8SO|Rip8+r3Dza~8XxNqSP
zmGuR0<=?XLN*y=&ko at A*R?n;zmFGjmpL|X=el)GDnT?nCc-hJ9h-*>(U-v7SP21O(
zoNu0S!J*))p{S5clIq(!Rnv%W88O`}e-}D7AF~mxZ<pM6Cil`MzxnU%D at vtJGAgdP
zGBvvE1 at fMbnNsq?Bl1W-kCe%R#FxsACj_I99By9o>fpV+3kwX-$FQx)Y;JvA%`)@d
zWYLYgd8JI0aw{r!Iv89Q>eyImcyRi at 1&bblZJ%(NN9SER*F|RI`9Vy^n|kYj&a|m<
z<qcb&UnO2J|6SDIt00$O30vx5C#=V``Mk at b+qoAOOjKVO{UEfP^J}Beo*03xYk_Kd
zS8VSRdCSXubd61LitBTrLB0E{L%$ouGhS8EyJ6)ZwdXs?3x8twHvY>H+i{|PR}_n7
z-gd`kwp)J%TC%IUg`6V4t}fWH9jMCX-LAENwM{str7XO1;E!GNEuasI-gOzw-pnlj
z>{){B-p0ScV3upi-pM7+*5to^wpdM0Lo6uhXKvGLxTUb-aiDN)U^44#klW=8|4*sV
zntfrzKU=lq{IC4u?*i3*Ut)0K at G9flAeW??UW>QI-$6b&yzF|LRw2jj$QO!RxR2R@
z!p-JEk`UjzM<raFm`!#*;7Hu<*xVKtGV!QV@`uJ#;#ypF at o#ElK?eTJu~*2?=(N*m
zz95#7=dk$h0!QZF`l|i)TVMX-Y`qcH+#5e(^=+V_f3$|oiblPIRr9!9^=n>%QUGt5
zsq{^Wh=(VtSvB4F14E?hZ{X9Y?R-}fa at G1cS_<EQd{(?RZONXWleFXa{d=3gV+$~p
z6ml>4|1{K5DvW*TQF%BQWRm-W8rcnHXW5F_LnOa!0te-Gud{_`k1m{6m9unPa(^B$
zKx8W_XRUv at r+&lLzc+3*l|BZA<&8P3LiGe?mL9UxX48rf2YHj at p3l_yh=pvc)~tHC
z{nO?fprlo3bGdkWi`e7<jurW<Pi@?Ne}QB2JZ<5I_*+a<b+qresfdEKvi1FOoLzS?
zTl2c>f5A45eIR!{NSV4~V*iRMLf15OnS&>IfjrQ$5*USNy<-2E*PZ71vSAxg$R}ir
z*HrJV2QIesUSGbBCF#9c#svfK2|7o#H8-glPWYpw_zvjL75X#RJY~u`5Y-X(HrD(=
zUCM<84_%p-W@|H8MF_Nfy!EQ%2FOzxtQJYFtLIN<Wl3w@=f_nBG=E8fj+N8u$u^sh
zS~AYze*-j2ASC3YSZPVr&u|sdhe_8L0OM%!m(S0uUTbZAwDjNUwXMySTY(yRWS04@
z{qG^R!8u_^+?k`6YvX_k=FRgvrCYbGS{-$&RrPqsYG9l{e(hWT^e4}5w$j521-+O5
aGpK*M_1*RT+dN>Q#Ng at b=d#Wzp$P!*bu5qo

literal 0
HcmV?d00001

diff --git a/themes/landau-hacker/static/images/bullet.png b/themes/landau-hacker/static/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8f8de1a7e0d469d77b8852396dd10f338ae23f2
GIT binary patch
literal 603
zcmeAS at N?(olHy`uVBq!ia0vp^5<tu)zy>7${dCd>QY`6?zK#qG8~eHcB(ehe3dtTp
zz6=aiY77hwEes65fI<x~7#K<o7#Ln9FfdrnU|<k0n6oR;1}MRn<n8VPq=De4^X_^e
z#a`m+>&pI+kyVsc_(xbi&_G6SPZ!4!i_=@D?9F0w6md%rmzMVCWO3ZMStxs>APeV`
z6HToPk{)y4eARTTV}i&**7yU5F8RqPByJ7f7<BN_8{S9{vwtah#WUv4eLuT8{h3tX
z<H~7M{j`@(37X6IrtD$Lr%%7W{P|aCwbJ_V&o42redq6UWICyG_$t at 2q=LO|&5T=e
zd8VJfEp%ad{)&z+4d<Rmg?8bqH{5J#bt<@-!&Yr;A(vcZ(W3t8|F3w?7U^`O9x2|4
z_0Bt`e%s3Q9+5cw^Up5fUGe|Vv(%ZH{1H8>l(V(z*fP#y%N{ZA*k8}SM*o+)sk0^|
zVWo&jS?rFxude<7%Cf>m>EMbm?l6V<?Z+4Y-_E>rx6ksBe>HsTzdZg`C*I{YbAygX
z`No(wBmKJvw<YfHzmO)pFR=F4ze6Ehr<5mNx07+IG`S?3$6NcWj%l}S&i11mj+KA=
z+wA^w_sw{w^pE at JEMQ2hmbgZgq$HN4S|t~y0x1R~14DCN14CT{(-0#=D+5z2LrZM~
zAj6>3<wPrrhTQy=%(P0}8h%I?SOPV0fNaP~OiImRu(R82THXN^WAJqKb6Mw<&;$T2
C>*sg?

literal 0
HcmV?d00001

diff --git a/themes/landau-hacker/static/rulkc.png b/themes/landau-hacker/static/rulkc.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ae262dd97b6e6db38463f1433cd8dad6a7d1c32
GIT binary patch
literal 8749
zcmb7q2UJtrwst(A2#OFu5NR3&L7EilRYFIpp%-ZZ>BSH_Sdh?-)KH}<gbvaI1QqEe
zC<0QWLPTmLG$BI%c+P*{yYIZ?9pmjW=GY^9XRkHaEZ_X*+B at F(whkl1MFs!>z^JDS
zHU$7ql>L&^r>IwK-mlb9PqgkDw=@8N`qVQ&ola73#@^M`G}hD9yyPF~2fgd<1^@^l
zBavMO-Rj&uj%H<`42EFlfPUlrs)q^psvtr)V@*X~uHFe;k??r`q_kC at q2?rAw5SD-
zT^<bPf1dU=-=*UdUrN7$1fnE_Um~_XwK5SmRW=t++-w{)Z at hZ0Jjc!TDZONt<9V7|
z=IaP%=j`<C3S8N^a7apR_>Ui990coy<zsFd{nxHBMpsg#=j#x12zNQL{B6~M><od}
zA9*2fo}FP)3$zbDNDdlsy6^rt*&A9QZz!6HvD$RDkTw6p`2|tznJ%$pXCdzwU{ML1
z#9obds(V%~8kGN4=&99PmiNq;OHvrnb<AZD{vPn-JyzahU|*qNmSGLU1qF8FhYSN-
z4=JySz9V0D(sS7i0i6=fN0O&#gYR2(H+QA_w8Q at RQFvdZda?G#{f}2yl2h0f{<t~&
zst2Z%wjVRZbLWR%*4Y8%PnlR}V2E0Y-yn@<i#jD|);65)1(SLvMt>ea7xyY8zF|sb
zVSZ|Uw#$9y=m at a=DsU#)xHg*Vpi|BUI$-LVdK_rB|GGl&uWKDdb?MYEIdM}cH-vhT
z?w;N)ExOe|n3+$|i%EBg0|1u*dSDInkeQA7&^)%?e99K?Mc8BV**`$Mr$K>XG2qJ%
z8d~vi87N0|uB%*v$<&RlEZW!=wC7miVPdZG1CB3EYn(8eobmwv%1?|BUM0maJP-=J
zwtwT^)bf7Zt*HF^%CMS(mCaBUzSIMkujCEC$TeF$8V-X^yv#w-0{|yqIh_Uo9<lr>
zF~)xYehITa;7_?p{R36hg--k_rv(6jUs6Q-r(8-006d^>XHVEjK~(g>itPRzEjiN>
z&1|Oyp1HN^fNu+ZI_?}5ylL=;p!7c;`t{(i8DTwQpM~zCXLP{MKuCeacZf#``Uo_b
z2Hg|3y(rL#%Rxz=75Z#Ea|JYS5OUr!*P5?cM*n0M at i+Ru!kg_mJwpUr6`0*LF}ede
zb=l?)l$Jw&=>M{)UyJ*t-(NZ!zlGuoRN%{_`FycQbN=0oesZNpTZ?@X2+!!xZ({u#
z&W}A!m!ws1ElE*C-y-jAq at EK|`-0&ADqDKw&>6Pjg~uL!uOq2O9<IBI#K8ZjS^s5P
z<`mmE?}|G~gCc(1un#6a-GlC<d2Q`z^tB!9qB9a5V-~dzotJj1Z~+gjL^Byg9I+7x
zH6pbgQZJ9Nkz~P=8GLKNA{NQ7lj3YpY+jDy?2akUe}!fYJ4)eEQe7V_>W--+Rn}lu
z=Q*XJ5lU4*ljRn&mBMzunXR?|92^{M>we65Ch~|nNM^_PH)p!v45ke%&5%f>1z_Uo
z;Up1|&_zRw-#9QxU!5l6=X)0=@`lZBSfpcD;OjRVNg!&(B!eIaHgQe4Ukgo%Q-0HA
z_L9>-qwTOX{}f!tmUApA>^{>J<^6$oI=oobs*dOuiRNUbrp3HE(q<oRxFVeK>j(IO
zeb|+Ka8vZ0(=6P#G9uEz>fmt1af21P;H{U=fHk7;QMu3cBT}Eq;rgd;7p8L*)v_YB
zX|-C24%f8ZT8mGHxb at Zx(iqX~FoKM2;!uI~><bsUUbjB+e at _5)vqf_HSn<gXOjTl&
zUzc1}1b&pqQGpQ7A!kW3t+2>--cX7aSJSm1vQhPV#A1B$lmpzoc2PU^+>vS-Iu|$F
zLLA!dleMHcZzzf at Y_>FNb{SQ4C!F^p6dil(rk at qZpZGJ`{+4j%BEIxG8fFtwz at BO?
z*So4&d}|?Ns`HqYM(C`DQt))fvLu_d?SLUo5$%#{Hm?|HB<vM;$T<HCneFS`ldq<f
z+Io#4;knZ`P;Q13zfC1TOmR<;zK1MYQ5y`^F+V6T8nWt&I<iy=-}`9+&N$&s|My`2
zcZ|50w45FTnr!jIJLJmwEwEYe(rS#A=%f}X<XEH8wxB_rY~w+aEOli_?!EvFY;95n
zlwQR?a__7B{RgP=vnT!pp}zr9jN%syqorhYfdt3_oDt4hR{XsVEshW>^ngaYWvdGn
zjlo!vpU-N(Qxen(wS0U!Id%yCCwl!W&3<Y4%b2SPwr@;^_l$C7H;&2~>@oKgY6O^`
zpjThs9sjB|(RO^emMYsQZg`dLZQc!OmkUo`(0obNT0$y|JJ+I`oJzSupf(oGmoxNt
zz13OOt~b8m)RQ^&TW1xR{bAE;Qlh;v)8IDb?nE%i65n8<)zHyqc*GLZk*fsv#g~)B
z?J?#)v&}xI`D35I`Yl#kT0T2Y)7gCiA~hne&4Wvgc-voDTFTtFnPYJf262G~iPDYk
zoO&Nl;e?AWhsF2%KQ8Lw$~mUrX3=~!^M%Cok4D9O$@G`WmGzm4h#+sY_ at Vcg#6(zu
zoISc<r!<*V%#RM13%kx+ at TT@DZB4Lyh$<^59vbmZFaS}e_$fGX;pixtOO6+(%ieN)
zMDFTz?ny}FN6&dc;ZmmMjK4JsHG+?>8qxUCONfZrhEH0%N7~`1TCRztk!w14cFGl1
zu;Fd;gz9N4M*qcRxl!w8Z|iRXptk3pj<X*Mnw<!Eg{tu!;@$>E^&W5hh{|W|Nu2b1
z=Fgw4WlCJ7rpaYl4y*Gqf_oM_hoFWx8YQDw(=UE|O~<#+zU#j(p~JH`O3+M^7j8fz
z%<$^mDVjgHey?c{*ktVkWejFQn7!t>_MEU`6Pp3&jc9l~1M__660%m^GCJMtW6Nw2
zH78kJ9p=|g1(%Bo&%Mc?Y4&i{L=rrba}9In4I=uCh}?Lp&YT)W3#wE^%hqwc9Q9rV
z9kE5z)v~n7Q$(P-sv@{?&TqPiEwwLIugp}Xd(biT8II27_NszBCgV`;A^z)jdc?u~
z?UK4core_X=Plg-2~Ca92qwwvgKzq^sV;vU#aGyMktYtDyIkDI0?0KV5D_&GPgZyW
z at A8;9y+GU(n(*;}2I5rqhf~q4v>KGJ>n^#Y at 1OULeQ0+gOoZnxy{UZc$YN3O^rPj~
z1vTQ0J*%7a0;AyQGH1)!4E%0t<nj*Lf%NjQS#3LGBT>BV^LR&%rYCXJ-lT}_%6{#6
z<Ou<8{or}nRK8Vzq$tsYpGk at Typ2PrSY5TqAmxI^rq%V-&Zc|*2j~8YYpB}?7|7?`
z${Lk?0TZdNBCfee-b(1-5(_<BNj>n9`|}x21P$hF#MuPT5+AN3A@=dH at CGF~qRDqs
zdf8$U<Kkz_ZsDspO*)>q`e<R#SGZc$srNz8dcY$V=9MJYS*F=`|I;+ at 0A7<-)Av>@
zUYzsR<>EUERnO975+|C}(N#1D{(OhW^Vt+s$=XIZu6?I_#ADrOD9rmG9B__p+qx{F
ze6SgD4Jv4VL6}OZNHy>mlTwty&-vYhG^|_-E+=SWzbL$O{w at ECai)T>*vB{Y-F!FR
zNjec!9-q|NyI3&C9Hu>P6DOT;GHP-KVKp&!q=4SNQ%Z$EX6`GXxJSHWHUopCl=sp<
z3B9M;;{qQ8w1PlA%ztsWzn2q!UwXgS53;v|+ at qhI7Qr`|*Uoj6PPDukWV*-_0s97j
z`htz5c&_yx<&?nyrj7*Jw`)|et`6 at WtPR;*yd@&*&BJW58M=^@>x;R24|}Lar7mvn
zg^|H=b);Z|n<G{#>W&{&`m_LBCvbn*kr#5j at Q9UYS^wIJKyDt$yXn|>F7D&2a?*!|
zNWN2g^o;q{wk=p&d;3T$tApNTE=xiqr9F6KhOg<Td0>}Rnu&gE1l_;!v;ShP&uUr)
zxQooaF^CQp3oJaXz-E_^P`x%AMdoeZ?+;3Q!LfZ|KAhMYr*iyb at eFC=xIiU*hW+q@
zxAo_aJwo8djNK5E=_tq7Z%s}FNdqdQX!%$|FTh5PWPGCXNAcD$aBOy-IeyP<0#p96
z&jXK*)bX8pxzeAhY!qAroAD;URcM}8ywl+K_GsJDEme&1KZHigq4Ysz`FhPhr- at -$
zgmR;IxK(IqIQ?PXd<RZ4A3m(nxLHW)$&ba*V_pWELT6N+xdvwBTr8IxncC%MDxqOU
z(&xINz)&PlgUp|7?`z%n!Ot$k at 1~2=qy-BL{C#$T2kYI%;Wm-k2|rW?%sM^ZMsB;G
z-<Friz7E1C{&@X;g{U%;r0w$Qw^czwK!z{vhTviQnDlcgVcTub>AH at Bj0{_d)Jg}N
zjfR_BJyT=CtwAF6gTA2jMIS6FkA-2PxH45u(XBp})RFzU4J*f>KK}VXOu$xkR8Qim
zcU|owwI#V4H^(ARG0@?JPXHKB{hpWnD&~JL=zk08|7P$16&?RZC1RW{dzk?OzAJT2
z&hOLitLLLS1T{1BP>l`~b#Sm77 at Umn|0KXlF8}}u64uwsIjRXA2N(yied0tg@|RQD
z&i->pq;9{pepB2a&Rz`K_c*h1G)=>R7y8V&&Rj4-PwCVjyV**GiTx{&OfO4vUM=PT
zr^BI7jK at xig(5W6>;J(IF~zUv;eZ$qh^9oms3qss=Y?@uN)T$-^z3scUvz1CO+pP@
zQu^hLZO}D4^VyyNDs&oO{|8I_)n^6ipS%f)<_BfT1jz-XrpHdz^mzb7WptXxN4#$p
z^lhsG6_knxy`XzIg_#graG19FK_}{{=JeOeTJX{;;#whU`tGf<RDIxGJ`)1Fba>tU
zp%5Fe_EIRsPCDFNU5L;_rzxkCnX7#H2pSh1?>NgV%~f%AUaQnkI<+ at N+oQxsY_g<-
zezMFxB}%kbiz_Zsmxv(MXh{vVv%i{S0j}_ac=!j~W!^}gyZZpP0lvqqf1n(#B-HQ`
z+4;V?PqddFKuX2^|F)63q<=N4Y>b;&5neB?rFvzFZgZGdiXtv|+EkWKs$%sLu<epg
zlQ^gtNZ9tO&x=<;-(y3{ZFgYk2;cfnNr$(3$U01nZG&MEZ_AC?Gq#XEXVE!2LQTq*
zBkNPQ{QU<Y1T)!_4e}OX-$dm_$)SnfS}$Nk+ik>c$;PSej?_7R&=lA_w5wG%Ut0I=
z@#VlmzL!gmIaPA&27s6c at w$%zf3Ia!KWF*_l8fxX%}eFuP2fowJOwsCdhb$tL*>P=
zx^hMav8il+P#XX2X>ZnXTCsfeC_7RT2<b&xPi0<bhwgO+nJXl7Y6`h6e?vJRTD at JL
zk$9N3boi!C4kZW}1IPLN?>T?9v+6us- at UgkJVWD_LOJz-C{)R)l6S(>@kaI_uM~t~
zsu0Bx9Mx~k{;aHffgOn~B6!Zb`Ma5)(P7r_|4KEZC~oMZ6Z?UiqtLAlFUgkYxzi$N
zAwVf%R-{#kkb;fwJmI%lp85StJp{ZkWU}mfaJaW{-3z=_f*`4Y0#!BVzpNwY9N)dy
zf#4E^@OPjF7xZ7Q8`~(ZdrB(FzMRW at T^#7+(PpC$-V}M-bo6R?Gzt9-Jp^{W1I}<C
zS?4ee|4>)M9%LYJXmDKMd_hA9l_yfnq5Wu-RVrlQmNyh2bS~ogzqj&#g26M7?|Cc$
zwnlUjK2_9GMaNu~NldQdO8OHHsO<GH-&GDYMxc1`wzN_b5}es~L$Gfy%mmW+)uY5q
zI4Kr=tPMV<-e!?js at 79%{P}}l3kJCtm+v?9OpB=fp*7q1W+RU+xKw2OL};B_-`q8U
zjle3etIsu$wov~avj4WX5`+1|{wb3H1EMaN)SzbsbhwOiri&4z^9q at lK_oLsrwVQj
zV+JlR82JGP_ula5beDY{w&V)!5|3$XlAj7T!igo9lOCW(lC5xM=o~NK{Bhb@*Iz+(
z3B(lCD%@jyc;{o5!d~xHH(f$3 at WwIn)=#+7ZigKVdo13fn;0nS0u#&Jibw2>Y_B>v
zL!*bcrL<o}XWK#zyz1xS2;Dx!H7;uI%m#`sG6D~77g+AwNVn%!FG%5qVTq#2E2^@W
z0qN&d&HmSpk+Dq3?FxVIr?rLo^xImjyNhYu1SKvf&cYk7!`3|?$xb44CFee)*7gp?
z6q?uEpHgghw7?dLx?}{YI=L=M!c#Ji%QHO9XBu6!oH+PnERfoABuDKC9JZ%3q~xH^
zdlOYJWUfUn^ho&+7?RGa>!B6*EQ^D6-d_G`#@X=$VQS;{8&3bLI%riM at D^16N;zqH
zW$_W<yIg9 at ndW|cM9tV6Z^C6%%!YZ-FmdY*e(GsE+&`7e4A7_hO-cFy*@_-;oEUR#
z;550qDw_T}(OsHZC`6MTk1Xj0mNgId at aSiBAI6u6pxVm0+7l%K46MHyiW(R(#S;-Y
z;k(`iw6AY`4!A1}MDb4djtPjAt$y_Sm{dMnk!_LC4?9b19P(i}$q4{pd#k{&`PW|6
zU;9=6RPp|)Wad~kMixFLlH)2?zk9o(G1%hbFZs?FUV%Z9qXBv6)2<pFmm8D6g)YRp
zxw&Qh`dP|byFrv6jR{dcUN%MT#Dl*ShbXI7*0}X7P1^dYTtOM8D1Q%UrX?%m!Yd?a
z3Z&cyg{0Sz2Q9tcUFORc!lR8(!(No4U!bO|ywx<A-zK^NM%LraufeP@@0&o}Pigo&
zbP6IC?YyBzS%Z%XsgLVHWxWQ|h50=*Z{;iQUXacugf3(|JK|iW6s`ponodx>tC}BP
z()}>!4%vN|8FhVExwa5BqJM>Dd8r((9ag|7_<%tu{T!mlxeuXB9Oi>WzTH29VTt?V
z4<xz2VK&9e6g9qV{onz;uRY0a{Jhk(B2KHcWjVCb;7+?rZoSb_xXVig*y;x?mRKv@
z*zUF22o265lGj+`--f=w8CuX{3J&XA-0ET$+qImW<H=SIC6Pq^d~mEthuE<$JG&`+
z%hj~f4^xsz-8oTEHDs4*D<r~)-lwH$<zZPZIvLjSjUYc-<Gr{Px*(RaSmirF_kqSG
z1$0i}SsQA47rolMxV4g`{cu6pkOiri1iqaQ20PbVxj!yOXb$X0noNjLwRf2w1TWc4
z!HA<jW<!9X%0nl<Mc}rN+1_i9V8&H&xlhVA*Fb^#y at i6Y_HPWXu&|D-H|IpdxtCiL
z5)!mHm3HRQVUO1^4<qn}BA^$%LS_>KR4qMOdF at 6a6T?i^@b;Qn at gaFbX5>oES^|*_
zkMD<Z_TXA;!mYLE7eEb@!{U3&e$f8CqX1>z=qpELGN|DdY`zd$LC!&V2ixzzKQ&q*
zqUB1RgD$au2eFl1j6QGuRVNy^tvc#K1OhqNF`MyNq69N?m at 71D6SL_jJ=0+bDdbcN
zUXRIgj0){QxJIQY&cfy;tq-^A(8pJXrb90iThus^c&PAU^BRWALCJ97fmWDZpJK}R
z!tinSab&`B=y}e?>)H?|JLjX$HO!RzdKa<1COjfpbsdOoUBgi13 at DR{{WLXew{KI9
zlMwgd_WSqn`&o(olAPqvkgbrP$D%&#?8sow-O+(ydZIcXWLE)*ymWd&pCU%U_*QAp
z!-v;hsHV2e40d2gdQQP`5<SM(25jG`;I>EBX(2~WBYZ%G@%^J*sZ|GRCM`~{qE|if
z`(0a?yU-ZUjg5qlmx&Ayo<%lOqqtQNscQ#W6o@;-QeL7}^R1_bZ9)s+erCyqXz at X-
zy~QT^@5&`;#}5~l;SI_5JPVzM<`d^pK0mN{B^6cNWA1OBVy7QaT%bB-<cm$dO!6sd
z3 at AQ10hah^^w!g;71hylN#6NLJjH%w&oSzNpk#id+ytIUBpZ>jc##r5qsmp1_tAG{
zq8 at G=YZ-HYM+vyX+rW2xg{oFs&3-mID#IkW0F at v13EmfAiY2P~Us^KX{gQ;?ioi!-
zE7 at 3~UfKwCpq#oFX&kmNZ|zdJu^hUvVZE0Xtv}VK+7|_ThKt`R^fjbx at P$O1s}s|I
zWswH+I(kdIxC=2%^|p6z7_WI>_Ov_I_7$Q^gFetn0T*kUk at W{uoKZDswJ%5GThj!2
zQz=H;;kNwes^%e0Ql)$b!=kf$-zw04uGmCUB*g;K`K+Q@@2k5m6`?Gl!2u~*J8Vb-
zb<9-GNUR-r)B9C?&(I2v9d`@Q$bsk=f^6J{`eACwQ8bp at qCo33pV<%oNYt$$d%0Oz
zJ5Jiy%@?D^IgkY at iyfH<p%p|j#S_Zk_!4gqws7C;-tK5LhuMg-=jNFZ=|H5wemk_q
z#KFms2u^pXL~PRh&r7Fgo=10 at g9Z7l<na5HYoK;&&N8mx?SXAV_VAa8dx?FEQ)SD`
zjL_h_%DfaO%%(rEO at ck~#?sdmixq_<JXP`WVOBOECz25I-8-y(*K7hGcO&f1kupw6
z6S4^1<Cub}ovy$dL(&SC^FN0!RB{F_o&~nugvcRu^{{51d&W|YYEwU%Cx;#G+3(8$
z53V!O&Bepyud7bIf_qcrod63NSltPexb|Fc3A0&&%HrZ0y6;}{K1+m(ESgg=Iz&JD
zq%!x=_^f|uvSdzXHR)r$OLX9Sy{nNzLRS*)rc~^~sy at Aus~7S6(WU6<Go=+~FZLi4
zM#JlNQ!s-)RNc)VhAXq6z%oPxZg`XpC at dj?zYOwP?KE|Bv%HcvP>&_@?I*8gq--}*
zF=<NbTtv$)l$6^eA~_Wr+P51QqP%(Id;TY*k at a3tEgJ9=&mIM;#EBUW$aA3LMvy)H
zPRi=k0k%tY2%qZt#n*^&rBBk^Bs~F2F&u!+!$;PQpnK_y at -BlzL-1QUGIwuj&g9A5
zeec;9z>er&&!HBhygc12$D5{BT3S8f)2lhw)*xgn_Qd at i7wNV9Y9HYA>m4uEdMob?
zH1;Z}kv0D9uGw=#1 at Yp;tCwf}F^lrGa!xH-k9QU~sp#NdnfdYcbU<c&zde>nv84{A
zdip^kc&VnLp~1)?wDZiDO(ooRK|3MS_MDMmTID_w--VW(F{B%j`+=oAK;`EMaMuo*
z?z=-Rh+JofhdGdHk6v~@ny;BOU12RZcagO*G1;;Rvt2)rEFZ#1U~1OlIukwL1cbbS
z&C{KE#^>?J`Sa(u-){%CqhM at EBm1chv(;J5olR^mb;%c}U_6i`6p<`3Ny_iPG3`s(
zi=;48)v0phVvWT6HNeHN#MImSp%>co5kzv=a5Llh?AL4f{T|r-WX+l)bT1OWFM!mI
zXhGtuTO=E)l`-194_mvVOl&!M{qY1f<v31`F>NUm8=SM at 1<Uq%1#mi!{wV)Xz(nuu
z#x$8v&o3_s-*`ezFK+kp<xnpbT)R|>#{(4Oma?CAFFvetm9}ClDIUFW8T3#EH;W>O
zZS`p|n<w<Qtze=h8-1uD{-jJP4(ip_Y`*(^r%@CYiItg$YO$uSF?sFqkBj2A9r~9^
z_EYw2<YQWhN}INtV#R7#LjTK)_hqJs4-x(NUi@~48<uEv`oX7g>dD`}<sEM at jC)yF
z+LoF<V^lXOG0iEwKzHfl8I<{lysl}vVi7+(=w(0CN-JF}<vU}(TO9$vLs}Z(JHV>F
z9v-ckW`fL1fD(rW2iaW<)+<-vO&?aF4P5F!l0l>r!3*tc!&OF5HS^u2ojFWNMQT8`
zP1B)2<@kuz9QI&2RN8z3?0O$H!bm at MH)YXVt}z$9q$eCOa&UV^1ZbV-M$_R6^{ZU%
zA6}NRo67fvK1cIQM+LuNGECHR-M){Z;zKCJ-mYZxej!|nk{dt`VGxxKj95$s<f%}L
z2IRRP?&o7FX?ujI8t^s)V>5iW#efH*E>{oiJm=~&obnM7V=?s(S3nz at y)LC_UY4zy
zWKhGEE8k?@XCJTZPMbE0b}m$VCT(Tz<ljvk5Bj1$t7#7N8`*-}!!hV!*~YMW*C$aw
z at 6@9=YXT~ks;xx#I?yRHjkh^xzpL@|O+WFObFTj=It9azdO(v=6MOTM7SwfZjJ8{e
zHfw^}Uzk=z-sr7Sv{j=bV<a_r4M4Y3CKGib{P}i<9LRGw$d?=`O#Le;O8f$BUafo;
z{Uma&mQ#*f>^82E#v;f1tJ}|AkSVHwqjK0=t5<pY3MafWXWExK$3b at d8iq+RrLjyq
z+O}-UEh>zn`2BDK)Btkjp31iVmj9GMAdue&d4+$tun at 65;#is$>4A~xwx7zU?r1hV
zAsja%)?xN7OEh|5u-H(y6d>l!C-Sj4WOtmxjiSC?ig});dxhGa&jsYgYcNNMj`&v~
zsc+A at e^Ao8!LC|ggED^Y*9=skbC2VyEMK<5mZb#%>P7w+{`mXbR7(xw6YA#yjK97G
f`0Lg94h3+k$F_;1I5wDi1E8mM8(eeq&V&C4EVA$x

literal 0
HcmV?d00001

diff --git a/themes/landau-hacker/theme.yaml b/themes/landau-hacker/theme.yaml
new file mode 100644
index 000000000000..008f010b397e
--- /dev/null
+++ b/themes/landau-hacker/theme.yaml
@@ -0,0 +1,15 @@
+name: "LANDAU Hacker"
+license: "CC0-1.0"
+licenselink: "https://gitflic.ru/project/maquefel/landau-hacker/LICENSE"
+description: "Порт темы Hacker от GitHub Pages с доработками для LANDAU"
+homepage: "https://landau.one"
+tags: ["blog", "dark", "minimal", "technical"]
+features: ["blog", "news", "events"]
+min_version: "0.112.0"
+
+author:
+  name: "RULKC"
+
+original:
+  name: "pages-themes/hacker"
+  repo: "https://github.com/pages-themes/hacker"
-- 
2.48.1




More information about the rulkc mailing list