first commit
							
								
								
									
										6
									
								
								.htaccess
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | ||||
| RewriteEngine on | ||||
| RewriteCond %{HTTP:X-Forwarded-Proto} !https | ||||
| RewriteCond %{HTTP_USER_AGENT} !(BlackBerry) | ||||
| RewriteCond %{HTTP_USER_AGENT} !(Windows\sNT\s5\.[12]) | ||||
| RewriteCond %{HTTP_HOST} ^(www\.)?lukaskanka.cz | ||||
| RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L] | ||||
							
								
								
									
										674
									
								
								LICENSE
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -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>. | ||||
							
								
								
									
										7
									
								
								README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,7 @@ | ||||
| # [arrayinamatrix.xyz](https://arrayinamatrix.xyz) | ||||
|  | ||||
| My personal website or something. | ||||
|  | ||||
| Clone with all submodules: | ||||
|  | ||||
| `git clone --recurse-submodules https://git.arrayinamatrix.xyz/array-in-a-matrix/arrayinamatrix.xyz` | ||||
							
								
								
									
										22
									
								
								error/403.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>403 Error</title> | ||||
|     <link rel="stylesheet" href="/style/style.css" /> | ||||
|     <link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">403 Error</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         You do not have access to this, stop snooping ÒwÓ. | ||||
|       </h2> | ||||
|  | ||||
|       <a href="/" class="btn">Home</a> | ||||
|     </header> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										19
									
								
								error/404.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>404 Error</title> | ||||
|     <link rel="stylesheet" href="/style/style.css" /> | ||||
|     <link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">404 Error</h1> | ||||
|       <h2 class="project-tagline">Requested page diverges.</h2> | ||||
|       <a href="/" class="btn">Home</a> | ||||
|     </header> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										20
									
								
								error/413.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,20 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>413 Error</title> | ||||
|     <link rel="stylesheet" href="/style/style.css" /> | ||||
|     <link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">413 Error</h1> | ||||
|       <h2 class="project-tagline">413 Payload Too Large.</h2> | ||||
|  | ||||
|       <a href="/" class="btn">Home</a> | ||||
|     </header> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										22
									
								
								error/5xx.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>5XX Error</title> | ||||
|     <link rel="stylesheet" href="/style/style.css" /> | ||||
|     <link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">5XX Error</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         The server is currently on fire! Please check back later. | ||||
|       </h2> | ||||
|  | ||||
|       <a href="/" class="btn">Home</a> | ||||
|     </header> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										69
									
								
								index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,69 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <meta name="Kankys Matrix" content="Kankys personal site." /> | ||||
|     <title>Kankys v Matrixu</title> | ||||
|     <link rel="stylesheet" type="text/css" href="./style/alt.style.css" /> | ||||
|     <link | ||||
|       rel="stylesheet" | ||||
|       href="./res/site/fonts/DarkNewRoman/stylesheet.css" | ||||
|       type="text/css" | ||||
|     /> | ||||
|     <link rel="icon" type="image/x-icon" href="./res/site/icons/favicon.ico" /> | ||||
|     <link | ||||
|     rel="stylesheet" | ||||
|     href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css" | ||||
|     integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" | ||||
|     crossorigin="anonymous" | ||||
|   /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name" style="font-family: DarkNewRoman"> | ||||
|         Kankysův Matrix | ||||
|       </h1> | ||||
|       <h2 class="project-tagline">Vítám tě zde! Na mém rozcestníku.</h2> | ||||
|     </header> | ||||
|     <div class="main-content"> | ||||
|       <nav> | ||||
|          | ||||
|         <a href="./index/socials/" class="btn">Socials</a> | ||||
|          | ||||
|         <a href="https://lukan.cz" target="_blank" class="btn">Blog</a> | ||||
|         <a href="index/project/zivotopis/zivotopis.html" target="_blank" class="btn">Životopis</a> | ||||
|         <!-- <a href="./index/games/" class="btn">Games</a> --> | ||||
|         <a href="https://publish.obsidian.md/kankys-note/" target="_blank" class="btn">Digital Garden</a> | ||||
|         <a href="./index/about/" class="btn">O mně</a> | ||||
|       </nav> | ||||
|       <nav> | ||||
|         <a href="index/repository/index.html" class="btn">Repositáře</a> | ||||
|         <a href="./index/project/" class="btn">Projekty</a> | ||||
|         <a href="https://testing-docs.cz/" target="_blank" class="btn">Testing Docs CZ</a> | ||||
|         <!-- <a href="./index/apps/" class="btn">Services</a> --> | ||||
|         <!-- <a href="./index/projects/" class="btn">Projects<sup>⨳</sup></a> --> | ||||
|         <!-- <a href="./index/webrings/" class="btn">Webrings<sup>⨳</sup></a> --> | ||||
|         <a href="index/privaci-policy/index.html" class="btn" | ||||
|           > Zásady ochrany osobních údaju</a | ||||
|         > | ||||
|       </nav> <nav> | ||||
|         <a href="https://git.archoslinux.cz/kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-gitea"></i> Gitea</a | ||||
|         > | ||||
|         <a href="https://www.linkedin.com/in/luk%C3%A1%C5%A1-ka%C5%88ka-b2a0a1a0/" class="btn" target="_blank" | ||||
|           ><i class="fa fa-linkedin"></i> LinkedIn</a | ||||
|         > | ||||
|         <a href="https://mastodon.arch-linux.cz/deck/@Kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-mastodon"></i> Mastodon</a | ||||
|         > | ||||
|       </nav> | ||||
|     </div> | ||||
|  | ||||
|     <footer > | ||||
|       Copyright © Lukáš Kaňka 2024 | ||||
|     </footer> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										
											BIN
										
									
								
								index/about/img/qrcode-paypal.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 63 KiB | 
							
								
								
									
										137
									
								
								index/about/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,137 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <meta name="Kankys Matrix" content="O mně." /> | ||||
|     <title>O mně</title> | ||||
|     <link rel="stylesheet" href="../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|     <link | ||||
|       href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css" | ||||
|       rel="stylesheet" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body style="cursor: url(../../res/site/icons/archlinux.png), auto"> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">O mně</h1> | ||||
|       <!-- <h2 class="project-tagline">The webmaster.</h2> --> | ||||
|  | ||||
|       <a href="../../" class="btn">Domů</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|       <h3>O mně</h3> | ||||
|  | ||||
|       <div class="obsah"> | ||||
|  | ||||
|         <div></div> | ||||
|         <p> | ||||
|           Jsem IT nadšenec s pozitivním přístupem k životu a vášní pro | ||||
|           technologie, ve kterých se neustále vzdělávám. Absolvoval jsem kurz | ||||
|           testingu a SQL v Acamaru. A nyní se i jako tester živím, v budoucnu | ||||
|           bych chtěl být Web Developerem. Můj životopis najdete pod tímto <a href="zivotopis.html" target="_blank" | ||||
|             class="tlacitko">odkazem.</a> | ||||
|         </p> | ||||
|    | ||||
|         <div> | ||||
|           <ul class="dot"> | ||||
|             <li><strong>Ve volném čase se věnuji:</strong></li> | ||||
|             <li>Svému blogu:<a href="https://lukan.cz"> Lukáš Bloguje.</a></li> | ||||
|             <li>Linuxu, MacOS a Opensource (i si rozumím s Windows :-)).</li> | ||||
|             <li>Seberozvoji v oblasti komunikace a emoční inteligence.</li> | ||||
|             <li>Sportu, který mi dobíjí baterky.</li> | ||||
|             <li>Missing maps pro Lékaře bez hranic.</li> | ||||
|             <li>Mapování v OSM.</li> | ||||
|         </div> | ||||
|    | ||||
|    | ||||
|    | ||||
|    | ||||
|          <div> | ||||
|           <ul class="dot"> | ||||
|             <li><strong>V osobním životě se snažím vedle komerčních aplikací poznávat a | ||||
|                 používat Opensource.</strong></li> | ||||
|             <li>To to jsou opensource aplikace, které používám vedle placených | ||||
|               aplikací a stojí myslím za vyzkoušení:</li> | ||||
|             <li>* Alternativa za OneNote od Microsoftu je aplikace <a href="https://joplinapp.org/" target="_blank" | ||||
|                 class="tlacitko">Joplin</a></li> | ||||
|    | ||||
|             <li>* Pro cloud a tvorbu dokumentů k Microsoft 365 doporučuji <a href="https://cloud.arch-linux.cz" | ||||
|                 target="_blank" class="tlacitko">NextCloud</a></li> | ||||
|    | ||||
|             <li>* Pokud potřebuji šifrovat dokumenty nebo jen s někým něco sdílet a | ||||
|               nechci sdílet s NextCloud nebo OneDrive použiji <a href="https://cryptpad.arch-linux.cz/" target="_blank" | ||||
|                 class="tlacitko">CryptPad</a></li> | ||||
|    | ||||
|             <li>* Náhradu za Jiru může být <a href="https://tasks.archoslinux.cz/" target="_blank" | ||||
|                 class="tlacitko">Vikunja</a></li> | ||||
|    | ||||
|             <li>* Mimo GitHub svůj kód ukládám na <a href="https://git.archoslinux.cz/" target="_blank" | ||||
|                 class="tlacitko">Gitea</a></li> | ||||
|    | ||||
|             <li>* Pro tvorbu tohoto blogu vedle VS Code používám <a href="https://brackets.io/" target="_blank" | ||||
|                 class="tlacitko">Brackets</a></li> | ||||
|    | ||||
|             <li>* Jako RSS čtečku využívám minimalistickou <a href="https://rss.archoslinux.cz/" | ||||
|                 class="tlacitko">MiniFlux</a></li> | ||||
|    | ||||
|             <li>* Správce hesel může být <a href="https://bitwarden.archoslinux.cz/" target="_blank" | ||||
|                 class="tlacitko">Bitwarden</a></li> | ||||
|    | ||||
|             <li>* Internetový prohlížeč <a href="https://www.mozilla.org/en-US/firefox/new/" target="_blank" | ||||
|                 class="tlacitko">Firefox</a></li> | ||||
|    | ||||
|             <li>* E-mail klienta používám <a href="https://www.thunderbird.net/en-US/" target="_blank" | ||||
|                 class="tlacitko">Thunderbird</a></li> | ||||
|    | ||||
|             <li>* Alternativu k sociální sítím může být <a href="https://mastodon.arch-linux.cz/" terget="_blank" | ||||
|                 class="tlacitko">Mastodon</a><a href="https://element.mxchat.cz/" target="blank" | ||||
|                 class="tlacitko">Element</a></li> | ||||
|    | ||||
|             <li>* Alternativou k Instagramu může být <a href="https://pixelfed.cz" target="_blank" | ||||
|                 class="tlacitko">Pixelfed</a></li> | ||||
|    | ||||
|           </ul> | ||||
|         </div>  | ||||
|    | ||||
|         <div> | ||||
|           <ul class="dot"> | ||||
|             <li><strong>Kde všude mně najdete: </strong></li> | ||||
|             <li>Můj profil na: <a class="tlacitko" href="https://www.linkedin.com/in/luk%C3%A1%C5%A1-ka%C5%88ka-b2a0a1a0/" | ||||
|                 target="_blank">LinkedIn</a></li> | ||||
|             <li> | ||||
|               Můj profil na: <a class="tlacitko" href="https://git.archoslinux.cz/kankys" target="_blank">Gitea ☕</a> | ||||
|             </li> | ||||
|             <li>Můj profil na: <a class="tlacitko" href="https://lukan.cz" target="_blank">Můj druhý blog</a></li> | ||||
|             <li>Můj profil na: <a class="tlacitko" href="https://testing-docs.cz" target="_blank">Má Testing Docs</a></li> | ||||
|         </div> | ||||
|         <div> | ||||
|           <ul class="dot"> | ||||
|             <li><strong>Budu velmi vděčný za malý příspěvek na provoz mých projektů:</strong></li> | ||||
|             <li>Přes paypal pomocí QR kódu: </li> | ||||
|             <li><img src="img/qrcode-paypal.png" width="130" alt="Paypal qrcode" /></li> | ||||
|             <li><a href="https://mega.io/?aff=xTR_bIiFjj4" target="_blank">Mega</a> můj Referral programm link na Mega, kde zapoužití získáme oba nějaké ty bonusy. Mega je cloud služba s dobrými ceny, která je pro všechny OS tak i mobilní zařízení. Nabízi galerii fotografií, možnost editovat vaše textové soubory a navíc je vše šyfrováno.</li> | ||||
|             <li>Pár satoshi nebo jiné krypto měny(po dohodě)</li> | ||||
|             <li>Aktivačním kódem na aplikaci k recenzi či článku</li> | ||||
|             <li>Kritikou, radou nebo e-mailem pár slov potěší</li> | ||||
|             <li>Také se můžeme potkat na WordPress pivu v Praze, Frodentisti akcích, PHPkáři akcích nebo jen tak na pivku | ||||
|               a jiné akci.</li> | ||||
|           </ul> | ||||
|         </div> | ||||
|       </div> | ||||
|        | ||||
|    | ||||
|       <footer class="site-footer"> | ||||
|         Copyright © Lukáš Kaňka 2024 | ||||
|       </footer> | ||||
|          | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										56
									
								
								index/games/fractal/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,56 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <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>Fractal</title> | ||||
|     <link rel="stylesheet" type="text/css" href="../../../style/style.css" /> | ||||
|     <link rel="stylesheet" type="text/css" href="./style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Fractal</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         Interactive fractal using | ||||
|         <a href="https://github.com/xaos-project/XaoSjs">XaoS.js</a>. | ||||
|       </h2> | ||||
|  | ||||
|       <a href="../../../" class="btn">Home</a> | ||||
|       <a href="../" class="btn">Games</a> | ||||
|     </header> | ||||
|  | ||||
|     <div class="container"> | ||||
|       <canvas id="canvas"> | ||||
|         <p> | ||||
|           Your browser doesn't seem to support the <canvas> tag. Try | ||||
|           <a href="http://firefox.com">Firefox</a>. | ||||
|         </p> | ||||
|       </canvas> | ||||
|       <div id="controls"> | ||||
|         <button | ||||
|           id="fullScreenButton" | ||||
|           class="btn btn-primary" | ||||
|           onclick="goFullScreen();" | ||||
|         ></button> | ||||
|         <a href="./" id="resetButton" class="btn btn-danger">Reset</a> | ||||
|         <a | ||||
|           href="#" | ||||
|           id="saveCanvasButton" | ||||
|           class="btn btn-primary" | ||||
|           download="fractal.png" | ||||
|           onclick="saveCanvas()" | ||||
|           >Capture</a | ||||
|         ><br /> | ||||
|       </div> | ||||
|     </div> | ||||
|     <script src="./script/xaos.js"></script> | ||||
|     <script src="./script/starter-template.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										12
									
								
								index/games/fractal/script/starter-template.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,12 @@ | ||||
| function saveCanvas() { | ||||
|   saveCanvasButton.download = "image.png"; | ||||
|   saveCanvasButton.href = canvas | ||||
|     .toDataURL("image/png") | ||||
|     .replace("image/png", "image/octet-stream"); | ||||
| } | ||||
|  | ||||
| function goFullScreen() { | ||||
|   if (canvas.requestFullScreen) canvas.requestFullScreen(); | ||||
|   else if (canvas.webkitRequestFullScreen) canvas.webkitRequestFullScreen(); | ||||
|   else if (canvas.mozRequestFullScreen) canvas.mozRequestFullScreen(); | ||||
| } | ||||
							
								
								
									
										1518
									
								
								index/games/fractal/script/xaos.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										67
									
								
								index/games/fractal/style.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,67 @@ | ||||
| #controls { | ||||
|   position: relative; | ||||
|   margin-bottom: 2.5em; | ||||
| } | ||||
|  | ||||
| #canvas { | ||||
|   width: 100%; | ||||
|   height: 100vh; | ||||
|   margin-bottom: 0.5em; | ||||
|   display: inline-block; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| #fullScreenButton { | ||||
|   position: absolute; | ||||
|   height: 100vh; | ||||
|   width: 100%; | ||||
|   bottom: 3rem; | ||||
|   visibility: hidden; | ||||
| } | ||||
|  | ||||
| @media only screen and (max-width: 600px) { | ||||
|   #fullScreenButton { | ||||
|     visibility: visible; | ||||
|     opacity: 0; | ||||
|   } | ||||
|  | ||||
|   #saveCanvasButton { | ||||
|     visibility: hidden; | ||||
|   } | ||||
| } | ||||
|  | ||||
| #resetButton { | ||||
|   position: absolute; | ||||
|   left: 0em; | ||||
| } | ||||
|  | ||||
| #saveCanvasButton { | ||||
|   position: absolute; | ||||
|   right: 0.1em; | ||||
|   visibility: visible; | ||||
| } | ||||
|  | ||||
| .container { | ||||
|   padding-right: 15px; | ||||
|   padding-left: 15px; | ||||
|   margin-right: auto; | ||||
|   margin-left: auto; | ||||
| } | ||||
|  | ||||
| @media (min-width: 768px) { | ||||
|   .container { | ||||
|     width: 750px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media (min-width: 992px) { | ||||
|   .container { | ||||
|     width: 970px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media (min-width: 1200px) { | ||||
|   .container { | ||||
|     width: 1170px; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										81
									
								
								index/games/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,81 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Games</title> | ||||
|     <link rel="stylesheet" href="../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Games</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         Games I programmed or implemented. <br /> | ||||
|         (Warning: They suck.) | ||||
|       </h2> | ||||
|  | ||||
|       <a href="../../" class="btn">Home</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|       <section id="rps"> | ||||
|         <h3> | ||||
|           <a href="./rps/">Rock Paper Scissors 🪨📄✂️<sup>⨳</sup></a> | ||||
|         </h3> | ||||
|         <code> | ||||
|           The first game I ever made! I wrote this when I first began learning | ||||
|           Javascript, to be specific I wrote the logic during that time. The | ||||
|           game was only playable through the terminal, now its fairly portable | ||||
|           and can be integrated into anything. | ||||
|         </code> | ||||
|       </section> | ||||
|  | ||||
|       <br /> | ||||
|  | ||||
|       <section id="es"> | ||||
|         <h3> | ||||
|           <a href="./eternal-space/web">Eternal Space<sup>⨳</sup></a> | ||||
|         </h3> | ||||
|         <code> | ||||
|           Currently only playable on a pc, I haven't tried figuring out how to | ||||
|           scale down the game lol. I participated in the Opera GX + GameMaker | ||||
|           game jam and created this monstrosity. The game jam was alien themed, | ||||
|           however I never got that far. Before taking part in this game jam I | ||||
|           have never programmed an actual game nor have been in a game jam. I | ||||
|           learned how to program in GameMaker Language (basically Javascript) | ||||
|           during the event. | ||||
|         </code> | ||||
|       </section> | ||||
|  | ||||
|       <br /> | ||||
|  | ||||
|       <section id="fractal"> | ||||
|         <h3> | ||||
|           <a href="./fractal/">Fractal<sup>⨳</sup></a> | ||||
|         </h3> | ||||
|         <code> | ||||
|           Interactive Javascript real-time fractal renderer using XaoS.js. Works | ||||
|           best on a PC. | ||||
|         </code> | ||||
|       </section> | ||||
|  | ||||
|       <!-- <section id="#"> | ||||
|       <h3><a href="#">title</a></h3> | ||||
|       <code> | ||||
|         Description | ||||
|       </code> | ||||
|     </section> --> | ||||
|  | ||||
|       <footer class="site-footer"> | ||||
|         You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧ | ||||
|       </footer> | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										51
									
								
								index/games/rps/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,51 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Rock Paper Scissors</title> | ||||
|     <link rel="stylesheet" href="../../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Rock Paper Scissors</h1> | ||||
|       <h2 class="project-tagline">Made using Javascript.</h2> | ||||
|  | ||||
|       <a href="../../../" class="btn">Home</a> | ||||
|       <a href="../" class="btn">Games</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|       <section class="game"> | ||||
|         <div id="gameScore"> | ||||
|           <p><span id="scorePlayer"></span> <span id="scoreCPU"></span></p> | ||||
|           <p><span id="round"></span></p> | ||||
|         </div> | ||||
|  | ||||
|         <div> | ||||
|           <script src="./script/script.js"></script> | ||||
|           <button class="btn gameButton" onclick="play('rock')">🪨</button> | ||||
|           <button class="btn gameButton" onclick="play('paper')">📄</button> | ||||
|           <button class="btn gameButton" onclick="play('scissors')">✂️</button> | ||||
|         </div> | ||||
|  | ||||
|         <div id="evaluation"> | ||||
|           <p id="choice"> | ||||
|             <span id="choicePlayer"></span> <span id="choiceCPU"></span> | ||||
|           </p> | ||||
|           <p><strong id="gameWinner"> </strong></p> | ||||
|         </div> | ||||
|       </section> | ||||
|       <footer class="site-footer"> | ||||
|         You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧ | ||||
|       </footer> | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										93
									
								
								index/games/rps/script/script.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,93 @@ | ||||
| let userChoice = ""; | ||||
|  | ||||
| const getUserChoice = (userInput) => { | ||||
|   userChoice = userInput; | ||||
| }; | ||||
|  | ||||
| function getComputerChoice() { | ||||
|   let cpuChoice = Math.floor(Math.random() * 3); | ||||
|   if (cpuChoice === 0) { | ||||
|     return "rock"; | ||||
|   } else if (cpuChoice === 1) { | ||||
|     return "paper"; | ||||
|   } else if (cpuChoice === 2) { | ||||
|     return "scissors"; | ||||
|   } | ||||
| } | ||||
|  | ||||
| function determineWinner(userChoice, computerChoice) { | ||||
|   if (userChoice === computerChoice) { | ||||
|     return "Tie"; | ||||
|   } | ||||
|   if (userChoice === "rock") { | ||||
|     if (computerChoice === "paper") { | ||||
|       return "Computer"; | ||||
|     } else { | ||||
|       return "Player"; | ||||
|     } | ||||
|   } | ||||
|   if (userChoice === "paper") { | ||||
|     if (computerChoice === "scissors") { | ||||
|       return "Computer"; | ||||
|     } else { | ||||
|       return "Player"; | ||||
|     } | ||||
|   } | ||||
|   if (userChoice === "scissors") { | ||||
|     if (computerChoice === "rock") { | ||||
|       return "Computer"; | ||||
|     } else { | ||||
|       return "Player"; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| const score = { | ||||
|   player: 0, | ||||
|   cpu: 0, | ||||
|   ties: 0, | ||||
|   rounds: 0, | ||||
| }; | ||||
|  | ||||
| function playGame() { | ||||
|   var computerChoice = getComputerChoice(); | ||||
|   const winner = determineWinner(userChoice, computerChoice); | ||||
|  | ||||
|   score.rounds++; | ||||
|   switch (winner) { | ||||
|     case "Player": | ||||
|       score.player++; | ||||
|       break; | ||||
|     case "Computer": | ||||
|       score.cpu++; | ||||
|       break; | ||||
|     case "Tie": | ||||
|       score.ties++; | ||||
|       break; | ||||
|   } | ||||
|  | ||||
|   console.log("\nPlayer: " + userChoice); | ||||
|   console.log("CPU: " + computerChoice); | ||||
|   if (winner != "Tie") { | ||||
|     console.log("Winner: " + winner); | ||||
|   } else { | ||||
|     console.log("Tie game!"); | ||||
|   } | ||||
|   console.log(score); | ||||
|  | ||||
|   scorePlayer.textContent = `Player wins: ${score.player}` + " "; | ||||
|   scoreCPU.textContent = `Computer wins: ${score.cpu}`; | ||||
|   round.textContent = `Round ${score.rounds}`; | ||||
|   choicePlayer.textContent = `You:     ${userChoice}`; | ||||
|   choiceCPU.textContent = `CPU:     ${computerChoice}`; | ||||
|   if (winner != "Tie") { | ||||
|     gameWinner.textContent = "Winner: " + winner; | ||||
|   } else { | ||||
|     gameWinner.textContent = "Tie game!"; | ||||
|   } | ||||
| } | ||||
|  | ||||
| function play(input) { | ||||
|   getUserChoice(input); | ||||
|   playGame(); | ||||
| } | ||||
							
								
								
									
										169
									
								
								index/privaci-policy/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,169 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <meta name="Kankys Matrix" content="Zásady ochrany osobních údaju." /> | ||||
|     <title>Zásady ochrany osobních údaju</title> | ||||
|     <link rel="stylesheet" href="../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|     <link | ||||
|       href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css" | ||||
|       rel="stylesheet" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body style="cursor: url(../../res/site/icons/archlinux.png), auto"> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">O mně</h1> | ||||
|       <!-- <h2 class="project-tagline">The webmaster.</h2> --> | ||||
|  | ||||
|       <a href="../../" class="btn">Domů</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|  | ||||
|       <p> | ||||
|         <strong> | ||||
|           <center>Zásady ochrany osobních údajů</center> </strong | ||||
|         ><br /> | ||||
|         Naposledy aktualizováno: 28.4.2022 | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         Pokud jste návštěvníkem našeho blogu, odběratelem novinek, | ||||
|         přispěvatelem do komentářů poskytujete nám své osobní údaje. My vaše | ||||
|         údaje zpracováváme a za jejich bezpečnost odpovídáme. Slibujeme, že | ||||
|         vaše <br />údaje dostatečně chráníme a podřizujeme se požadavkům | ||||
|         Nařízení o ochraně osobních údajů (GDPR). | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         Neprodáváme žádný produkt, nejste tedy našimi zákazníky, ale | ||||
|         návštěvníky blogu. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         Správcem vašich osobních údajů je Lukáš (Lucka ani nekouká přes | ||||
|         rameno!)<br /> | ||||
|         Správcem osobních údajů je Lukáš Kaňka, který provozuje webové stránky | ||||
|         lukan.cz a lukan.cekuj.net. Lukáš vaše údaje spravuje a určuje, jak | ||||
|         dlouho budou osobní údaje zpracovávány, a za jakým účelem. Vybírá | ||||
|         <br />také další zpracovatele, které ke zpracování využíváme. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Jaké údaje zpracováváme a proč?</strong><br /> | ||||
|         Vaše osobní údaje zpracováváme především proto, abychom vám mohli | ||||
|         poskytovat co nejkvalitnější obsah. Jednotlivé důvody zpracování: | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Předávání osobních údajů třetím osobám.</strong><br /> | ||||
|         Vaše údaje zpracovává správce Lukáš Kaňka, s využitím dalších dvou | ||||
|         zpracovatelů, společnosti Endora , jejichž zpracování spočívá v | ||||
|         uchovávání údajů na zabezpečených cloudových serverech. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         Abychom mohli měřit, jak se vám na našem blogu líbí, kde trávíte | ||||
|         nejvíce času a kam klikáte, používáme další poskytovatele služeb pro | ||||
|         určité zpracovatelské operace. Jsou to: | ||||
|       </p> | ||||
|  | ||||
|       <p>TopList – pomocí měřícího kódu</p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Jak nás můžete kontaktovat</strong><br /> | ||||
|         Ať už na nás máte jakoukoliv otázku nebo požadavek, můžete nás | ||||
|         kontaktovat ne e-mailové adrese: lukas.kanka@lukan.cz. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Předávání vašich dat mimo Evropskou Unii</strong><br /> | ||||
|         Vaše data zpracováváme výhradně v Evropské unii nebo v zemích, které | ||||
|         zajišťují odpovídající úroveň ochrany na základě rozhodnutí Evropské | ||||
|         komise. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Zabezpečení a ochrana osobních údajů</strong><br /> | ||||
|         Vaše data jsou u nás v bezpečí. Přijali jsme technická opatření, která | ||||
|         zajišťují zabezpečení osobních údajů šifrováním přenosu dat pomocí | ||||
|         HTTPS protokolu (ten zámeček, co je vedle naší URL adresy ;-)) a<br /> | ||||
|         zabezpečili vaše osobní údaje v souladu s čl. 32 GDPR. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         <strong>Vaše práva v souvislosti s ochranou osobních údajů:</strong> | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         V souvislosti s ochranou osobních údajů máte řadu práv. Pokud budete | ||||
|         chtít některého z těchto práv využít, prosím, kontaktujte nás | ||||
|         prostřednictvím e-mailu: lukas.kanka@lukan.cz | ||||
|       </p> | ||||
|  | ||||
|       <p>Máte právo na informace, které si právě teď čtete. 🙂</p> | ||||
|  | ||||
|       <p> | ||||
|         Díky právu na přístup nás můžete kdykoli vyzvat a my vám do 30 dnů | ||||
|         doložíme, jaké vaše osobní údaje zpracováváme a proč. Pokud se u vás | ||||
|         něco změní nebo shledáte své osobní údaje neaktuální nebo<br /> | ||||
|         neúplné, máte právo na doplnění a změnu osobních údajů. | ||||
|       </p> | ||||
|  | ||||
|       <p> | ||||
|         Právo na omezení zpracování můžete využít, pokud se domníváte, že | ||||
|         zpracováváme vaše nepřesné údaje, domníváte se, že provádíme | ||||
|         zpracování nezákonně, ale nechcete všechny údaje smazat nebo pokud | ||||
|         jste<br /> | ||||
|         vznesli námitku proti zpracování. Omezit můžete rozsah osobních údajů | ||||
|         nebo účelů zpracování. | ||||
|       </p> | ||||
|  | ||||
|       <p><strong>Právo na výmaz (být zapomenut)</strong></p> | ||||
|  | ||||
|       <p> | ||||
|         Vaším dalším právem je právo na výmaz (být zapomenut). Nechceme na vás | ||||
|         zapomenout, ale pokud si to budete přát, máte na to právo. 😞 V | ||||
|         takovém případě vymažeme veškeré vaše osobní údaje ze svého<br /> | ||||
|         systému i ze systému všech dílčích zpracovatelů a záloh. Na zajištění | ||||
|         práva na výmaz potřebujeme 30 dní. | ||||
|       </p> | ||||
|  | ||||
|       <p><strong>Stížnost u Úřadu na ochranu osobních údajů</strong></p> | ||||
|  | ||||
|       <p> | ||||
|         Pokud máte pocit, že s vašimi údaji nezacházíme v souladu se zákonem, | ||||
|         máte právo se se svou stížností kdykoli obrátit na Úřad pro ochranu | ||||
|         osobních údajů. Budeme moc rádi, pokud nejprve budete o tomto<br /> | ||||
|         podezření informovat nás, abychom s tím mohli něco udělat a případné | ||||
|         pochybení napravit. | ||||
|       </p> | ||||
|  | ||||
|       <p><strong>Mlčenlivost:</strong></p> | ||||
|       <p> | ||||
|         Jsme povinni zachovávat mlčenlivost o osobních údajích a o | ||||
|         bezpečnostních opatřeních, jejichž zveřejnění by ohrozilo zabezpečení | ||||
|         vašich osobních údajů. Tato mlčenlivost přitom trvá i po skončení<br /> | ||||
|         závazkových vztahů s námi. Bez vašeho souhlasu také vaše údaje žádné | ||||
|         jiné třetí straně nevydáme. | ||||
|       </p> | ||||
|  | ||||
|       <p>Tyto Zásady ochrany osobních údajů nabývají účinnosti 28.4.2022</p> | ||||
|  | ||||
|        | ||||
|    | ||||
|       <footer class="site-footer"> | ||||
|         Copyright © Lukáš Kaňka 2024 | ||||
|       </footer> | ||||
|          | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										3
									
								
								index/project/YourTravelAssistant/Readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | ||||
| # První povinný projekt v rámci Akademii Engeto - front-end developers | ||||
|  | ||||
| K projektu připravuji zároveň i testy v frameworku Playwright pod tímto [odkazem](https://github.com/LukasKanka/YourTravelAssistant_Playwright.git). | ||||
							
								
								
									
										554
									
								
								index/project/YourTravelAssistant/cestovatel.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,554 @@ | ||||
| :root { | ||||
|   --word-black: #000; | ||||
|   --word-white: #fff; | ||||
|   --link-one: #efa69d; | ||||
|   --link-two: #e9877b; | ||||
|   --background-one: #33292a; | ||||
|   --background-two: #644b4f; | ||||
|   --background-three: #333333; | ||||
|   --background-four: #f2f2f2; | ||||
| } | ||||
|  | ||||
| * { | ||||
|   margin: 0; | ||||
|   padding: 0; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   font-family: "Roboto", sans-serif; | ||||
| } | ||||
|  | ||||
| /* Navigace (horní menu) */ | ||||
| nav { | ||||
|   padding: 10px; | ||||
|   background-color: var(--background-one); | ||||
|   font-size: 20px; | ||||
| } | ||||
| a { | ||||
|   text-decoration: none; | ||||
|   color: var(--word-white); | ||||
| } | ||||
|  | ||||
| nav ul { | ||||
|   list-style: none; | ||||
|   display: flex; | ||||
|   justify-content: space-between; | ||||
|   flex-grow: 1; | ||||
| } | ||||
|  | ||||
| .navigation { | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
| } | ||||
|  | ||||
| .icon { | ||||
|   width: auto; | ||||
|   height: 22px; | ||||
|   display: none; | ||||
|   margin-left: auto; | ||||
|   margin-right: 12px; | ||||
| } | ||||
|  | ||||
| .icon img { | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .navigation { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   nav a { | ||||
|     display: none; | ||||
|   } | ||||
|  | ||||
|   .icon { | ||||
|     display: block; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Hero - section */ | ||||
| .hero-section { | ||||
|   height: 80vh; | ||||
|   background-image: url(images/scott-goodwill-y8Ngwq34_Ak-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
|   background-repeat: no-repeat; | ||||
| } | ||||
|  | ||||
| .hero-text-wrapper { | ||||
|   position: relative; | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
|   height: 100%; | ||||
| } | ||||
|  | ||||
| .hero-text { | ||||
|   color: var(--word-white); | ||||
|   position: absolute; | ||||
|   right: 0; | ||||
|   bottom: 50px; | ||||
|   font-size: 80px; | ||||
|   text-align: right; | ||||
| } | ||||
|  | ||||
| .h2-about { | ||||
|   font-weight: 700; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .hero-text-wrapper { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|   .hero-text { | ||||
|     font-size: 35px; | ||||
|     height: 80px; | ||||
|     margin-bottom: 5px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* About sekce */ | ||||
|  | ||||
| .about-section { | ||||
|   margin: 45px 0; | ||||
| } | ||||
|  | ||||
| .about-section-wrapper { | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
|   display: flex; | ||||
|   gap: 20px; | ||||
| } | ||||
|  | ||||
| .about-text { | ||||
|   flex: 1; | ||||
| } | ||||
|  | ||||
| .about-img { | ||||
|   flex: 1; | ||||
| } | ||||
| img { | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   object-fit: cover; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .about-section-wrapper { | ||||
|     flex-direction: column; | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   .about-text { | ||||
|     text-align: left; | ||||
|   } | ||||
|  | ||||
|   .about-img { | ||||
|     text-align: center; | ||||
|   } | ||||
|  | ||||
|   .about-text-p { | ||||
|     padding-top: 15px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* What We Do */ | ||||
|  | ||||
| .what-section { | ||||
|   background-color: var(--background-one); | ||||
|   color: var(--word-white); | ||||
| } | ||||
|  | ||||
| .what-section-wrapper { | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
| } | ||||
| .what-text { | ||||
|   text-align: center; | ||||
| } | ||||
| .h2-what-we { | ||||
|   font-size: 38px; | ||||
|   text-align: center; | ||||
|   padding-top: 45px; | ||||
|   padding-bottom: 35px; | ||||
| } | ||||
|  | ||||
| .where-text { | ||||
|   text-align: center; | ||||
| } | ||||
| .icon-what-section { | ||||
|   margin-top: 45px; | ||||
|   padding: 45px; | ||||
|   list-style: none; | ||||
|   display: flex; | ||||
|   justify-content: space-between; | ||||
|   flex-grow: 1; | ||||
| } | ||||
|  | ||||
| .img-icons { | ||||
|   width: 100px; | ||||
|   height: 100px; | ||||
|   align-items: center; | ||||
| } | ||||
|  | ||||
| .icon-text { | ||||
|   text-align: center; | ||||
|   padding-top: 15px; | ||||
|   font-size: 25px; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .what-section-wrapper { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   .icon-what-section { | ||||
|     flex-direction: column; | ||||
|     align-items: center; | ||||
|     text-align: center; | ||||
|   } | ||||
|  | ||||
|   .img-icons { | ||||
|     width: 80px; | ||||
|     height: 80px; | ||||
|     margin-top: 20px; | ||||
|     align-items: center; | ||||
|   } | ||||
|  | ||||
|   .icon-text { | ||||
|     padding-top: 0px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Our Trips */ | ||||
|  | ||||
| .trips-section { | ||||
|   margin-top: 45px; | ||||
|   margin-bottom: 45px; | ||||
| } | ||||
| .trips-section-wrapper { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   width: 65%; | ||||
|   margin: auto; | ||||
|   gap: 10px; | ||||
| } | ||||
|  | ||||
| .images-item { | ||||
|   height: 222px; | ||||
|   width: 32%; | ||||
|   flex-shrink: 1; | ||||
|   border-radius: 4px; | ||||
| } | ||||
|  | ||||
| .images-trips-1 { | ||||
|   background-image: url(images/simon-english-48nerZQCHgo-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-2 { | ||||
|   background-image: url(images/james-wheeler-ZOA-cqKuJAA-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-3 { | ||||
|   background-image: url(images/daniel-tseng-73lmMKhi2U8-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-4 { | ||||
|   background-image: url(images/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .text-trips { | ||||
|   background-color: var(--background-four); | ||||
|   color: var(--word-black); | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   align-items: center; | ||||
|   font-size: 32px; | ||||
|   font-weight: 700; | ||||
| } | ||||
|  | ||||
| .images-trips-5 { | ||||
|   background-image: url(images/patrick-szylar-45bM3XGqnDE-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-6 { | ||||
|   background-image: url(images/chung-yee-tsang-wqxCKM0R6R8-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-7 { | ||||
|   background-image: url(images/julian-bialowas-ilkTnuMunP8-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| .images-trips-8 { | ||||
|   background-image: url(images/matej-drha-rbDzMcJsBkY-unsplash.jpg); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .trips-section-wrapper { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   .images-item { | ||||
|     width: 333px; | ||||
|     height: 222px; | ||||
|   } | ||||
|  | ||||
|   .text-trips { | ||||
|     height: 80px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Where togo */ | ||||
| .where-section { | ||||
|   background-color: var(--background-two); | ||||
|   color: var(--word-white); | ||||
|   display: flex; | ||||
| } | ||||
|  | ||||
| .where-section-wrapper { | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
|   padding-top: 45px; | ||||
|   padding-bottom: 45px; | ||||
|   display: flex; | ||||
| } | ||||
|  | ||||
| .where-text { | ||||
|   display: flex; | ||||
| } | ||||
|  | ||||
| .h2-where { | ||||
|   flex: 1; | ||||
|   font-size: 25px; | ||||
|   width: 272px; | ||||
|   height: 114px; | ||||
|   text-align: left; | ||||
| } | ||||
|  | ||||
| .where-text-div { | ||||
|   flex: 1; | ||||
|   width: 572; | ||||
|   height: 201; | ||||
|   text-align: left; | ||||
| } | ||||
|  | ||||
| .contact-text { | ||||
|   margin-top: 20px; | ||||
| } | ||||
|  | ||||
| .contact-button { | ||||
|   margin-top: 35px; | ||||
|   background-color: var(--background-four); | ||||
|   width: 133px; | ||||
|   height: 43px; | ||||
|   border-radius: 4px; | ||||
|   text-align: center; | ||||
|   line-height: 43px; | ||||
| } | ||||
|  | ||||
| .contact-button-text { | ||||
|   font-size: 14px; | ||||
|   font-weight: 700; | ||||
|   font-family: Inter; | ||||
|   color: var(--word-black); | ||||
|   display: block; | ||||
| } | ||||
| .mobile { | ||||
|   display: none; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .where-section-wrapper { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   .where-text { | ||||
|     flex-direction: column; | ||||
|   } | ||||
|   .desktop { | ||||
|     display: none; | ||||
|   } | ||||
|  | ||||
|   .mobile { | ||||
|     display: block; | ||||
|     font-size: 25px; | ||||
|     margin-bottom: 25px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Reviews section */ | ||||
|  | ||||
| .reviews-section { | ||||
|   width: 65%; | ||||
|   margin: 0 auto; | ||||
|   margin-top: 45px; | ||||
|   margin-bottom: 45px; | ||||
| } | ||||
| .h2-reviews { | ||||
|   text-align: center; | ||||
|   padding-bottom: 20px; | ||||
| } | ||||
| .reviews-text { | ||||
|   width: 332px; | ||||
|   height: 159px; | ||||
|   text-align: center; | ||||
|   margin: auto; | ||||
| } | ||||
|  | ||||
| .reviews-card-wrapper { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   justify-content: space-evenly; | ||||
|   gap: 300px; | ||||
| } | ||||
|  | ||||
| .reviews-card { | ||||
|   width: 378.49px; | ||||
|   height: 346px; | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| .reviews-card-1 { | ||||
|   width: 378.49px; | ||||
|   height: 346px; | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| .reviews-card img { | ||||
|   width: 122.13px; | ||||
|   height: 111px; | ||||
|   border-radius: 50%; | ||||
| } | ||||
|  | ||||
| .reviews-card-1 img { | ||||
|   width: 122.13px; | ||||
|   height: 111px; | ||||
|   border-radius: 50%; | ||||
| } | ||||
|  | ||||
| .reviews-card-text { | ||||
|   margin-top: 20px; | ||||
| } | ||||
|  | ||||
| .reviews-name { | ||||
|   font-weight: 700; | ||||
|   padding-top: 50px; | ||||
|   height: 19px; | ||||
|   align-items: center; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .reviews-section { | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|   } | ||||
|  | ||||
|   .reviews-card-wrapper { | ||||
|     flex-direction: column; | ||||
|     width: 90%; | ||||
|     margin: 0 auto; | ||||
|     gap: 95px; | ||||
|   } | ||||
|   .reviews-card { | ||||
|     width: 324px; | ||||
|   } | ||||
|  | ||||
|   .reviews-card-1 { | ||||
|     width: 324px; | ||||
|   } | ||||
|  | ||||
|   .reviews-text { | ||||
|     width: 263px; | ||||
|   } | ||||
|  | ||||
|   .h2-reviews { | ||||
|     padding-top: 40px; | ||||
|   } | ||||
|  | ||||
|   .reviews-name { | ||||
|     padding-bottom: 40px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Photo gallery */ | ||||
| .photo-gallery { | ||||
|   /* display: flex; */ | ||||
|   /* flex-wrap: wrap; */ | ||||
| } | ||||
| .photo-gallery-wrapper { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
|  | ||||
| .picture-img { | ||||
|   width: 100%; | ||||
|   height: auto; | ||||
|   display: block; | ||||
|   object-fit: cover; | ||||
|   max-width: 50%; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .photo-gallery-wrapper { | ||||
|     flex-direction: column; | ||||
|     margin-top: 100px; | ||||
|   } | ||||
|   .picture-img { | ||||
|     max-width: 100%; | ||||
|     height: 260px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Footer */ | ||||
| .footer-wrapper { | ||||
|   background-color: var(--background-three); | ||||
|   padding: 45px; | ||||
| } | ||||
|  | ||||
| .footer-text { | ||||
|   text-align: center; | ||||
| } | ||||
| .footer-contact { | ||||
|   color: var(--link-two); | ||||
|   text-decoration: underline; | ||||
|   font-weight: 700; | ||||
| } | ||||
| .footer-text-p { | ||||
|   padding-top: 20px; | ||||
|   text-align: center; | ||||
|   color: var(--word-white); | ||||
|   font-weight: 700; | ||||
| } | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   .footer-contact { | ||||
|     font-size: 12px; | ||||
|   } | ||||
|   .footer-text-p { | ||||
|     font-size: 10px; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										217
									
								
								index/project/YourTravelAssistant/cestovatel.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,217 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <!-- Lukáš Kaňka --> | ||||
| <!-- lukas.kanka@outlook.cz --> | ||||
| <!-- Lukáš K. --> | ||||
|  | ||||
| <head> | ||||
|     <link rel="stylesheet" type="text/css" href="cestovatel.css"> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>Your Travel Assistant</title> | ||||
| </head> | ||||
|  | ||||
| <div> | ||||
|  | ||||
|     <!-- Navigace --> | ||||
|     <nav> | ||||
|         <ul class="navigation" id="navigation"> | ||||
|             <li><a href="#about">About Us</a></li> | ||||
|             <li><a href="#what-we-do">What We Do </a></li> | ||||
|             <li><a href="#trips">Our Trips</a></li> | ||||
|             <li><a href="#where">Where To Go</a></li> | ||||
|             <li><a href="#reviews">Reviews</a></li> | ||||
|         </ul> | ||||
|         <img class="icon" src="icons/PngItem_1608357.png" alt="#"> | ||||
|  | ||||
|     </nav> | ||||
|  | ||||
|     <!-- Hero section --> | ||||
|     <header class="hero-section "> | ||||
|         <div class="hero-text-wrapper"> | ||||
|             <h1 class="hero-text">Your <br> | ||||
|                 Travel <br> | ||||
|                 Assistant</h1> | ||||
|         </div> | ||||
|     </header> | ||||
|  | ||||
|     <!-- About Us --> | ||||
|     <div class="content"> | ||||
|         <section class="about-section" id="about"> | ||||
|             <div class="about-section-wrapper"> | ||||
|                 <div class="about-text"> | ||||
|                     <h2 class="h2-about">About Us</h2> | ||||
|                     <p class="about-text-p">Leigh McAdam is a Calgary-based writer, photographer and social media | ||||
|                         enthusiast with over | ||||
|                         48,000 | ||||
|                         followers. Her blog: HikeBikeTravel is frequently cited as one of the top travel and outdoor | ||||
|                         adventure blogs in Canada, and consistently receives over 135,000 monthly page views. She | ||||
|                         shares | ||||
|                         her enthusiasm for the outdoors as a brand ambassador for Sporting Life, and has worked on | ||||
|                         campaigns for Travel Alberta, Expedia and Flight Hub. Leigh is the author of Discover | ||||
|                         Canada: | ||||
|                         100 Inspiring Outdoor Adventures. Currently, she is co-authoring: 125 Nature Hot Spots in | ||||
|                         Alberta (spring 2018). A true adventurer, Leigh will try anything once, except perhaps | ||||
|                         bungee | ||||
|                         jumping. | ||||
|                     </p> | ||||
|                 </div> | ||||
|                 <div class="about-img"><img class="about-img content-container" | ||||
|                         src="images/anneliese-phillips-uv4-vl3liKM-unsplash.jpg" alt="#"> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- What We Do --> | ||||
|         <section class="what-section" id="what-we-do"> | ||||
|             <div class="what-section-wrapper"> | ||||
|                 <div class="what-text"> | ||||
|                     <h2 class="h2-what-we">What We Do</h2> | ||||
|                     <p class="what-text-p">Opportunities for challenging hikes and pleasant strolls are scattered all | ||||
|                         over this planet; you | ||||
|                         just | ||||
|                         need to know where to find them. We do. Kilimanjaro, Everest Base Camp, Patagonia, and the Inca | ||||
|                         Trail are out there, waiting for you to walk all over them. We’re proud of our record of | ||||
|                         successful | ||||
|                         ascents (over 92% of our travellers make it to the top of Kili, depending on the route), but | ||||
|                         it’s | ||||
|                         our CEOs and local guides that make the journey itself as memorable as the summit. And if you’re | ||||
|                         not | ||||
|                         into big climbs, don’t sweat it; we’ve got loads of lower-impact walks and iconic treks you’ll | ||||
|                         love, | ||||
|                         too.</p> | ||||
|                 </div> | ||||
|  | ||||
|                 <ul class="icon-what-section"> | ||||
|                     <li><img class="img-icons" src="icons/hiking-white.png " alt="#"><br> | ||||
|                         <p class="icon-text">Hiking</p> | ||||
|  | ||||
|                     </li> | ||||
|                     <li><img class="img-icons" src="icons/cycle-white.png" alt="#"><br> | ||||
|                         <p class="icon-text">Cycling</p> | ||||
|                     </li> | ||||
|                     <li><img class="img-icons" src="icons/water-white.png" alt="#"><br> | ||||
|                         <p class="icon-text">Surfing</p> | ||||
|                     </li> | ||||
|                     <li><img class="img-icons" src="icons/car-white.png" alt="#"><br> | ||||
|                         <p class="icon-text">Car trips</p> | ||||
|                     </li> | ||||
|                 </ul> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- Our Trips --> | ||||
|         <section class="trips-section"> | ||||
|             <div class="trips-section-wrapper"> | ||||
|                 <div class="images-trips-1 images-item "></div> | ||||
|                 <div class="images-trips-2 images-item "></div> | ||||
|                 <div class="images-trips-3 images-item "></div> | ||||
|                 <div class="images-trips-4 images-item "></div> | ||||
|                 <div class="text-trips images-item" id="trips">Our Trips</div> | ||||
|                 <div class="images-trips-5 images-item "></div> | ||||
|                 <div class="images-trips-6 images-item "></div> | ||||
|                 <div class="images-trips-7 images-item "></div> | ||||
|                 <div class="images-trips-8 images-item "></div> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- Where togo --> | ||||
|         <section class="where-section" id="where"> | ||||
|             <div class="where-section-wrapper"> | ||||
|                 <div class="where-text"> | ||||
|  | ||||
|                     <div class="h2-where"> | ||||
|                         <h2 class="desktop">Where do you <br> want to go?</h2> | ||||
|                         <h2 class="mobile">Where do you want to go?</h2> | ||||
|                     </div> | ||||
|                     <div class="where-text-div"> | ||||
|                         <p> | ||||
|                             You’ll find 21 detailed adventure guides, over a hundred practical travel tips, book reviews | ||||
|                             on | ||||
|                             anything outdoors related, packing lists on a range of outdoor activities including | ||||
|                             kayaking, | ||||
|                             backpacking and camping as well as honest hotel and B&B reviews. | ||||
|                         </p> | ||||
|                         <p class="contact-text">Contact us and we will help you!</p> | ||||
|                         <div class="contact-button"> | ||||
|                             <a href="#" class="contact-button-text">CONTACT US</a> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- Reviews section --> | ||||
|         <section class="reviews-section" id="reviews"> | ||||
|             <h2 class="h2-reviews">Reviews</h2> | ||||
|             <div class="reviews-text"> | ||||
|                 <p>Our amazing clients are the reason we exist, and their reactions to our | ||||
|                     customized travel experiences | ||||
|                     and personalized service keep us smiling all day long. Here is just a sampling of what they’ve said: | ||||
|                 </p> | ||||
|             </div> | ||||
|             <div class="reviews-card-wrapper"> | ||||
|                 <div class="reviews-card"> | ||||
|                     <img src="images/kalen-emsley-kGSapVfg8Kw-unsplash.jpg" alt="#"> | ||||
|                     <div class="reviews-card-text"> | ||||
|                         She has booked two major European trips for us in the past year and every aspect has met, and | ||||
|                         in | ||||
|                         most cases exceeded, our expectations. Best prices, best hotels, best itineraries, and best | ||||
|                         cruises, she does it all. But the most important thing is she remembers the little things | ||||
|                         that | ||||
|                         we would do if we were making the plans ourselves. | ||||
|                         <div class="reviews-name"> | ||||
|                             Bertie Norton | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="reviews-card-1"> | ||||
|                     <img src="images/jeffrey-keenan-pUhxoSapPFA-unsplash.jpg" alt="#"> | ||||
|                     <div class="reviews-card-text"> | ||||
|                         Leigh McAdam has been making my travel arrangements for about 20 years and there is no one | ||||
|                         else I would trust to arrange my trips and tours. I've also had great fun on a few of the | ||||
|                         group trips she has arranged - Peru & Machu Picchu and a 10-day cruise out of Venice and | ||||
|                         diving. It's always an eclectic group of well traveled, interesting people. | ||||
|                         <div class="reviews-name"> | ||||
|                             Frank Kinney | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- Photo galery --> | ||||
|         <section class="photo-gallery"> | ||||
|             <div class="photo-gallery-wrapper"> | ||||
|                 <img class="picture-img" src="images/alexey-fedenkov-BaCZYH9RLmQ-unsplash.jpg" alt="picture-1"> | ||||
|                 <img class="picture-img" src="images/omer-salom-LoijtQXXNhs-unsplash.jpg" alt="picture-2"> | ||||
|                 <img class="picture-img" src="images/vincentiu-solomon-7MH4ped6_Mo-unsplash.jpg" alt="picture-3"> | ||||
|                 <img class="picture-img" src="images/daniel-tseng-73lmMKhi2U8-unsplash.jpg" alt="picture-4"> | ||||
|             </div> | ||||
|         </section> | ||||
|  | ||||
|         <!-- Footer --> | ||||
|         <footer class="footer"> | ||||
|             <div class="footer-wrapper"> | ||||
|                 <div class="footer-text"> | ||||
|                     <a class="footer-contact" href="#">Contact</a> | ||||
|                     <div class="footer-text-div"> | ||||
|                         <p class="footer-text-p"> | ||||
|                             © 2022 - Your Travel Assistant. All Rights Reserved. | ||||
|  | ||||
|                         </p> | ||||
|  | ||||
|  | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </footer> | ||||
|     </div> | ||||
|  | ||||
| </div> | ||||
|  | ||||
| </body> | ||||
|  | ||||
|  | ||||
|  | ||||
| </html> | ||||
							
								
								
									
										
											BIN
										
									
								
								index/project/YourTravelAssistant/icons/PngItem_1608357.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								index/project/YourTravelAssistant/icons/car-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								index/project/YourTravelAssistant/icons/cycle-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 14 KiB | 
							
								
								
									
										
											BIN
										
									
								
								index/project/YourTravelAssistant/icons/hiking-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								index/project/YourTravelAssistant/icons/water-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 8.1 KiB | 
| After Width: | Height: | Size: 146 KiB | 
| After Width: | Height: | Size: 256 KiB | 
| After Width: | Height: | Size: 2.8 MiB | 
| After Width: | Height: | Size: 238 KiB | 
| After Width: | Height: | Size: 156 KiB | 
| After Width: | Height: | Size: 168 KiB | 
| After Width: | Height: | Size: 60 KiB | 
| After Width: | Height: | Size: 130 KiB | 
| After Width: | Height: | Size: 220 KiB | 
| After Width: | Height: | Size: 297 KiB | 
| After Width: | Height: | Size: 87 KiB | 
| After Width: | Height: | Size: 204 KiB | 
| After Width: | Height: | Size: 197 KiB | 
| After Width: | Height: | Size: 236 KiB | 
| After Width: | Height: | Size: 326 KiB | 
							
								
								
									
										116
									
								
								index/project/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,116 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <meta name="Kankys Matrix" content="Kankys projekty." /> | ||||
|     <title>Projekty</title> | ||||
|     <link rel="stylesheet" href="../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|     <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | ||||
|     <script | ||||
|       id="MathJax-script" | ||||
|       async="" | ||||
|       src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" | ||||
|     ></script> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Projekty</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         Zde najdeš odkazy na mé projekty. | ||||
|       </h2> | ||||
|  | ||||
|       <a href="../../" class="btn">Home</a> | ||||
|        | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|        | ||||
|          | ||||
|  | ||||
|       <div class="flexbox-project"> | ||||
|         <!-- <div class="menu-project"> | ||||
|            | ||||
|         </div> | ||||
|        --> | ||||
|  | ||||
|  | ||||
|  | ||||
|         <div class="content-pr"> | ||||
|             <h2> | ||||
|                 Vítám tě na této stránce, která slouží jako mapa pro mé projekty. | ||||
|             </h2> | ||||
|             <p> | ||||
|                 Zde najtete projekty věnující se k tvorbě webu a hlavně mou cestu Akademií Engeto. | ||||
|             </p> | ||||
|             <p> | ||||
|                 Všechny projekty jsou vytvořeny v HTML, CSS a strochou JavaScriptu. Ale určitě jsem přidám i další | ||||
|                 projekty, které tvořím mimo Akademii.</p> | ||||
|             <p> | ||||
|                 Projekty které se netýkají tworby webu, najdete na mém GitHubu přes tento odkaz na <a | ||||
|                     href="https://git.archoslinux.cz/kankys">Gitea</a>. | ||||
|             </p> | ||||
|             <p> | ||||
|                 U každého projektu najdete popis a odkaz na něj. Buď na Gitea nebo na stránky, kde je projekt umístěn. | ||||
|             </p> | ||||
|         </div> | ||||
|  | ||||
|         <div class="project"> | ||||
|             <div class="pr1"> | ||||
|                 <h2>Projekt 1: Tento Blog</h2> | ||||
|                 <p> | ||||
|                     Tento projekt je vytvořen mimo Akademii Engeto. Je to můj osobní blog, který postupně vylepšuji. | ||||
|                     Tato stránka slouží čistě jako má prezentace.</p> | ||||
|                 <p> | ||||
|                     Postupně jsem přidávám své znolosti z HTML, CSS a také se snažím aby web byl co nejlépe | ||||
|                     responzivní. Tento projekt je nekončicí koloběh. | ||||
|                 </p> | ||||
|             </div> | ||||
|  | ||||
|             <div class="pr2"> | ||||
|                 <h2>Projekt 2: Životopis</h2> | ||||
|                 <p> | ||||
|                     Tento projekt je jako první úkol v Akademii.</p> | ||||
|                 <p>Zadání bylo vytvořit jednoduchý životpis na procvičení základů HTML a CSS. Později jsem ještě pomocí | ||||
|                     CSS nastavil v úkolu responsivní web pro mobilní zařízení.</p> | ||||
|                 </p> | ||||
|                 <p>Projekt Životopis najdete <a target="_blank" href="zivotopis/zivotopis.html">zde.</a></p> | ||||
|             </div> | ||||
|             <div class="pr3"> | ||||
|                 <h2>Projekt 3: Karta produktu</h2> | ||||
|                 <p>Karta produktu. Na tomto projektu jsme se naučily pozicování elementu a pojmy jako Margin a Padding. | ||||
|                 </p> | ||||
|                 <p>Projekt Karta produkdu najdete <a target="_blank" href="kartaProduktu/karta-produktu.html">zde</a></p> | ||||
|             </div> | ||||
|  | ||||
|             <div class="pr4"> | ||||
|                 <h2>Projekt 4: Nature and Culture</h2> | ||||
|                 <p>Tento projekt je zaměřen na responsivitu webu pro mobilní zařízení a také jsme použily porvé Flexbox. | ||||
|                 </p> | ||||
|                 <p>Projekt Nature and Culture najdete <a target="_blank" href="nature/nature-and-culture.html">zde</a></p> | ||||
|  | ||||
|             </div> | ||||
|             <div class="pr5"> | ||||
|                 <h2>Projekt 5: Your Travel Assistant</h2> | ||||
|                 <p>Tento projekt je vytvořen mimo Akademii Engeto. Jedná se o stránku pro cestovatele.</p> | ||||
|                 <p>Zadání jsme měli jako na reálném projektu a grafické rozložení se dělalo dle Figmi. Tento projekt byl hodnocený a je jeden ze tří projektů k získání certifikátu v Akademii.</p> | ||||
|                 <p>Projekt najdeš pod tímto <a target="_blank" href="YourTravelAssistant/cestovatel.html">odkazem</a>. Od finální verze co jsem odevzdal se mírně liší, ještě před odevzdáním jsem vychytával poslední mouchy.</p> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|   | ||||
|  | ||||
|       <footer class="site-footer"> | ||||
|         Copyright © Lukáš Kaňka 2024 | ||||
|       </footer> | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										
											BIN
										
									
								
								index/project/kartaProduktu/img/psi-hracka.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 367 KiB | 
							
								
								
									
										55
									
								
								index/project/kartaProduktu/karta-produktu.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,55 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|  | ||||
| <head> | ||||
|     <meta keywords="Karta produktu, Sněhulák, Psí hračka"> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <link rel="stylesheet" href="style.karta.css"> | ||||
|     <title>Karta produktu</title> | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
|     <!-- Product Card --> | ||||
|     <div class="product-card"> | ||||
|         <!-- Product Labels --> | ||||
|         <div class="whell"> | ||||
|             <span class="product-only">Jen u nás</span> | ||||
|             <span class="discount-badge">-27%</span> | ||||
|         </div> | ||||
|         <!-- Product Image --> | ||||
|         <div class="product-image-container"> | ||||
|             <img class="product-image" src="img/psi-hracka.png" /> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Product Title --> | ||||
|         <h1>M-Pets Hračka Holly vánoční sněhulák</h1> | ||||
|  | ||||
|         <!-- Product Description --> | ||||
|         <p><strong>Hračka pro psy - pro střední a velká plemena, vydává zvuky, materiál polyester, bílá barva</strong> | ||||
|         </p> | ||||
|  | ||||
|         <!-- Product Change Offer --> | ||||
|         <div class="product-change"> | ||||
|             <div>Výměna nevhodného dárku za poukaz do 31.1.2024 nyní zdarma! Více informací klini na odkaz: Výměna | ||||
|                 dárku. | ||||
|             </div> | ||||
|             <div class="button-container"> | ||||
|                 <a class="button" href="#">Výměna dárku</a> | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Product Price --> | ||||
|         <div class="product-price-container"> | ||||
|             <p class="product-price-old">149,-</p> | ||||
|             <span class="product-price">109,-</span> | ||||
|             <span><a class="shopping-button" href="#">Do košíku</a></span> | ||||
|         </div> | ||||
|  | ||||
|         <!-- Product Stock and Transport --> | ||||
|         <span class="stock">Skladem > 5 ks</span> | ||||
|         <span class="transport">Doprava zdarma</span> | ||||
|     </div> | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
							
								
								
									
										147
									
								
								index/project/kartaProduktu/style.karta.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,147 @@ | ||||
| :root { | ||||
|   --special-yellow: hsl(56, 94%, 49%); | ||||
|   --special-yellow-2: rgb(231, 231, 149); | ||||
|   --special-red-original: red; | ||||
|   --special-red: #db090d; | ||||
|   --special-black: #040303; | ||||
|   --special-white: #f7f7f7; | ||||
|   --special-green: rgb(0, 128, 0); | ||||
|   --special-agua: rgb(8, 126, 126); | ||||
|   --special-pink: palevioletred; | ||||
| } | ||||
| .product-card { | ||||
|   position: relative; | ||||
|   width: 450px; | ||||
|   background-color: var(--special-white); | ||||
|   padding: 16px; | ||||
|   font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif; | ||||
|   border: 6px solid var(--special-black); | ||||
|  | ||||
|   /* responzivita */ | ||||
|   width: calc(100% - 32px); | ||||
|   max-width: 800px; | ||||
|   margin: auto; | ||||
| } | ||||
|  | ||||
| .whell { | ||||
|   position: absolute; | ||||
| } | ||||
|  | ||||
| .product-only { | ||||
|   background-color: var(--special-yellow); | ||||
|   position: absolute; | ||||
|   border-radius: 50%; | ||||
|   width: 120px; | ||||
|   height: 80px; | ||||
|   left: 35px; | ||||
|   top: 60px; | ||||
|   text-align: center; | ||||
|   font-size: 25px; | ||||
|   color: var(--special-white); | ||||
|   font-weight: bold; | ||||
|   padding-top: 50px; | ||||
| } | ||||
|  | ||||
| .discount-badge { | ||||
|   background-color: var(--special-red); | ||||
|   position: absolute; | ||||
|   border-radius: 50%; | ||||
|   width: 120px; | ||||
|   height: 80px; | ||||
|   left: 35px; | ||||
|   top: 160px; | ||||
|   text-align: center; | ||||
|   font-size: 25px; | ||||
|   color: var(--special-white); | ||||
|   font-weight: bold; | ||||
|   padding-top: 50px; | ||||
| } | ||||
|  | ||||
| .product-image { | ||||
|   width: 95%; | ||||
|   height: 90%; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|   color: var(--special-agua); | ||||
| } | ||||
|  | ||||
| .button { | ||||
|   color: var(--special-red); | ||||
|   border-style: solid; | ||||
|   text-decoration: none; | ||||
|   padding-right: 6px; | ||||
|   padding-left: 6px; | ||||
|   border-radius: 6px; | ||||
|   background-color: var(--special-yellow-2); | ||||
| } | ||||
| .product-price-container { | ||||
|   padding: 8px; | ||||
|   background-color: var(--special-pink); | ||||
|   margin-bottom: 16px; | ||||
|   position: relative; | ||||
|   border-radius: 6px; | ||||
|   top: 15px; | ||||
| } | ||||
|  | ||||
| .product-price { | ||||
|   font-weight: bold; | ||||
|   font-size: 40px; | ||||
|   display: inline-block; | ||||
|   padding: 8px; | ||||
|   background-color: var(--special-red-original); | ||||
|   border-radius: 6px; | ||||
| } | ||||
|  | ||||
| .product-price-old { | ||||
|   font-size: 20px; | ||||
|   color: var(--special-white); | ||||
|   text-decoration: line-through; | ||||
|   width: 75px; | ||||
|   background-color: var(--special-yellow); | ||||
|   margin-top: 1px; | ||||
|   margin-bottom: 1px; | ||||
|   padding-left: 35px; | ||||
|   border-radius: 6px; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .shopping-button { | ||||
|   color: var(--special-black); | ||||
|   font-weight: bold; | ||||
|   font-size: 30px; | ||||
|   text-decoration: none; | ||||
|   position: absolute; | ||||
|   top: 30px; | ||||
|   right: 30px; | ||||
|   border-radius: 6px; | ||||
|   background-color: var(--special-yellow-2); | ||||
|   padding-left: 5px; | ||||
|   padding-right: 5px; | ||||
|   border-style: solid; | ||||
| } | ||||
|  | ||||
| .stock { | ||||
|   font-weight: bold; | ||||
|   color: var(--special-green); | ||||
|   font-size: 20px; | ||||
|   padding: 10px; | ||||
| } | ||||
|  | ||||
| .transport { | ||||
|   padding-left: 135px; | ||||
|   font-size: 20px; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .button-container { | ||||
|   margin-top: 10px; | ||||
|   /* margin-bottom: 15px; */ | ||||
| } | ||||
|  | ||||
| /* ˇMobily */ | ||||
| @media screen and (max-width: 600px) { | ||||
|   body { | ||||
|     width: calc(100% - 16px); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								index/project/nature/images/PngItem_1608357.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.0 KiB | 
| After Width: | Height: | Size: 845 KiB | 
| After Width: | Height: | Size: 539 KiB | 
							
								
								
									
										41
									
								
								index/project/nature/nature-and-culture.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,41 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|  | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <link href="style-nature.css" rel="stylesheet" /> | ||||
|     <title>Hero</title> | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
|     <!-- Navigace --> | ||||
|     <nav> | ||||
|         <ul> | ||||
|             <li><a href="#">Home</a></li> | ||||
|             <li><a href="#">About</a></li> | ||||
|             <li><a href="#">Explore</a></li> | ||||
|             <li><a href="#">Contact US</a></li> | ||||
|         </ul> | ||||
|         <img class="icon" src="images/PngItem_1608357.png"> | ||||
|     </nav> | ||||
|  | ||||
|     <!-- Hero section --> | ||||
|     <div class="hero-section"> | ||||
|         <div class="hero-text"> | ||||
|             <div class="hero-subtitle">Exploring Icelandic Villages</div> | ||||
|             <div class="hero-title"> | ||||
|                 <h1>Nature and Culture Converge</h1> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|  | ||||
|     <!-- image bird --> | ||||
|     <div class="image-container"> | ||||
|         <img src="images/photo-1512419180521-2c5585bdf851.avif" alt="" bird> | ||||
|     </div> | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
							
								
								
									
										115
									
								
								index/project/nature/style-nature.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,115 @@ | ||||
| :root { | ||||
|   --my-white: #fff; | ||||
|   --my-pink: #f08d8f; | ||||
| } | ||||
|  | ||||
| * { | ||||
|   margin: 0; | ||||
|   padding: 0; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   margin: 16px 32px; | ||||
| } | ||||
|  | ||||
| .hero-section { | ||||
|   height: 70vh; | ||||
|   background-image: url(images/photo-1540503831458-3237544b2ce5.avif); | ||||
|   background-size: cover; | ||||
|   background-position: center; | ||||
|   background-repeat: no-repeat; | ||||
|   border-radius: 12px; | ||||
|   margin-bottom: 10px; | ||||
|   position: relative; | ||||
| } | ||||
|  | ||||
| .hero-text { | ||||
|   position: absolute; | ||||
|   left: 32px; | ||||
|   bottom: 16px; | ||||
|   color: var(--my-white); | ||||
| } | ||||
|  | ||||
| .hero-subtitle { | ||||
|   font-size: 20px; | ||||
| } | ||||
| .hero-title { | ||||
|   margin-top: 8px; | ||||
| } | ||||
|  | ||||
| .icon { | ||||
|   width: auto; | ||||
|   height: auto; | ||||
|   display: none; | ||||
|   padding: 14px; | ||||
|   margin-left: auto; | ||||
|   /* display: flex; */ | ||||
| } | ||||
| .icon img { | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   /* display: flex; */ | ||||
|   /* align-items: center; */ | ||||
| } | ||||
|  | ||||
| .image-container { | ||||
|   width: 50%; | ||||
| } | ||||
| .image-container img { | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   border-radius: 12px; | ||||
| } | ||||
| nav { | ||||
|   height: 55px; | ||||
|   background-color: var(--my-pink); | ||||
|   display: flex; | ||||
|   justify-content: space-evenly; | ||||
|   text-decoration: none; | ||||
|   margin-bottom: 10px; | ||||
|   border-radius: 12px; | ||||
| } | ||||
| nav a { | ||||
|   color: var(--my-white); | ||||
|   text-decoration: none; | ||||
|   font-size: 20px; | ||||
|   font-weight: bold; | ||||
|   list-style-type: none; | ||||
| } | ||||
|  | ||||
| ul { | ||||
|   display: flex; | ||||
|   list-style-type: none; | ||||
|   gap: 65px; | ||||
|   padding-top: 16px; | ||||
|   padding-bottom: 16px; | ||||
| } | ||||
|  | ||||
| /* Mobile - setting */ | ||||
|  | ||||
| @media (max-width: 768px) { | ||||
|   body { | ||||
|     margin: 8px; | ||||
|   } | ||||
|  | ||||
|   .hero-subtitle { | ||||
|     font-size: 18px; | ||||
|   } | ||||
|  | ||||
|   .hero-title { | ||||
|     font-size: 14px; | ||||
|   } | ||||
|  | ||||
|   .icon { | ||||
|     display: block; | ||||
|   } | ||||
|  | ||||
|   .image-container { | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   nav a { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										2
									
								
								index/project/zivotopis/Folder.DotSettings.user
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,2 @@ | ||||
| <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> | ||||
| 	<s:String x:Key="/Default/CodeInspection/PencilsConfiguration/Storage/@EntryValue">ThisComputer</s:String></wpf:ResourceDictionary> | ||||
							
								
								
									
										3
									
								
								index/project/zivotopis/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | ||||
| # zivotopis_engeto | ||||
|  | ||||
| První zadání pro nepovinný domácí úkol, vytvořit CV. | ||||
							
								
								
									
										
											BIN
										
									
								
								index/project/zivotopis/image/1702045296079.jpeg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 53 KiB | 
							
								
								
									
										86
									
								
								index/project/zivotopis/style-cv.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,86 @@ | ||||
| :root { | ||||
|   --my-black: black; | ||||
|   --my-beckground: #ded4d4; | ||||
|   max-width: 1200px; | ||||
|   margin: auto; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   background-color: var(--my-beckground); | ||||
|   max-width: 1200px; | ||||
|   margin: auto; | ||||
|   margin-bottom: 25px; | ||||
| } | ||||
| @media screen and (max-width: 600px) { | ||||
|   body { | ||||
|     width: calc(100% - 16px); | ||||
|   } | ||||
| } | ||||
|  | ||||
| footer { | ||||
|   position: fixed; | ||||
|   bottom: 0; | ||||
| } | ||||
|  | ||||
| .tlacitko { | ||||
|   color: var(--my-black); | ||||
| } | ||||
|  | ||||
| td, | ||||
| th { | ||||
|   border: 1px solid var(--my-black); | ||||
|   padding: 15px; | ||||
| } | ||||
|  | ||||
| .flexbox { | ||||
|   display: flex; | ||||
|   max-width: auto; | ||||
|   margin: auto; | ||||
| } | ||||
| .flexbox-content { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
| } | ||||
|  | ||||
| .menu { | ||||
|   margin-top: 25px; | ||||
| } | ||||
|  | ||||
| .content { | ||||
|   order: 2; | ||||
|   flex: 3; | ||||
|   padding: 55px; | ||||
|   margin-top: -45px; | ||||
| } | ||||
| .dot { | ||||
|   list-style-type: none; | ||||
| } | ||||
| .jobs, | ||||
| .course, | ||||
| .fun { | ||||
|   font-size: 20px; | ||||
| } | ||||
| .title { | ||||
|   text-align: center; | ||||
|   order: 1; | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 600px) { | ||||
|   .flexbox { | ||||
|     flex-direction: column; | ||||
|   } | ||||
|  | ||||
|   .menu { | ||||
|     order: 1; | ||||
|     text-align: center; | ||||
|   } | ||||
|   .dot-none { | ||||
|     list-style-type: none; | ||||
|   } | ||||
|   /* .content { | ||||
|     order: 3; | ||||
|   } */ | ||||
|   .title { | ||||
|     order: -1; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										183
									
								
								index/project/zivotopis/zivotopis.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,183 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|  | ||||
| <head> | ||||
|   <meta charset="UTF-8" /> | ||||
|   <meta name="viewport" | ||||
|     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> | ||||
|   <meta http-equiv="X-UA-Compatible" content="ie=edge" /> | ||||
|   <meta name="description" content="CV Lukáše Kaňky" /> | ||||
|   <meta name="keywords" content="Hlavní strana" /> | ||||
|   <meta name="author" content="Lukáš Kaňka" /> | ||||
|   <link rel="stylesheet" href="style-cv.css" /> | ||||
|   <title>Životopis</title> | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
|   <div class="flexbox"> | ||||
|     <!-- <div class="title"> | ||||
|       <h1>ŽIVOTOPIS LUKÁŠ<br> KAŇKA</h1> | ||||
|     </div> --> | ||||
|  | ||||
|  | ||||
|     <div class="menu"> | ||||
|       <img src="./image/1702045296079.jpeg" width="200" height="200" alt="Lukáš Kaňka" /> | ||||
|       <h2>Státní příslušnost:</h2> | ||||
|       <ul class="dot-none"> | ||||
|         <li>Česká</li> | ||||
|       </ul> | ||||
|  | ||||
|       <h2>Datum narození:</h2> | ||||
|       <ul class="dot-none"> | ||||
|         <li>2.4.1981</li> | ||||
|       </ul> | ||||
|       <h2>Kontakty:</h2> | ||||
|       <ul class="dot-none"> | ||||
|         <li> | ||||
|  | ||||
|           <a class="tlacitko" href="Tel: +420 725 303 747">Telefon: +420 725 303 747</a> | ||||
|         </li> | ||||
|         <li> | ||||
|           <a class="tlacitko" href="Mailto:lukas.kanka@lukan.cz" target="_blank">Email | ||||
|           </a> | ||||
|         </li> | ||||
|         <li> | ||||
|           <a class="tlacitko" href="https://lukaskanka.cz" target="_blank">Web</a> | ||||
|         </li> | ||||
|         <li> | ||||
|           <a class="tlacitko" href="https://github.com/LukasKanka" target="_blank">GitHub</a> | ||||
|         </li> | ||||
|         <li> | ||||
|           <a class="tlacitko" href="https://www.linkedin.com/in/luk%C3%A1%C5%A1-ka%C5%88ka-b2a0a1a0/" | ||||
|             target="_blank">LinkedIn</a> | ||||
|         </li> | ||||
|       </ul> | ||||
|  | ||||
|       <h2>Adresa:</h2> | ||||
|       <ul class="dot-none"> | ||||
|         <li>Petržílkova 27</li> | ||||
|         <li>Praha 13</li> | ||||
|         <li>158 00</li> | ||||
|       </ul> | ||||
|  | ||||
|     </div> | ||||
|     <div class="flexbox-content"> | ||||
|       <div class="title"> | ||||
|         <h1>ŽIVOTOPIS<br> LUKÁŠ KAŇKA</h1> | ||||
|       </div> | ||||
|  | ||||
|  | ||||
|       <div class="content"> | ||||
|  | ||||
|         <section class="info-section"> | ||||
|           <h2>O MNĚ</h2> | ||||
|           <hr /> | ||||
|           <p> | ||||
|             IT nadšenec s pozitivním přístupem k životu a vášní pro technologie. | ||||
|             Do světa IT jsem vstoupil jako Support, pak mě osud dovedl na pozici | ||||
|             Testera a v současné době měním svůj kariérní směr do Front-Endu. Kód | ||||
|             i programování mě lákalo už dlouho, baví mě zobrazení okamžitého | ||||
|             výsledku, který mi umožňuje zlepšení a zdokonalení kódu. Aktuálně se | ||||
|             vzdělávám ve Front-End Developer Akademii se zaměřením na znalosti | ||||
|             v JavaScript, HTML, CSS. Jako návazný krok bych své znalosti rád | ||||
|             prohluboval ve frameworcích React, Angular. | ||||
|           </p> | ||||
|         </section> | ||||
|         <section class="job-section"> | ||||
|           <h2>PRACOVNÍ ZKUŠENOSTI</h2> | ||||
|           <hr /> | ||||
|           <ul class="dot"> | ||||
|             <li> | ||||
|               <strong class="jobs">Tester softwaru</strong> | ||||
|             </li> | ||||
|             <li><strong>Uniprog Solutions, a.s [ 15/08/2022 – 14/08/2023 ]</strong></li> | ||||
|             <li>Město: Praha</li> | ||||
|             <li>Země: Česko</li> | ||||
|             <li>Manuální testování PowerBuilder aplikací.</li> | ||||
|             <li>Údržba a oprava automatizovaných testů Cucumber.</li> | ||||
|             <li>Manuální testování webových aplikací dle Test Case a dokumentace.</li> | ||||
|             <li>Komunikace napříč vývojovými týmy.</li> | ||||
|             <li>Technologie: MSSQL, Jira, PowerBuilder, GitLab.</li> | ||||
|           </ul> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="jobs">IT support</strong></li> | ||||
|             <li><strong>Comfort Finance Group CFG Živnostník [ 04/2022 – 07/2022 ]</strong></li> | ||||
|             <li> Město: Praha </li> | ||||
|             <li>Země: Česko </li> | ||||
|             <li>Poskytování IT podpory uživatelům (SW, HW), onboarding nováčků, | ||||
|               evidence skladu vybavení, řešení nastalých technických problémů.</li> | ||||
|             <li>Reporting systémových chyb na adekvátní oddělení.</li> | ||||
|             <li>Práce v OS Ubuntu Linux.</li> | ||||
|             <li>Práce s nástroji jako Intergromat, Jira.</li> | ||||
|           </ul> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="jobs">Řidič dodávky</strong></li> | ||||
|             <li> | ||||
|               <strong>Artglass Lighting Na plný úvazek [ 03/2016 – 04/2020 ]</strong><br /> | ||||
|               Země: Česko <br /> | ||||
|               Řízení dodávky, komunikace se zákazníky, podpora prodeje. | ||||
|             </li> | ||||
|           </ul> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="pozice">Řidič nákladního vozu</strong></li> | ||||
|             <li> | ||||
|               <strong>ČSAD Liberec Na plný úvazek [ 07/2006 – 08/2014 ]</strong> | ||||
|             </li> | ||||
|             <li>Řízení nákladních vozidel (MAN, DAF, Iveco, Renault). | ||||
|             </li> | ||||
|           </ul> | ||||
|         </section> | ||||
|         <section class="edu-section"> | ||||
|           <h2>VZDĚLÁNÍ A ODBORNÁ PŘÍPRAVA</h2> | ||||
|           <hr /> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="course">Základy Testingu, SQL, Web Services</strong></li> | ||||
|             <li> | ||||
|               <strong>Acamar [ 08/2020 ]</strong> | ||||
|             </li> | ||||
|             <li>Město: Praha </li> | ||||
|             <li>Země: Česko</li> | ||||
|           </ul> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="course">Úvod do Playwright</strong></li> | ||||
|             <li><strong>Tesena [ 04/2023 ]</strong></li> | ||||
|             <li>Město: Praha </li> | ||||
|             <li>Země: Česko</li> | ||||
|           </ul> | ||||
|         </section> | ||||
|         <section class="hobby-section"> | ||||
|           <h2>ZÁJMY A KONÍČKY</h2> | ||||
|           <hr /> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="fun"> | ||||
|                 Opensource, Linux, Sebevzdělávání v testingu a dalších technologiích, | ||||
|                 Cyklistika | ||||
|               </strong></li> | ||||
|             <li> | ||||
|               Na mi mo pracovních projektech mám základní zkušenosti se SW a | ||||
|               technologiemi jako: C#, .Net, NUnit, Selenium, Selenide,Cypress, | ||||
|               Playwrigt, Java, Linux Ubuntu a další distribuce, Docker, MacOS, | ||||
|               MangoDB, Windows, Obsidian. <br /> | ||||
|               Mimo jiné se ve volném čase účastním amatérských závodů na kole a rád | ||||
|               si zaběhám. | ||||
|             </li> | ||||
|           </ul> | ||||
|           <h2>DOBROVOLNICKÁ ČINNOST</h2> | ||||
|           <hr /> | ||||
|           <ul class="dot"> | ||||
|             <li><strong class="fun">Maper Missing Maps</strong></li> | ||||
|             <li> | ||||
|               Ve volném čase mapuji pro humanitární účely, v projektu | ||||
|               <a class="tlacitko" href="https://www.missingmaps.org" target="_blank">Missing Maps</a> | ||||
|               pomocí OSM na platformě | ||||
|               <a class="tlacitko" href="https://tasks.hotosm.org" target="_blank">Hot Tasking Manager</a>. | ||||
|             </li> | ||||
|           </ul> | ||||
|         </section> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   <footer>Copyright © Lukáš Kaňka 2023</footer> | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
							
								
								
									
										121
									
								
								index/projects/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,121 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>My Projects</title> | ||||
|     <link rel="stylesheet" href="../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">My Projects</h1> | ||||
|       <h2 class="project-tagline"> | ||||
|         Programs and apps that I have coded and random ideas that I fabricated. | ||||
|       </h2> | ||||
|  | ||||
|       <a href="../../" class="btn">Home</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|       <table> | ||||
|         <thead> | ||||
|           <tr> | ||||
|             <th>Project</th> | ||||
|             <th>Description</th> | ||||
|             <th>Link (local)</th> | ||||
|           </tr> | ||||
|         </thead> | ||||
|         <tbody> | ||||
|           <tr> | ||||
|             <td>Dark New Roman</td> | ||||
|             <td>A custom serif font based off of Times New Roman.</td> | ||||
|             <td> | ||||
|               <a href="../../res/downloads/DarkNewRoman.ttf" | ||||
|                 >Download font (truetype 28.9 KiB)</a | ||||
|               > | ||||
|             </td> | ||||
|           </tr> | ||||
|           <tr> | ||||
|             <td>Number System Converter (web)</td> | ||||
|             <td>Converts decimal numbers into other bases!</td> | ||||
|             <td> | ||||
|               <a href="./nsc-web/">nsc-web<sup>⨳</sup></a> | ||||
|             </td> | ||||
|           </tr> | ||||
|         </tbody> | ||||
|       </table> | ||||
|  | ||||
|       <br /> | ||||
|       <br /> | ||||
|  | ||||
|       <table> | ||||
|         <thead> | ||||
|           <tr> | ||||
|             <th>Project</th> | ||||
|             <th>Description</th> | ||||
|             <th>Link (external)</th> | ||||
|           </tr> | ||||
|         </thead> | ||||
|         <tbody> | ||||
|           <tr> | ||||
|             <td>Firefox black & red triangle theme</td> | ||||
|             <td>A red and black theme for firefox tabs.</td> | ||||
|             <td> | ||||
|               <a | ||||
|                 href="https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme" | ||||
|                 >https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme/</a | ||||
|               > | ||||
|             </td> | ||||
|           </tr> | ||||
|           <tr> | ||||
|             <td>RGB Progress Bar</td> | ||||
|             <td>Makes progress bars cycle through different RGB colors.</td> | ||||
|             <td> | ||||
|               <a href="https://addons.mozilla.org/addon/rgb-progress-bar/" | ||||
|                 >https://addons.mozilla.org/addon/rgb-progress-bar/</a | ||||
|               > | ||||
|             </td> | ||||
|           </tr> | ||||
|         </tbody> | ||||
|       </table> | ||||
|  | ||||
|       <br /> | ||||
|       <br /> | ||||
|  | ||||
|       <table> | ||||
|         <thead> | ||||
|           <tr> | ||||
|             <th>Github contribution</th> | ||||
|             <th>Description</th> | ||||
|             <th>Repository link</th> | ||||
|             <th>Language</th> | ||||
|           </tr> | ||||
|         </thead> | ||||
|         <tbody id="userRepo"> | ||||
|           <script src="./script/script.js"></script> | ||||
|         </tbody> | ||||
|       </table> | ||||
|  | ||||
|       <!-- <tr> | ||||
|           <td>Project</td> | ||||
|           <td> | ||||
|             Description | ||||
|           </td> | ||||
|           <td> | ||||
|             <a href="#">Link</a> | ||||
|           </td> | ||||
|         </tr> --> | ||||
|  | ||||
|       <footer class="site-footer"> | ||||
|         You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧ | ||||
|       </footer> | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										84
									
								
								index/projects/nsc-web/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,84 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Number System Converter</title> | ||||
|     <link rel="stylesheet" href="../../../style/style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|     <script src="./script/script.js"></script> | ||||
|     <style> | ||||
|       input { | ||||
|         width: 40%; | ||||
|       } | ||||
|     </style> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Number System Converter</h1> | ||||
|       <h2 class="project-tagline">Web version.</h2> | ||||
|  | ||||
|       <a href="../../../" class="btn">Home</a> | ||||
|       <a href="../" class="btn">Projects</a> | ||||
|     </header> | ||||
|  | ||||
|     <main id="content" class="main-content" role="main"> | ||||
|       <section> | ||||
|         <h3>Enter a decimal number to convert and a base.</h3> | ||||
|         <form> | ||||
|           <label for="number">Number:</label><br /> | ||||
|           <input | ||||
|             name="number" | ||||
|             id="number" | ||||
|             type="text" | ||||
|             step="1" | ||||
|             onChange="numberSystemConverter();" | ||||
|           /> | ||||
|           <br /> | ||||
|           <label for="base">Base (Range 2-36):</label><br /> | ||||
|           <input | ||||
|             name="base" | ||||
|             id="base" | ||||
|             type="number" | ||||
|             value="10" | ||||
|             step="1" | ||||
|             min="2" | ||||
|             max="36" | ||||
|             onChange="numberSystemConverter();" | ||||
|           /> | ||||
|           <br /> | ||||
|           <label for="new-base">New base (Range 2-36):</label><br /> | ||||
|           <input | ||||
|             name="new-base" | ||||
|             id="new-base" | ||||
|             type="number" | ||||
|             value="2" | ||||
|             step="1" | ||||
|             min="2" | ||||
|             max="36" | ||||
|             onChange="numberSystemConverter();" | ||||
|           /> | ||||
|           <br /> | ||||
|           <label for="converted">Converted number:</label><br /> | ||||
|           <input | ||||
|             name="converted" | ||||
|             id="converted" | ||||
|             type="text" | ||||
|             disabled="true" | ||||
|             onChange="numberSystemConverter();" | ||||
|           /> | ||||
|         </form> | ||||
|       </section> | ||||
|  | ||||
|       <footer class="site-footer"> | ||||
|         You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧ | ||||
|       </footer> | ||||
|     </main> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										19
									
								
								index/projects/nsc-web/script/script.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| numberSystemConverter(); | ||||
| function numberSystemConverter() { | ||||
|   let num = document.getElementById("number").value; | ||||
|   let base = document.getElementById("base").value; | ||||
|   let new_base = document.getElementById("new-base").value; | ||||
|  | ||||
|   base = parseInt(base); | ||||
|   new_base = parseInt(new_base); | ||||
|  | ||||
|   try { | ||||
|     let dec_num = parseInt(num, base); | ||||
|     let new_num = dec_num.toString(new_base); | ||||
|  | ||||
|     document.getElementById("converted").value = new_num; | ||||
|     console.log(`BASE ${base}: ${num} ==> BASE ${new_base}: ${new_num}`); | ||||
|   } catch (RangeError) { | ||||
|     console.log(`One or more bases is not in the range of 2 to 36.`); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										38
									
								
								index/projects/script/script.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,38 @@ | ||||
| requestUserRepos(); | ||||
|  | ||||
| function requestUserRepos() { | ||||
|   const xhr = new XMLHttpRequest(); | ||||
|   const url = `https://api.github.com/users/array-in-a-matrix/repos`; | ||||
|   xhr.open("GET", url, true); | ||||
|  | ||||
|   xhr.onload = function () { | ||||
|     const data = JSON.parse(this.response); | ||||
|     let root = document.getElementById("userRepo"); | ||||
|     while (root.firstChild) { | ||||
|       root.removeChild(root.firstChild); | ||||
|     } | ||||
|     let tbody = document.getElementById("userRepo"); | ||||
|     for (let i in data) { | ||||
|       let tr = document.createElement("tr"); | ||||
|       tr.classList.add("list-group-item"); | ||||
|  | ||||
|       function removeNull(disc) { | ||||
|         if (disc === null) { | ||||
|           const disc = "-"; | ||||
|           return disc; | ||||
|         } else { | ||||
|           return data[i].description; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       tr.innerHTML = ` | ||||
|                 <td>${data[i].name}</td> | ||||
|                 <td>${removeNull(data[i].description)}</td> | ||||
|                 <td><a href="${data[i].html_url}">${data[i].html_url}</a></td> | ||||
|                 <td>${data[i].language}</td> | ||||
|             `; | ||||
|       tbody.appendChild(tr); | ||||
|     } | ||||
|   }; | ||||
|   xhr.send(); | ||||
| } | ||||
							
								
								
									
										44
									
								
								index/repository/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,44 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="cs"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Repositáře</title> | ||||
|     <link | ||||
|       rel="stylesheet" | ||||
|       href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css" | ||||
|       integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" | ||||
|       crossorigin="anonymous" | ||||
|     /> | ||||
|     <link rel="stylesheet" type="text/css" href="../../style/alt.style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Repositáře</h1> | ||||
|       | ||||
|     </header> | ||||
|     <div class="main-content"> | ||||
|       <nav> | ||||
|         <a href="../../" class="btn">Domů</a> | ||||
|       </nav> | ||||
|       <nav> | ||||
|         <a href="https://git.archoslinux.cz/kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-gitea"></i> Gitea na ArchLinux CZ</a | ||||
|         > | ||||
|  | ||||
|         <a href="https://github.com/LukasKanka" class="btn" target="_blank" | ||||
|           ><i class="fa fa-github"></i> GitHub</a | ||||
|         > | ||||
|         | ||||
|       </nav> | ||||
|        | ||||
|     </div> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										73
									
								
								index/socials/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,73 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Socials</title> | ||||
|     <link | ||||
|       rel="stylesheet" | ||||
|       href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css" | ||||
|       integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" | ||||
|       crossorigin="anonymous" | ||||
|     /> | ||||
|     <link rel="stylesheet" type="text/css" href="../../style/alt.style.css" /> | ||||
|     <link | ||||
|       rel="icon" | ||||
|       type="image/x-icon" | ||||
|       href="../../res/site/icons/favicon.ico" | ||||
|     /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Mé Sociální sítě</h1> | ||||
|       <h2 class="project-tagline">Zde mě můžeš kontaktovat</h2> | ||||
|     </header> | ||||
|     <div class="main-content"> | ||||
|       <nav> | ||||
|         <a href="../../" class="btn">Domů</a> | ||||
|       </nav> | ||||
|       <nav> | ||||
|         <a href="https://mastodon.arch-linux.cz/deck/@Kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-mastodon"></i> Mastodon</a | ||||
|         > | ||||
|  | ||||
|         <a href="" class="btn" target="_blank" | ||||
|           ><i class="fa fa-matrix-org"></i> Matrix</a | ||||
|         > | ||||
|         <a href="https://www.linkedin.com/in/luk%C3%A1%C5%A1-ka%C5%88ka-b2a0a1a0/" class="btn" target="_blank" | ||||
|           ><i class="fa fa-linkedin"></i> LinkedIn</a | ||||
|         > | ||||
|         <a href="https://t.me/Kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-telegram"></i> Telegram</a | ||||
|         > | ||||
|         <a | ||||
|           href="https://discord.com/kankys_" | ||||
|           class="btn" target="_blank" | ||||
|           ><i class="fa fa-discord"></i> Discord</a | ||||
|         > | ||||
|       </nav> | ||||
|       <br /> | ||||
|       <nav> | ||||
|         <a href="https://git.archoslinux.cz/kankys" class="btn" target="_blank" | ||||
|           ><i class="fa fa-gitea"></i> Gitea</a | ||||
|         > | ||||
|         <a href="https://github.com/LukasKanka" class="btn" target="_blank" | ||||
|           ><i class="fa fa-github"></i> GitHub</a | ||||
|         > | ||||
|         <a href="https://pixelfed.cz/i/web/profile/464150575238569182" class="btn" | ||||
|           ><i class="fa fa-pixelfed"></i> Pixelded CZ</a | ||||
|         > | ||||
|         <!-- waiting for gitea to get federation --> | ||||
|         <!-- <a href=" class="btn" | ||||
|           ><i class="fa fa-gitea"></i> Gitea (Telodendria)</a | ||||
|         > --> | ||||
|         <!-- <a href="" class="btn" | ||||
|           ><i class="fa fa-gitea"></i> Forgejo (Freetards)</a | ||||
|         > --> | ||||
|          | ||||
|       </nav> | ||||
|     </div> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										17
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,17 @@ | ||||
| { | ||||
|   "lint-staged": { | ||||
|     "**/*": "prettier --write --ignore-unknown" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "eslint-config-prettier": "^8.10.0", | ||||
|     "husky": "^8.0.3", | ||||
|     "lint-staged": "^13.3.0", | ||||
|     "prettier": "2.8.4" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "eslint": "^8.54.0" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "prepare": "husky install" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										1336
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										27
									
								
								style/alt.index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,27 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en-US"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Array in a Matrix</title> | ||||
|     <link rel="stylesheet" type="text/css" href="./alt.style.css" /> | ||||
|     <link rel="icon" type="image/x-icon" href="../res/site/icons/favicon.ico" /> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <header class="page-header" role="banner"> | ||||
|       <h1 class="project-name">Project Name</h1> | ||||
|       <h2 class="project-tagline">Project tagline</h2> | ||||
|     </header> | ||||
|     <div class="main-content"> | ||||
|       <nav> | ||||
|         <a href="../" class="btn">Home</a> | ||||
|       </nav> | ||||
|       <nav> | ||||
|         <a href="#" class="btn">navigation button</a> | ||||
|         <a href="#" class="btn">navigation button</a> | ||||
|       </nav> | ||||
|     </div> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										315
									
								
								style/alt.style.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,315 @@ | ||||
| :root { | ||||
|   --primary: #fff; | ||||
|   --secondary: rgba(0, 0, 0, 0.5); | ||||
|   --tertiary: #151b74; | ||||
|   --transparent: transparent; | ||||
| } | ||||
|  | ||||
| /* Animations */ | ||||
| @-webkit-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-moz-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-o-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-webkit-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-moz-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-o-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| /* Main styles */ | ||||
| body { | ||||
|   margin-top: 13.5rem; | ||||
|   color: var(--primary); | ||||
|   font-family: Utopia, "Liberation Serif"; | ||||
|   text-align: center; | ||||
|   /* img size is 50x50 */ | ||||
|   background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==") | ||||
|     repeat 0 0; | ||||
|   -webkit-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Safari 4+ */ | ||||
|   -moz-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Fx 5+ */ | ||||
|   -o-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Opera 12+ */ | ||||
|   animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* IE 10+ */ | ||||
|   -webkit-animation-timing-function: linear; | ||||
|   -moz-animation-timing-function: linear; | ||||
|   -o-animation-timing-function: linear; | ||||
|   animation-timing-function: linear; | ||||
| } | ||||
|  | ||||
| .larger-name { | ||||
|   font-size: larger; | ||||
| } | ||||
|  | ||||
| .smaller-name { | ||||
|   font-size: smaller; | ||||
| } | ||||
|  | ||||
| .main-content { | ||||
|   font-family: "Montserrat", sans-serif; | ||||
| } | ||||
|  | ||||
| .project-name { | ||||
|   color: --primary; | ||||
|   font-family: Utopia, "Liberation Serif"; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .project-name { | ||||
|     font-size: 8rem; | ||||
|   } | ||||
|  | ||||
|   .main-content { | ||||
|     font-size: 1.5rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .project-name { | ||||
|     font-size: 4rem; | ||||
|   } | ||||
|  | ||||
|   .main-content { | ||||
|     font-size: 1.25rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .project-name { | ||||
|     font-size: 2rem; | ||||
|   } | ||||
|  | ||||
|   .main-content { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| a { | ||||
|   background-color: var(--transparent); | ||||
| } | ||||
|  | ||||
| a:active, | ||||
| a:hover { | ||||
|   outline: 0; | ||||
| } | ||||
|  | ||||
| a { | ||||
|   color: var(--tertiary); | ||||
|   text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:hover { | ||||
|   text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .btn { | ||||
|   display: inline-block; | ||||
|   margin-bottom: 1rem; | ||||
|   color: var(--primary); | ||||
|   background-color: var(--secondary); | ||||
|   border-color: rgba(255, 255, 255, 0.2); | ||||
|   border-style: solid; | ||||
|   border-width: 1px; | ||||
|   border-radius: 0.3rem; | ||||
|   transition: color 0.2s, background-color 0.2s, border-color 0.2s; | ||||
| } | ||||
|  | ||||
| .btn:hover { | ||||
|   color: rgba(255, 255, 255, 0.8); | ||||
|   text-decoration: none; | ||||
|   background-color: rgba(255, 255, 255, 0.2); | ||||
|   border-color: rgba(255, 255, 255, 0.3); | ||||
| } | ||||
|  | ||||
| .btn + .btn { | ||||
|   margin-left: 1rem; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .btn { | ||||
|     padding: 0.75rem 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .btn { | ||||
|     padding: 0.6rem 0.9rem; | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .btn { | ||||
|     display: block; | ||||
|     width: 100%; | ||||
|     padding: 0.75rem; | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
|  | ||||
|   .btn + .btn { | ||||
|     margin-top: 1rem; | ||||
|     margin-left: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| * { | ||||
|   box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| button, | ||||
| input, | ||||
| optgroup, | ||||
| select, | ||||
| textarea { | ||||
|   color: inherit; | ||||
|   font: inherit; | ||||
|   margin: 0; | ||||
| } | ||||
|  | ||||
| button { | ||||
|   overflow: visible; | ||||
| } | ||||
|  | ||||
| button, | ||||
| select { | ||||
|   text-transform: none; | ||||
| } | ||||
|  | ||||
| button, | ||||
| html input[type="button"], | ||||
| input[type="reset"], | ||||
| input[type="submit"] { | ||||
|   -webkit-appearance: button; | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| button[disabled], | ||||
| html input[disabled] { | ||||
|   cursor: default; | ||||
| } | ||||
|  | ||||
| button::-moz-focus-inner, | ||||
| input::-moz-focus-inner { | ||||
|   border: 0; | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| .dropdown { | ||||
|   position: relative; | ||||
|   display: inline-block; | ||||
| } | ||||
|  | ||||
| .dropdown-content { | ||||
|   display: none; | ||||
|   position: relative; | ||||
| } | ||||
|  | ||||
| .dropdown:hover .dropdown-content { | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| .project-tagline { | ||||
|   margin-bottom: 2rem; | ||||
|   font-weight: normal; | ||||
|   opacity: 0.7; | ||||
|   font-family: "Montserrat", sans-serif; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1.25rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1.15rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| footer, | ||||
| site-footer { | ||||
|   font-family: "Montserrat", sans-serif; | ||||
|   font-size: small; | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .site-footer { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .site-footer { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .site-footer { | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| sub, | ||||
| sup { | ||||
|   font-size: 75%; | ||||
|   line-height: 0; | ||||
|   position: relative; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| sup { | ||||
|   top: -0.5em; | ||||
| } | ||||
|  | ||||
| sub { | ||||
|   bottom: -0.25em; | ||||
| } | ||||
							
								
								
									
										744
									
								
								style/style.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,744 @@ | ||||
| /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ | ||||
| @import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap"); | ||||
|  | ||||
| html { | ||||
|   font-family: "Montserrat", sans-serif; | ||||
|   -ms-text-size-adjust: 100%; | ||||
|   -webkit-text-size-adjust: 100%; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   margin: 0; | ||||
| } | ||||
|  | ||||
| article, | ||||
| aside, | ||||
| details, | ||||
| figcaption, | ||||
| figure, | ||||
| footer, | ||||
| header, | ||||
| hgroup, | ||||
| main, | ||||
| menu, | ||||
| nav, | ||||
| section, | ||||
| summary { | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| audio, | ||||
| canvas, | ||||
| progress, | ||||
| video { | ||||
|   display: inline-block; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| audio:not([controls]) { | ||||
|   display: none; | ||||
|   height: 0; | ||||
| } | ||||
|  | ||||
| [hidden], | ||||
| template { | ||||
|   display: none; | ||||
| } | ||||
|  | ||||
| a { | ||||
|   background-color: transparent; | ||||
| } | ||||
|  | ||||
| a:active, | ||||
| a:hover { | ||||
|   outline: 0; | ||||
| } | ||||
|  | ||||
| abbr[title] { | ||||
|   border-bottom: 1px dotted; | ||||
| } | ||||
|  | ||||
| b, | ||||
| strong { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| dfn { | ||||
|   font-style: italic; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|   font-size: 2em; | ||||
|   margin: 0.67em 0; | ||||
| } | ||||
|  | ||||
| mark { | ||||
|   background: #ff0; | ||||
|   color: #000; | ||||
| } | ||||
|  | ||||
| small { | ||||
|   font-size: 80%; | ||||
| } | ||||
|  | ||||
| sub, | ||||
| sup { | ||||
|   font-size: 75%; | ||||
|   line-height: 0; | ||||
|   position: relative; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| sup { | ||||
|   top: -0.5em; | ||||
| } | ||||
|  | ||||
| sub { | ||||
|   bottom: -0.25em; | ||||
| } | ||||
|  | ||||
| img { | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| svg:not(:root) { | ||||
|   overflow: hidden; | ||||
| } | ||||
|  | ||||
| figure { | ||||
|   margin: 1em 40px; | ||||
| } | ||||
|  | ||||
| hr { | ||||
|   box-sizing: content-box; | ||||
|   height: 0; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|   overflow: auto; | ||||
| } | ||||
|  | ||||
| code, | ||||
| kbd, | ||||
| pre, | ||||
| samp { | ||||
|   font-family: monospace, monospace; | ||||
|   font-size: 1em; | ||||
| } | ||||
|  | ||||
| button, | ||||
| input, | ||||
| optgroup, | ||||
| select, | ||||
| textarea { | ||||
|   color: inherit; | ||||
|   font: inherit; | ||||
|   margin: 0; | ||||
| } | ||||
|  | ||||
| button { | ||||
|   overflow: visible; | ||||
| } | ||||
|  | ||||
| button, | ||||
| select { | ||||
|   text-transform: none; | ||||
| } | ||||
|  | ||||
| button, | ||||
| html input[type="button"], | ||||
| input[type="reset"], | ||||
| input[type="submit"] { | ||||
|   -webkit-appearance: button; | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| button[disabled], | ||||
| html input[disabled] { | ||||
|   cursor: default; | ||||
| } | ||||
|  | ||||
| button::-moz-focus-inner, | ||||
| input::-moz-focus-inner { | ||||
|   border: 0; | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| input { | ||||
|   line-height: normal; | ||||
| } | ||||
|  | ||||
| input[type="checkbox"], | ||||
| input[type="radio"] { | ||||
|   box-sizing: border-box; | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| input[type="number"]::-webkit-inner-spin-button, | ||||
| input[type="number"]::-webkit-outer-spin-button { | ||||
|   height: auto; | ||||
| } | ||||
|  | ||||
| input[type="search"] { | ||||
|   -webkit-appearance: textfield; | ||||
|   box-sizing: content-box; | ||||
| } | ||||
|  | ||||
| input[type="search"]::-webkit-search-cancel-button, | ||||
| input[type="search"]::-webkit-search-decoration { | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| fieldset { | ||||
|   border: 1px solid #c0c0c0; | ||||
|   margin: 0 2px; | ||||
|   padding: 0.35em 0.625em 0.75em; | ||||
| } | ||||
|  | ||||
| legend { | ||||
|   border: 0; | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| textarea { | ||||
|   overflow: auto; | ||||
| } | ||||
|  | ||||
| optgroup { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| table { | ||||
|   border-collapse: collapse; | ||||
|   border-spacing: 0; | ||||
| } | ||||
|  | ||||
| td, | ||||
| th { | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| * { | ||||
|   box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   padding: 0; | ||||
|   margin: 0; | ||||
|   font-family: "Montserrat", sans-serif; | ||||
|   font-size: 16px; | ||||
|   line-height: 1.5; | ||||
|   color: #606c71; | ||||
| } | ||||
|  | ||||
| #skip-to-content { | ||||
|   height: 1px; | ||||
|   width: 1px; | ||||
|   position: absolute; | ||||
|   overflow: hidden; | ||||
|   top: -10px; | ||||
| } | ||||
|  | ||||
| #skip-to-content:focus { | ||||
|   position: fixed; | ||||
|   top: 10px; | ||||
|   left: 10px; | ||||
|   height: auto; | ||||
|   width: auto; | ||||
|   background: #e19447; | ||||
|   outline: thick solid #e19447; | ||||
| } | ||||
|  | ||||
| a { | ||||
|   color: #1e6bb8; | ||||
|   text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:hover { | ||||
|   text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .btn { | ||||
|   display: inline-block; | ||||
|   margin-bottom: 1rem; | ||||
|   color: rgba(255, 255, 255, 0.7); | ||||
|   background-color: rgba(255, 255, 255, 0.08); | ||||
|   border-color: rgba(255, 255, 255, 0.2); | ||||
|   border-style: solid; | ||||
|   border-width: 1px; | ||||
|   border-radius: 0.3rem; | ||||
|   transition: color 0.2s, background-color 0.2s, border-color 0.2s; | ||||
| } | ||||
|  | ||||
| .btn:hover { | ||||
|   color: rgba(255, 255, 255, 0.8); | ||||
|   text-decoration: none; | ||||
|   background-color: rgba(255, 255, 255, 0.2); | ||||
|   border-color: rgba(255, 255, 255, 0.3); | ||||
| } | ||||
|  | ||||
| .btn + .btn { | ||||
|   margin-left: 1rem; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .btn { | ||||
|     padding: 0.75rem 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .btn { | ||||
|     padding: 0.6rem 0.9rem; | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .btn { | ||||
|     display: block; | ||||
|     width: 100%; | ||||
|     padding: 0.75rem; | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
|  | ||||
|   .btn + .btn { | ||||
|     margin-top: 1rem; | ||||
|     margin-left: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .page-header { | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| @-webkit-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-moz-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-o-keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @keyframes bg-scrolling-reverse { | ||||
|   100% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-webkit-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-moz-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @-o-keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @keyframes bg-scrolling { | ||||
|   0% { | ||||
|     background-position: 50px 50px; | ||||
|   } | ||||
| } | ||||
|  | ||||
| body { | ||||
|   background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==") | ||||
|     repeat 0 0; | ||||
|   -webkit-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Safari 4+ */ | ||||
|   -moz-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Fx 5+ */ | ||||
|   -o-animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* Opera 12+ */ | ||||
|   animation: bg-scrolling-reverse 0.92s infinite; | ||||
|   /* IE 10+ */ | ||||
|   -webkit-animation-timing-function: linear; | ||||
|   -moz-animation-timing-function: linear; | ||||
|   -o-animation-timing-function: linear; | ||||
|   animation-timing-function: linear; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .page-header { | ||||
|     padding: 5rem 6rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .page-header { | ||||
|     padding: 3rem 4rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .page-header { | ||||
|     padding: 2rem 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .project-name { | ||||
|   margin-top: 0; | ||||
|   margin-bottom: 0.1rem; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .project-name { | ||||
|     font-size: 3.25rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .project-name { | ||||
|     font-size: 2.25rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .project-name { | ||||
|     font-size: 1.75rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .project-tagline { | ||||
|   margin-bottom: 2rem; | ||||
|   font-weight: normal; | ||||
|   opacity: 0.7; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1.25rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1.15rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .project-tagline { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .main-content { | ||||
|   word-wrap: break-word; | ||||
|   background-color: #fff; | ||||
|   background-color: rgba(250, 250, 250, 0.712); | ||||
| } | ||||
|  | ||||
| .main-content :first-child { | ||||
|   margin-top: 0; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .main-content { | ||||
|     max-width: 64rem; | ||||
|     padding: 2rem 6rem; | ||||
|     margin: 0 auto; | ||||
|     font-size: 1.1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .main-content { | ||||
|     padding: 2rem 4rem; | ||||
|     font-size: 1.1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .main-content { | ||||
|     padding: 2rem 1rem; | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .main-content kbd { | ||||
|   background-color: #fafbfc; | ||||
|   border: 1px solid #c6cbd1; | ||||
|   border-bottom-color: #959da5; | ||||
|   border-radius: 3px; | ||||
|   box-shadow: inset 0 -1px 0 #959da5; | ||||
|   color: #444d56; | ||||
|   display: inline-block; | ||||
|   font-size: 11px; | ||||
|   line-height: 10px; | ||||
|   padding: 3px 5px; | ||||
|   vertical-align: middle; | ||||
| } | ||||
|  | ||||
| .main-content img { | ||||
|   max-width: 100%; | ||||
| } | ||||
|  | ||||
| .main-content h1, | ||||
| .main-content h2, | ||||
| .main-content h3, | ||||
| .main-content h4, | ||||
| .main-content h5, | ||||
| .main-content h6 { | ||||
|   margin-top: 2rem; | ||||
|   margin-bottom: 1rem; | ||||
|   font-weight: normal; | ||||
|   color: #000; | ||||
| } | ||||
|  | ||||
| .main-content p { | ||||
|   margin-bottom: 1em; | ||||
| } | ||||
|  | ||||
| .main-content code { | ||||
|   padding: 2px 4px; | ||||
|   font-family: "Montserrat", sans-serif; | ||||
|   font-size: 0.9rem; | ||||
|   color: #567482; | ||||
|   background-color: #f3f6fa; | ||||
|   border-radius: 0.3rem; | ||||
| } | ||||
|  | ||||
| .main-content pre { | ||||
|   padding: 0.8rem; | ||||
|   margin-top: 0; | ||||
|   margin-bottom: 1rem; | ||||
|   font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; | ||||
|   color: #567482; | ||||
|   word-wrap: normal; | ||||
|   background-color: #f3f6fa; | ||||
|   border: solid 1px #dce6f0; | ||||
|   border-radius: 0.3rem; | ||||
| } | ||||
|  | ||||
| .main-content pre > code { | ||||
|   padding: 0; | ||||
|   margin: 0; | ||||
|   font-size: 0.9rem; | ||||
|   color: #567482; | ||||
|   word-break: normal; | ||||
|   white-space: pre; | ||||
|   background: transparent; | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| .main-content .highlight { | ||||
|   margin-bottom: 1rem; | ||||
| } | ||||
|  | ||||
| .main-content .highlight pre { | ||||
|   margin-bottom: 0; | ||||
|   word-break: normal; | ||||
| } | ||||
|  | ||||
| .main-content .highlight pre, | ||||
| .main-content pre { | ||||
|   padding: 0.8rem; | ||||
|   overflow: auto; | ||||
|   font-size: 0.9rem; | ||||
|   line-height: 1.45; | ||||
|   border-radius: 0.3rem; | ||||
|   -webkit-overflow-scrolling: touch; | ||||
| } | ||||
|  | ||||
| .main-content pre code, | ||||
| .main-content pre tt { | ||||
|   display: inline; | ||||
|   max-width: initial; | ||||
|   padding: 0; | ||||
|   margin: 0; | ||||
|   overflow: initial; | ||||
|   line-height: inherit; | ||||
|   word-wrap: normal; | ||||
|   background-color: transparent; | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| .main-content pre code:before, | ||||
| .main-content pre code:after, | ||||
| .main-content pre tt:before, | ||||
| .main-content pre tt:after { | ||||
|   content: normal; | ||||
| } | ||||
|  | ||||
| .main-content ul, | ||||
| .main-content ol { | ||||
|   margin-top: 0; | ||||
| } | ||||
|  | ||||
| .main-content blockquote { | ||||
|   padding: 0 1rem; | ||||
|   margin-left: 0; | ||||
|   color: #819198; | ||||
|   border-left: 0.3rem solid #dce6f0; | ||||
| } | ||||
|  | ||||
| .main-content blockquote > :first-child { | ||||
|   margin-top: 0; | ||||
| } | ||||
|  | ||||
| .main-content blockquote > :last-child { | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| .main-content table { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
|   overflow: auto; | ||||
|   word-break: normal; | ||||
|   word-break: keep-all; | ||||
|   -webkit-overflow-scrolling: touch; | ||||
| } | ||||
|  | ||||
| .main-content table th { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .main-content table th, | ||||
| .main-content table td { | ||||
|   padding: 0.5rem 1rem; | ||||
|   border: 1px solid #e9ebec; | ||||
| } | ||||
|  | ||||
| .main-content dl { | ||||
|   padding: 0; | ||||
| } | ||||
|  | ||||
| .main-content dl dt { | ||||
|   padding: 0; | ||||
|   margin-top: 1rem; | ||||
|   font-size: 1rem; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .main-content dl dd { | ||||
|   padding: 0; | ||||
|   margin-bottom: 1rem; | ||||
| } | ||||
|  | ||||
| .main-content hr { | ||||
|   height: 2px; | ||||
|   padding: 0; | ||||
|   margin: 1rem 0; | ||||
|   background-color: #dce6f0; | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| .site-footer { | ||||
|   padding-top: 2rem; | ||||
|   margin-top: 2rem; | ||||
|   border-top: solid 1px #eff0f1; | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 64em) { | ||||
|   .site-footer { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (min-width: 42em) and (max-width: 64em) { | ||||
|   .site-footer { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media screen and (max-width: 42em) { | ||||
|   .site-footer { | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .gameButton { | ||||
|   font-size: 400%; | ||||
|   text-align: center; | ||||
|   background-color: rgba(0, 0, 0, 0.08); | ||||
| } | ||||
|  | ||||
| .game { | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| :target:not(main) { | ||||
|   animation: highlight 1s ease; | ||||
|   transform: translateX(20px); | ||||
| } | ||||
|  | ||||
| @keyframes highlight { | ||||
|   0% { | ||||
|     border-left-color: yellow; | ||||
|   } | ||||
|  | ||||
|   100% { | ||||
|     border-left-color: rgba(255, 255, 255, 0); | ||||
|   } | ||||
| } | ||||
|  | ||||
| :target:not(main) { | ||||
|   border-left: 40px solid rgba(255, 255, 255, 0); | ||||
|   padding: 0px; | ||||
|   transition: all 0.5s ease; | ||||
|   padding-right: 50px; | ||||
|   margin-left: -20px; | ||||
| } | ||||
|  | ||||
| .zoom { | ||||
|   transition: transform 0.2s; | ||||
|   margin: 0 auto; | ||||
| } | ||||
|  | ||||
| .zoom:hover { | ||||
|   transform: scale(1.5); | ||||
| } | ||||
|  | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| .grid { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: space-evenly; | ||||
|   margin: auto; | ||||
|   gap: 4%; | ||||
| } | ||||
|  | ||||
| .grid-item { | ||||
|   margin: 4% 0; | ||||
|   width: 15rem; | ||||
|   height: 22rem; | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| .grid-item div { | ||||
|   height: 50%; | ||||
| } | ||||
|  | ||||
| .grid-item img { | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   object-fit: contain; | ||||
| } | ||||
|  | ||||
| .grid-item-banner { | ||||
|   width: 88px; | ||||
| } | ||||