From 98e51f670775cd68f28e9caca7e633476b530b3c Mon Sep 17 00:00:00 2001 From: Sunland Date: Tue, 22 Oct 2024 09:44:45 -0700 Subject: [PATCH] Add files via upload --- LICENSE | 674 ++++++++++++++++++++++++++++++ README.md | 30 ++ archive.php | 57 +++ content.php | 49 +++ editor-style-rtl.css | 0 editor-style.css | 0 excerpt.php | 31 ++ footer.php | 40 ++ functions.php | 185 +++++++++ header.php | 85 ++++ includes/TSWlogo.png | Bin 0 -> 7198 bytes includes/customizer.php | 216 ++++++++++ includes/harmony-theme.js | 21 + includes/theme-admin-menu.php | 144 +++++++ index.php | 61 +++ languages/harmony.pot | 21 + parts/content.php | 51 +++ parts/excerpt.php | 46 +++ parts/nocontent.php | 64 +++ screenshot.png | Bin 0 -> 23090 bytes sidebar.php | 22 + style-rtl.css | 139 +++++++ style.css | 753 ++++++++++++++++++++++++++++++++++ 23 files changed, 2689 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 archive.php create mode 100644 content.php create mode 100644 editor-style-rtl.css create mode 100644 editor-style.css create mode 100644 excerpt.php create mode 100644 footer.php create mode 100644 functions.php create mode 100644 header.php create mode 100644 includes/TSWlogo.png create mode 100644 includes/customizer.php create mode 100644 includes/harmony-theme.js create mode 100644 includes/theme-admin-menu.php create mode 100644 index.php create mode 100644 languages/harmony.pot create mode 100644 parts/content.php create mode 100644 parts/excerpt.php create mode 100644 parts/nocontent.php create mode 100644 screenshot.png create mode 100644 sidebar.php create mode 100644 style-rtl.css create mode 100644 style.css diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + 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. + + + Copyright (C) + + 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 . + +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: + + Copyright (C) + 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 +. + + 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 +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..504e6a7 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Harmony +Harmony is a theme built for readability and ease of customizing. + +- Requires PHP: 7.4 +- Requires CP: 1.4 +- Version: 1.0.1 +- Author: Larry Judd +- Tags: two-columns, translation-ready, featured-images, blog, e-commerce, news, custom-menu, custom-background, custom-logo, custom-header +- License: GPL 3 (see LICENSE) +- Text domain: april + +# Description +Harmony is a blogging theme made for ClassicPress. Features include fast loading templates. Upload Hero Image. Position for Image. Placement of Call to Action buttons. Choose the font family type. Demo at https://leadspilot.com/april-theme + +# Features +Theme Options Include: + + - Upload Hero Image. + - Position for Image. + Position of background image. + - Placement of Call to Action buttons. + - Font for Content + Choose the font family type. + +Theme built with CSS3 grid templating specifications for full mobile and small device support. + +# Support +Use https://github.com/tradesouthwest/harmony/issues to post your issues with this theme. + + diff --git a/archive.php b/archive.php new file mode 100644 index 0000000..6d1682d --- /dev/null +++ b/archive.php @@ -0,0 +1,57 @@ + + +
+ +
+ +

+ ' . get_the_author() . ''; + } elseif ( is_post_type_archive() ) { + $atitle = post_type_archive_title( '', false ); + } elseif ( is_tax() ) { + $atitle = single_term_title( '', false ); + } else { + $atitle = ''; + } + echo esc_html( $atitle ); + ?>

+ + + +
+ +
+ + + +
+ +
+ + diff --git a/content.php b/content.php new file mode 100644 index 0000000..df00853 --- /dev/null +++ b/content.php @@ -0,0 +1,49 @@ + + + diff --git a/editor-style-rtl.css b/editor-style-rtl.css new file mode 100644 index 0000000..e69de29 diff --git a/editor-style.css b/editor-style.css new file mode 100644 index 0000000..e69de29 diff --git a/excerpt.php b/excerpt.php new file mode 100644 index 0000000..cc3e43e --- /dev/null +++ b/excerpt.php @@ -0,0 +1,31 @@ + + + diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..47b595d --- /dev/null +++ b/footer.php @@ -0,0 +1,40 @@ + +
+
+ +
+
+

+ ' ); + } + ?> + +

+
+
+
+ +
+
+ +
+ + + + diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..99cd644 --- /dev/null +++ b/functions.php @@ -0,0 +1,185 @@ + 420, + 'width' => 680, + 'flex-height' => true, + ) + ); + + // add primary menu + register_nav_menus( + array( + 'primary' => __( 'Primary Menu', 'harmony' ), + 'secondary' => __( 'Very Top Menu', 'harmony' ), + ) + ); + } + +/** + * Enqueue scripts and styles. + * + * @since 1.0.0 + */ +add_action( + 'wp_enqueue_scripts', __NAMESPACE__.'\enqueue_scripts' ); + function enqueue_scripts() + { + wp_enqueue_style( 'harmony-style', + HARMONY_URL . '/style.css', + array(), + HARMONY_VERSION + ); + wp_enqueue_script( 'harmony-theme-script', + HARMONY_URL . '/includes/harmony-theme.js', + array( 'jquery' ), + HARMONY_VERSION, + false + ); + // rtl style + wp_style_add_data( 'harmony-style', + 'rtl', + 'replace' + ); + // comment scripts + if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { + wp_enqueue_script( + 'comment-reply' + ); + } + } + +/** #A4 + * Registers a widget area. + * + * @link https://developer.wordpress.org/reference/functions/register_sidebar/ + * + * @since themename 1.0 + */ +add_action( + 'widgets_init', __NAMESPACE__.'\load_widgets' ); + function load_widgets() + { + register_sidebar( + array( + 'name' => __( 'Primary Sidebar', 'harmony' ), + 'id' => 'sidebar-primary', + 'description' => __( 'Appears before the footer section', 'harmony' ), + 'before_widget' => '
', + 'after_widget' => '
', + 'before_title' => '

', + 'after_title' => '

', + ) + ); + } + +/** + * Returns a custom logo, linked to home + * + * @since 1.0.1 + */ +add_action( + 'harmony_render_logo', __NAMESPACE__.'\render_logo' ); + function render_logo() + { + if( has_custom_logo() ) : + $logourl = esc_url( wp_get_attachment_url( get_theme_mod( 'custom_logo' ) ) ); + + echo ''; + endif; + } + +/** + * Return post thumbnail on excerpts + * + * @since 1.0.1 + * @return Boolean + */ +add_action( 'harmony_thumbnail', __NAMESPACE__.'\render_thumbnail' ); + function render_thumbnail() + { + // If there are images + if ( has_post_thumbnail() ) { + echo '
'; + the_post_thumbnail(); + echo '
'; + } else { + echo ''; + } + } + +/** + * Include helper files + * + * @since 1.0.0 + */ +require( HARMONY_DIR . '/includes/customizer.php' ); + +if ( is_admin() ) : + require( HARMONY_DIR . '/includes/theme-admin-menu.php' ); +endif; + diff --git a/header.php b/header.php new file mode 100644 index 0000000..217506c --- /dev/null +++ b/header.php @@ -0,0 +1,85 @@ + +> + + + + + + + + + + +> + + +
+
+ + + + + + + +
+
+ +
+ +
+

+

+
+ +
+ +
+
diff --git a/includes/TSWlogo.png b/includes/TSWlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..3391f8946d933a6356615cdc09918f456dd300eb GIT binary patch literal 7198 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 O+*H%Uma5!){(k_selective_refresh ? 'postMessage' : 'refresh' ); + // Theme font choice section + $wp_customize->add_section( 'harmony_general', array( + 'title' => __( 'Harmony Theme Settings', 'harmony' ), + 'capability' => 'edit_theme_options', + 'priority' => 20 + ) ); + + //-----------------Settings and Controls ----------- + + // Add setting & control for font type + $wp_customize->add_setting( + 'harmony_fontfamily', array( + 'type' => 'theme_mod', + 'default' => 'sans-serif', + 'sanitize_callback' => 'sanitize_text_field', + 'transport' => 'refresh' + )); + $wp_customize->add_control( 'harmony_fontfamily', array( + 'label' => esc_html__( 'Font for Content', 'harmony'), + 'section' => 'harmony_general', + 'settings' => 'harmony_fontfamily', + 'description' => esc_html__( 'Choose the font family type.', 'harmony'), + 'type' => 'select', + 'choices' => array( + 'inherit' => esc_attr__( 'Select font', 'harmony' ), + 'sans-serif' => esc_attr__( 'Sans Serif', 'harmony'), + 'serif' => esc_attr__( 'Serif', 'harmony'), + 'Helvetica' => esc_attr__( 'Helvetica', 'harmony'), + 'Arial' => esc_attr__( 'Arial', 'harmony'), + 'monospace' => esc_attr__( 'Monospace', 'harmony'), + ) + )); + + $wp_customize->add_setting( + 'harmony_fontalign', array( + 'type' => 'theme_mod', + 'default' => 'justify', + 'sanitize_callback' => 'sanitize_text_field', + 'transport' => 'refresh' + )); + $wp_customize->add_control( 'harmony_fontalign', array( + 'label' => esc_html__( 'Font Alignment', 'harmony'), + 'section' => 'harmony_general', + 'settings' => 'harmony_fontalign', + 'description' => esc_html__( 'Set how you want the paragraphs to display.', 'harmony'), + 'type' => 'select', + 'choices' => array( + 'justify' => esc_attr__( 'Justify', 'harmony' ), + 'left' => esc_attr__( 'Left', 'harmony'), + 'center' => esc_attr__( 'Centered', 'harmony'), + 'right' => esc_attr__( 'Right', 'harmony'), + 'inherit ' => esc_attr__( 'None', 'harmony') + ) + )); + + // position of thumbnail in excerpts + $wp_customize->add_setting( + 'harmony_thumbnail', array( + 'type' => 'theme_mod', + 'default' => 'center', + 'sanitize_callback' => 'sanitize_text_field', + 'transport' => 'refresh' + )); + $wp_customize->add_control( 'harmony_thumbnail', array( + 'label' => esc_html__( 'Position of Thumbnail', 'harmony'), + 'section' => 'harmony_general', + 'settings' => 'harmony_thumbnail', + 'description' => esc_html__( 'Set where you want the excerpt thumbnail to display.', 'harmony'), + 'type' => 'select', + 'choices' => array( + 'flex-start' => esc_attr__( 'Left', 'harmony'), + 'center' => esc_attr__( 'Centered', 'harmony'), + 'flex-end' => esc_attr__( 'Right', 'harmony'), + 'inherit' => esc_attr__( 'None', 'harmony') + ) + )); + + $wp_customize->add_setting( + 'harmony_maxwidth', array( + 'type' => 'theme_mod', + 'default' => '1200', + 'sanitize_callback' => 'sanitize_text_field', + 'transport' => 'refresh' + )); + $wp_customize->add_control( 'harmony_maxwidth', array( + 'label' => esc_html__( 'Maximum Width of Content', 'harmony'), + 'section' => 'harmony_general', + 'settings' => 'harmony_maxwidth', + 'description' => esc_html__( 'Sets the width of the aricles for pages and posts. (in pixels)', 'harmony'), + 'type' => 'number' + )); + + /* Background */ + $wp_customize->add_setting( + 'harmony_brandcolor', array( + 'type' => 'theme_mod', + 'default' => '#fafafa', + 'sanitize_callback' => 'sanitize_hex_color', + 'capability' => 'edit_theme_options', + 'transport' => 'refresh' + )); + $wp_customize->add_control( new WP_Customize_Color_Control( + $wp_customize, + 'harmony_brandcolor', + array('label' => __( 'Background of Site Branding', 'harmony' ), + 'section' => 'colors', + 'settings' => 'harmony_brandcolor' + ) ) + ); + /* Boxshadow color */ + $wp_customize->add_setting( + 'harmony_shadowclr', array( + 'type' => 'theme_mod', + 'default' => '#e9e9e9', + 'sanitize_callback' => 'sanitize_hex_color', + 'capability' => 'edit_theme_options', + 'transport' => 'refresh' + )); + $wp_customize->add_control( new WP_Customize_Color_Control( + $wp_customize, + 'harmony_shadowclr', + array('label' => __( 'BoxShadow Color', 'harmony' ), + 'section' => 'colors', + 'settings' => 'harmony_shadowclr' + ) ) + ); + +} diff --git a/includes/harmony-theme.js b/includes/harmony-theme.js new file mode 100644 index 0000000..9de1cf9 --- /dev/null +++ b/includes/harmony-theme.js @@ -0,0 +1,21 @@ +/* https://codepen.io/completewebco/pen/Powwxbd */ +/* begin Back to Top button */ + + function trackScroll() { + var scrolled = window.scrollY; + var coords = document.documentElement.clientHeight; + + if (scrolled > coords) { + goTopBtn.classList.add('back_to_top-show'); + } + if (scrolled < coords) { + goTopBtn.classList.remove('back_to_top-show'); + } + } + + function backToTop() { + if (window.scrollY > 0) { + window.scrollBy(0, -80); + setTimeout(backToTop, 10); + } + } diff --git a/includes/theme-admin-menu.php b/includes/theme-admin-menu.php new file mode 100644 index 0000000..9f6c2bb --- /dev/null +++ b/includes/theme-admin-menu.php @@ -0,0 +1,144 @@ + 'sanitize_text_field', + ) + ); + add_settings_section('main_section', + esc_html__( 'Main Settings', 'harmony' ), + 'harmony_section_info_cb', + __FILE__ + ); + add_settings_field('harmony_ad_one', + esc_html__( 'Basic Info', 'harmony' ), + 'harmony_ad_setting_one', + __FILE__, + 'main_section' + ); + add_settings_field('harmony_ad_two', + esc_html__( 'Customizer Link', 'harmony' ), + 'harmony_ad_setting_two', + __FILE__, + 'main_section' + ); +} + + +// @since 1.0.0 +function harmony_section_info_cb() { + echo esc_html__( 'Produced by ', 'harmony' ) + . 'TradeSouthWest.'; + echo '
TSW
'; +} + +/** + * The "My Options" page html. + */ +function harmony_options_page_fn() { + if ( ! current_user_can( 'edit_posts' ) ) { + return; + } +?> +
+

+

+
+ + + + +
+ +
+' + . esc_html__( 'Customize Theme Here', 'harmony' ) . ''; + + echo '

'. esc_html__( 'Support available at: ', 'harmony' ) . '

+

https://github.com/tradesouthwest/harmony/issues

+
'; +} + +// Ad two +function harmony_ad_setting_one() { + echo '

'. esc_html__( 'Theme Options Include:', 'harmony' ) . '

+
'. esc_attr__('
+    - Alignment of Font for content.
+    - Choose the Font Family type.
+    - Set maximum width of articles.
+    - Set header and footer background and border colors.
+    - Position thumbnail in blog excerpts.', 'harmony' ) 
+    . '
+
'; + + echo '

'. esc_html__( 'Styles Tips', 'harmony' ) . '

+

'. esc_html__( 'This is the layout of the lower meta data. + Find the part you want to remove or change, by its class name: ', 'harmony' ) . '

+
+    <div class="after-entry">
+        <div class="harmony-heading-meta">
+            <p class="excerpt-meta"><small><strong class="by">By: </strong> <em class="author"> "author" </em>
+            <span class="cat-as"> | Categorized as: <em> "category" </em></span>
+            <span class="key-as"> | Keys: <em> "tag" </em></span>
+            <span class="date-as"> | Added on: <em> "date" </em></span>
+            </small></p>
+        </div>
+    </div>
+    
+
'; + +} diff --git a/index.php b/index.php new file mode 100644 index 0000000..4c8101a --- /dev/null +++ b/index.php @@ -0,0 +1,61 @@ + + +
+ +
+ + + + +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/languages/harmony.pot b/languages/harmony.pot new file mode 100644 index 0000000..5678c59 --- /dev/null +++ b/languages/harmony.pot @@ -0,0 +1,21 @@ +# Copyright (C) 2024 Your Team +# This file is distributed under the GNU General Public License v2 or later. +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Harmony 1.0.1\n" +"Report-Msgid-Bugs-To: https://support.tradesouthwest.com\n" +"POT-Creation-Date: 2024-05-17 11:23-0700\n" +"PO-Revision-Date: 2023-06-12 10:41-0700\n" +"Last-Translator: \n" +"Language-Team: Your Team\n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0.1\n" +"X-Poedit-KeywordsList: _;_e;__;_x;esc_html__;esc_html_e;esc_attr__;" +"esc_attr_e\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SearchPath-0: .\n" diff --git a/parts/content.php b/parts/content.php new file mode 100644 index 0000000..7ef773e --- /dev/null +++ b/parts/content.php @@ -0,0 +1,51 @@ + + + diff --git a/parts/excerpt.php b/parts/excerpt.php new file mode 100644 index 0000000..256ee4d --- /dev/null +++ b/parts/excerpt.php @@ -0,0 +1,46 @@ + + + diff --git a/parts/nocontent.php b/parts/nocontent.php new file mode 100644 index 0000000..b2e3702 --- /dev/null +++ b/parts/nocontent.php @@ -0,0 +1,64 @@ + +
> +
+

+

+

+ + +
+
+ +

+ +

+ +

+ + +

+ + +

+ + +
+
+ +
+ +

+ + +
\ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..25405cd08433bec53624805c171a62be258126f2 GIT binary patch literal 23090 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 W;g{oCIraZI#%f9$iZu%6VgCi(a5cmL literal 0 HcmV?d00001 diff --git a/sidebar.php b/sidebar.php new file mode 100644 index 0000000..60d7579 --- /dev/null +++ b/sidebar.php @@ -0,0 +1,22 @@ + + diff --git a/style-rtl.css b/style-rtl.css new file mode 100644 index 0000000..18e55e3 --- /dev/null +++ b/style-rtl.css @@ -0,0 +1,139 @@ +/* +Theme Name: Harmony +Theme URI: https://nilambar.net/2023/09/niya-minimal-wordpress-fse-theme.html +Author: Nilambar Sharma +Author URI: https://www.nilambar.net +Description: Niya is a minimal and lightweight WordPress FSE blog theme for writers and bloggers. This simplicity-focused theme provides users pleasant and easy reading of the content. The theme is also responsive and cross-browser compatible. +Requires at least: 6.0 +Tested up to: 6.4 +Requires PHP: 7.0 +Version: 1.0.0 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: harmony +Tags: one-column, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog +*/ + +*, +*::before, +*::after { + box-sizing: inherit; +} + +html { + box-sizing: border-box; +} + +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/** Post Tags **/ + +.is-style-pill a, +.is-style-pill span:not([class]):not([data-rich-text-placeholder]) +{ + display:inline-block; + background-color: #f2f2f2; + padding: 4px 10px; + border-radius:16px; + margin: 0 0 10px 10px; +} + +.is-style-pill a:hover { + background:#eee; +} + +.button, +.button:visited, +button, +.wp-block-search__button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + font-family: inherit; + font-size: var(--wp--preset--font-size--base); + color: var(--wp--preset--color--white); + border: none; + border-radius: 5px; + background: var(--wp--preset--color--primary); + line-height: 1; + padding: calc(0.667em + 2px) calc(1.333em + 2px); + -webkit-text-decoration: none; + text-decoration: none; + cursor: pointer; + transition: 0.4s ease-in-out; +} + +.button:active, +.button:focus, +button:active, +button:focus, +.wp-block-search__button:active, +.wp-block-search__button:focus, +input[type="button"]:active, +input[type="button"]:focus, +input[type="reset"]:active, +input[type="reset"]:focus, +input[type="submit"]:active, +input[type="submit"]:focus { + background: var(--wp--preset--color--primary); + color: var(--wp--preset--color--white); +} + +input[type="text"], +input[type="email"], +input[type="url"], +input[type="password"], +input[type="search"], +input[type="number"], +input[type="tel"], +input[type="range"], +input[type="date"], +input[type="month"], +input[type="week"], +input[type="time"], +input[type="datetime"], +input[type="datetime-local"], +input[type="color"], +select, +textarea { + font-family: inherit; + font-size: var(--wp--preset--font-size--base); + color: var(--wp--preset--color--base); + border: none; + border: 1px solid var(--wp--preset--color--quinary); + border-radius: 5px; + padding: 0.5em; + width: 100%; +} + +input[type="text"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="number"]:focus, +input[type="tel"]:focus, +input[type="range"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="week"]:focus, +input[type="time"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="color"]:focus, +select:focus, +textarea:focus { + outline: 1px solid var(--wp--preset--color--secondary); +} + + +.excerpt-wrapper { + padding-right: .67em; +} + +.post-navigation a:first-child{ + margin-right: 0; +} \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..51fa1ac --- /dev/null +++ b/style.css @@ -0,0 +1,753 @@ +/* +Theme Name: Harmony +Theme URI: https://demos.tradesnet.us +Author: Tradesouthwest +Author URI: https://www.nilambar.net +Description: Harmony is a multi-use theme made for a comfortable reading experience. Handles font size and rendering of elements as mobile first assets. Feature include change fonts; change text alignment on page; set the width of reader content on pages. Custom logo; background colors and more. Demo at https://demos.tradesnet.us +Requires PHP: 7.4 +Requires CP: 1.4 +Version: 1.0.2 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: harmony +Tags: one-column, editor-style, featured-images, rtl-language-support, translation-ready +*/ +/* === Table of contents +1.0 Normalization +2.0 Accessibility +3.0 Layout +4.0 Navigation +6.0 WP Defaults + */ + +/* ---------------------------------------- 1.0 - @source normalize.css + */ +/* + Avoid text overflows +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; + line-height: 1.5; +} + +img { + border-style: none; + height: auto; + max-width: 100%; +} + +a:active, +a:hover { + outline: 0; +} + +hr { + height: 0; + border: 1px solid #aaa; + width: 100%; + display: block; +} + +hr:before, +hr:after { + content: " "; + display: table; + width: 100%; + clear: both; +} + +pre { + padding: 0; + font-size: initial; + color: #666; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} + +pre code, +code { + font-family: monaco, "Consolas", "Lucida Console", monospace; + background: #efefef +} + +table { + background-color: transparent; +} + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; +} + +table { + background-color: transparent; +} + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; +} + +th { + text-align: left; +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} + +table>thead>tr>th, +table>tbody>tr>th, +table>tfoot>tr>th, +table>thead>tr>td, +table>tbody>tr>td, +table>tfoot>tr>td { + padding: 4px; + line-height: 1.28; + vertical-align: middle; + border-top: 1px solid #ddd; +} + +input[type="submit"] { + background: #eee; + box-sizing: inherit; + color: #464646; + padding: 6px 8px; + width: fit-content; + height: min-content; + white-space: normal; + text-align: center; + margin: 0 0 0 auto; + border-radius: 3px; + font-size: .938em; + background: rgba(242, 242, 242, .86); + box-shadow: 0 1px 2px 1px #777; + border: 0; +} + +input[type="search"], +input[type="email"], +input[type="url"], +input[type="text"] { + padding: 4px; + line-height: 1.28; + vertical-align: middle; + +} + +label+input, +label+textarea, +label+select { + display: flex; + flex-direction: column; + border: 1px solid #818181; +} + +label { + display: flex; + margin-bottom: 8px; +} + +blockquote { + border-left: 4px solid #ccc; + padding-left: .825em; + padding-right: .825em; +} + +cite { + width: 100%; + display: block; + opacity: .64 +} + +cite:before { + content: "__"; + position: relative; + top: -.4em; + display: inline-flex; + margin-right: .25em; +} + +ol, +ul { + margin: 0; +} + +ol li, +ul li { + margin-left: 1em; + margin-right: 1em; + line-height: 1.5 +} + +small { + font-size: small; +} + +/* ---------------------------------------- 2.0 - Accessibility + */ +/* Text meant only for screen readers */ +.says, +.screen-reader-text { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute !important; + width: 1px; + /* many screen reader and browser combinations announce broken words as they would appear visually */ + word-wrap: normal !important; +} + +.screen-reader-text:hover, +.screen-reader-text:active, +.screen-reader-text:focus { + background-color: #f1f1f1; + border-radius: 3px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + clip: auto; + color: #21759b; + display: block; + font-size: 14px; + font-weight: bold; + height: auto; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000; + /* Above WP toolbar */ +} + +/* must have higher specificity than alternative color schemes inline styles */ +.site .skip-link { + background-color: #f1f1f1; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2); + color: #21759b; + display: block; + font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: 700; + left: -9999em; + outline: none; + padding: 15px 23px 14px; + text-decoration: none; + text-transform: none; + top: -9999em; +} + +.logged-in .site .skip-link { + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2); + font-family: "Open Sans", sans-serif; +} + +.site .skip-link:focus { + clip: auto; + height: auto; + left: 6px; + top: 7px; + width: auto; + z-index: 100000; +} + +/* ---------------------------------------- 3.0 Layout + */ +html { + box-sizing: border-box; +} + +body { + font-size: 16px; + margin: 0 auto; + width: min(1000px, calc(70% + 100px)); +} + +h1 { + letter-spacing: 1.68px; + font-size: clamp(1.8rem, 2.5vw, 2.8rem); +} + +p { + line-height: 1.684; + font-size: max(1.124rem, 1.124vw); + overflow-wrap: break-word; +} +.excerpt-wrapper p { + line-height: 1.4888; +} + +.header, +.site-footer{ + display: grid; + gap: 1em; + width: 100%; +} +.site-footer { + padding: 0; +} +.site-title { + margin: auto; +} +.site-description { + margin: 0; +} +.site-title a { + font-size: 28px; + text-decoration: none; +} +.site-branding, +.harmony-small-sidebar { + padding-left: 1.444em; + padding-right: 1.444em; + padding-top: 0; + box-sizing: inherit; +} +.site-branding, +.harmony-small-sidebar { + margin: 1.75em 0; + padding-bottom: .75em; + display: flex; + flex-direction: row; +} +.excerpt-wrapper { + padding-top: .222em; + padding-bottom: 0px; + line-height: 1.36 +} +.harmony-heading-meta{ + display: block; + padding: 0; + margin: -.5em 0 0; +} +.site-branding { + justify-content: space-between; + align-items: center; +} +.harmony-branding-right{ + width: 50%; +} +.harmony-logo { + margin-top: .825em; +} +.post_footer-date { + font-size: smaller; + color: #626262; + font-style: italic; +} +.post_footer-date:before { + content: "\00BB "; + position: relative; + +} +.harmony-has-thumbnail img { + max-height: 150px; + width:auto; +} +.harmony-has-thumbnail { + display: flex; +} +.harmony-not-thumbnail { + display: none; +} +/* ---------------------------------------- 4.0 - Navigation + */ + +.post-navigation { + width: 100%; + margin: 2em 0 1em 0; + display: flex; + align-content: center; + justify-content: space-around; + padding-top: 1.09em; + padding-bottom: 1.122em; +} +.post-navigation a, +.post-navigation .current { + width: auto; + box-sizing: inherit; + padding: .825em 1em; +} +.post-navigation a:first-child{ + margin-left: 0; +} +.nav-inside-top { + width: 100%; + display: flex; + justify-content: flex-end; +} +.nav-inside-top a{ + text-decoration: none; +} +#nav { + z-index: 9999; + position: relative; + padding: .25em 0 .5em 0; + box-sizing: inherit; +} +.nav-inside { + display: flex; + justify-content: space-evenly; + margin-top: 1.75em; + list-style: none; +} +#nav a { + text-decoration: none; + display: block; + padding: 5px 12px; + margin-left: 2px; + margin-top: 2px; + font-family: inherit; + background: #fcfdfe; + height: 2.25rem; + line-height: 1.67; + min-width: 46px; + box-sizing: border-box; + font-weight: normal; +} + +#nav a:hover { + color: #1a1d1e; + background: #f7f7f7; +} + +#nav ul { + white-space: nowrap; + display: block; + list-style: none; + position: relative; + margin: 0; +} + +#nav ul:after { + content: ""; + clear: both; + display: block; +} + +#nav ul ul { + display: block; + margin-top: -1px; + opacity: 0; + +} + +#nav>ul li ul { + display: block; + opacity: 0; +} + +#nav>ul li:hover ul, +#nav>ul li:focus ul { + display: block; +} + +#nav a:active, +#nav a:focus { + background: rgba(220, 221, 222, .9); + color: #000066; +} + +#nav ul li:hover>ul, +#nav ul li:focus-within>ul, +#nav ul li ul:hover, +#nav ul.sub-menu li, +#nav ul.sub-menu li:focus-within>ul, +#nav ul.sub-menu li ul:hover { + visibility: visible; + opacity: 1; + display: block; +} + +#nav ul li { + float:left; + position: inherit; + height: 100%; +} + +/* following avoids offset of stacked menu items, adjust to taste */ +#nav ul li ul { + position: absolute; + left: 0px; + display: none; + z-index: 500; +} + +/* makes the second level takes position from first */ +#nav ul li ul:after { + content: " "; + clear: both; + display: table-cell; +} + +#nav ul li:hover ul { + display: block; +} + +/* end adjustment for double row of menu items */ +#nav ul.sub-menu li { + /* left: 0; + margin-bottom: 0; */ + width: 100%; +} + +#nav ul.sub-menu li ul li { + /* debug tool + border-left: 2px solid blue; */ + margin-left: calc(.3336 * 100%); +} + +#nav ul.sub-menu li a { + font-size: initial; + word-wrap: normal; + white-space: pre; + min-width: 100%; + width: auto; + max-width: 100%; +} + +#nav .menu-item-has-children ul li:first-child { + /* debug tool + border-left: 2px solid red; */ + bottom: 0; + left: 0; +} + +#nav .menu-item-has-children ul li ul li { + display: none; +} + +#nav .menu-item-has-children ul li:hover ul li, +#nav .menu-item-has-children ul.sub-menu li:focus-within>ul li { + display: block; + visibility: visible; + opacity: 1; +} + +#nav .menu-item-has-children ul li ul li:first-child { + /* debug tool + border-left: 2px solid green; */ + margin-top: 0 +} + +/* yonder hither is thy magic */ +#nav .menu-item-has-children>a:first-child::after { + content: "\00BB"; + color: revert; + font-size: smaller; + transform: rotate(90deg); + display: inline-block; + padding: 1px; + width: 1em; + height: 1em; + position: relative; + left: 1em; + bottom: -10px; + opacity: .36 +} + +#nav ul ul { + padding: 0; + position: absolute; + top: 2em; +} + +#nav ul ul li { + float: none; + position: relative; +} + +#nav ul ul li a { + width: 100%; +} + +#nav ul ul ul { + position: absolute; + left: 18%; + top: 2.188em; +} + +#nav ul ul ul li a { + float: none; + margin-top: auto; + width: 100%; +} + +#nav ul li.current_page_item>a, +#nav ul li.current-menu-ancestor>a, +#nav ul li.current-menu-item>a, +#nav ul li.current-menu-parent>a { + + font-weight: bolder; +} +/* Back to top button div */ +.harmony-btt { + position: relative; + font-size: large; + font-weight: bold; + display: flex; + justify-content: flex-end; + top: -3.75em; + padding:.5rem; +} +.harmony-btt button{ + border-radius: 50%; + border: 2px solid #666; + padding: .25em .285em .25em .285em; + height: 2rem; + width: 2rem; + cursor: pointer; + font-size: larger; +} +/* -------------------------------- 6.0 WP Defaults + */ +#wp-calendar { + table-layout: fixed; +} + +#wp-calendar td { + padding: 3px 9px; +} +.wp-caption { + max-width: 100%; +} +p img.alignright, +p img.alignleft { + display:flex; +} +/* Gallery + ---------------------------------------- */ +.gallery { + margin: auto; + /* gallery clearing*/ + overflow: hidden; + width: 100%; +} + +.gallery .gallery-item { + float: left; + margin-top: 10px; + text-align: center; +} + +.gallery.gallery-columns-1 .gallery-item { + width: 100%; +} + +.gallery.gallery-columns-2 .gallery-item { + width: 50%; +} + +.gallery.gallery-columns-3 figure { + width: 33.33%; +} + +.gallery.gallery-columns-4 .gallery-item { + width: 25%; +} + +.gallery.gallery-columns-5 figure { + width: 20%; +} + +.gallery.gallery-columns-6 figure { + width: 16.66%; +} + +.gallery.gallery-columns-7 figure { + width: 14.285%; +} + +.gallery.gallery-columns-8 figure { + width: 12.5%; +} + +.gallery.gallery-columns-9 figure { + width: 11.111%; +} + +.gallery img { + box-shadow: 0px 0px 4px #999; + border: 1px solid white; + padding: 5px; + background: #f9f9f9; +} + +.gallery img:hover { + background: white; +} + +.gallery .gallery-caption { + margin-left: 0; +} + +.gallery dl, +.gallery dt { + margin: 0; +} + +.gallery br+br { + display: none; +} + +.gallery br { + clear: both +} + +/* Alignments */ +.bypostauthor { + color: inherit; +} + +.alignleft { + display: inline; + margin-right: 1.5em; +} + +.alignright { + display: inline; + margin-left: 1.5em; +} + +.aligncenter { + clear: both; + display: block; + margin: 0 auto; +} + +.textcenter { + clear: left; + display: block; + margin: 0 auto; + text-align: center; +} + +.comment-list .comment { + margin-top: 1em; +} + +/* Widgets */ +.widget_tag_cloud, +.widget_archive, +.widget_categories { + max-height: 21.475em; + overflow-y: auto; + margin-bottom: 1em; +} + +@media screen and (min-width: 800px){ + img.harmony-featured { + width: auto; + max-height: calc( 240px + 12vw ); + } +} \ No newline at end of file