diff --git a/website/.gitignore b/website/.gitignore index 70355aacfc0edec357c54124801c4cfe64b377d6..051b6b691fa7ee0beab61d2b4a605f8139220b41 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -1,117 +1,5 @@ -#### joe made this: http://goel.io/joe - -#####=== Jekyll ===##### - -_site/ -.sass-cache/ - -#####=== Sass ===##### - -.sass-cache -*.css.map - -#####=== OSX ===##### -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear on external disk -.Spotlight-V100 -.Trashes - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -#####=== Windows ===##### -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -#####=== Linux ===##### -*~ - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -#####=== JetBrains ===##### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm - -*.iml - -## Directory-based project format: -.idea/ -# if you remove the above rule, at least ignore the following: - -# User-specific stuff: -# .idea/workspace.xml -# .idea/tasks.xml -# .idea/dictionaries - -# Sensitive or high-churn files: -# .idea/dataSources.ids -# .idea/dataSources.xml -# .idea/sqlDataSources.xml -# .idea/dynamic.xml -# .idea/uiDesigner.xml - -# Gradle: -# .idea/gradle.xml -# .idea/libraries - -# Mongo Explorer plugin: -# .idea/mongoSettings.xml - -## File-based project format: -*.ipr -*.iws - -## Plugin-specific files: - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties - -# Bundler -.bundle -vendor - -Gemfile.lock -PASSWORD \ No newline at end of file +output/ +PASSWORD +lib/python2.7/site-packages/ +pelicanconf.pyc +*.pyc diff --git a/website/Gemfile b/website/Gemfile deleted file mode 100644 index eceae0670b18004b824b60413608ce34f7b7547c..0000000000000000000000000000000000000000 --- a/website/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# A sample Gemfile -source "https://rubygems.org" - -gem "jekyll" diff --git a/website/LICENSE b/website/LICENSE deleted file mode 100644 index 9cecc1d4669ee8af2ca727a5d8cde10cd8b2d7cc..0000000000000000000000000000000000000000 --- a/website/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://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 <http://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: - - {project} Copyright (C) {year} {fullname} - 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 -<http://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 -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/website/Makefile b/website/Makefile index 9c45346d7f2588e7a3f5fa9f31d0e1c8be212db5..1989e92d92e7efe203fc2417ecbd3f10f56bf817 100644 --- a/website/Makefile +++ b/website/Makefile @@ -1,9 +1,16 @@ -.PHONY : build deploy +.PHONY : build deploy clean build: - jekyll build - chmod -R 755 _site/ + scripts/build.sh deploy: make build - ./deploy \ No newline at end of file + scripts/deploy.sh + +clean: + rm -rf output/ + +# Only use this on the iasteate linux computers +setup: + scripts/setup_pelican.sh + diff --git a/website/README.md b/website/README.md index ff4bcd9ddeb8fe8e189b63712217285d14afaab3..8c9472591f17ff8d9b4727dc4f20883841eae4a4 100644 --- a/website/README.md +++ b/website/README.md @@ -1,50 +1,28 @@ -# jekyll-theme-hackcss +Contributing +---- -[Dead simple CSS framework](http://hackcss.com/) now with Jekyll. +## Making changes -Mobile-ready, modern, stylish, simple. +To make changes to the website, keep the following in mind: +- "Pages" go in `content/pages`. Pages are written in Markdown so use the .md + extension +- Images go in `content/images`. An exmple of how to put an image in a page + can be seen in `content/pages/home.md`. +- Files go in `content/files`. An example of how to put a file linke on a page + can be seen in `conent/pages/documents.md`. -## Theme modes +## Building the website -This theme comes in three modes, which could be configured in `_config.yml`. - - - - - - - -## Installation - -Clone this repo. Create your own website. Easy. - -## Configuration - -See [docs](https://github.com/wemake-services/jekyll-theme-hackcss/blob/master/docs.md). - -## License - -GNU PGL 3. See [LICENSE](https://github.com/wemake-services/jekyll-theme-hackcss/blob/3cbe97b71a56a19eba386dd928e125b71e50c71e/LICENSE) for more information. - -## Contributing - -Create or edit a page in this directory. Use the `.md` extension. - -When you are ready to build the site: +To build the website: ``` make build ``` -If you want to run the site on localhost: +## Deploying the website -``` -bundle exec jekyll serve -# http://localhost:4000 -``` - -To deploy the website to our team url: +To deploy the website to our domain `may1716.sd.ece.iastate.edu`: ``` make deploy -``` \ No newline at end of file +``` diff --git a/website/_config.yml b/website/_config.yml deleted file mode 100644 index 0e913a0e9fc8ac062f23fcc7046a5718f0e72fe9..0000000000000000000000000000000000000000 --- a/website/_config.yml +++ /dev/null @@ -1,56 +0,0 @@ -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your whole blog, values -# which you are expected to set up once and rarely need to edit after that. -# For technical reasons, this file is *NOT* reloaded automatically when you use -# 'jekyll serve'. If you change this file, please restart the server process. - -# Site settings -title: MicroCART -description: > # this means to ignore newlines until "baseurl:" - A minimalistic theme for Jekyll, based on hack.css -repository: https://git.ece.iastate.edu/danc/MicroCART_17-18.git -baseurl: "" # the subpath of your site, e.g. /blog -url: "http://may1716.sd.ece.iastate.edu/" # the base hostname & protocol for your site - -# Build settings -markdown: kramdown - -# Sass settings -sass: - style: compressed - -# Theme settings -theme_mode: standard # choices are: 'dark', 'standard', 'markdown' - -# Customizations -your_name: Microcart F16 - S17 Team -email: microcart_f2016@iastate.edu - -navigation: - - text: Home - url: / - - text: Team Members - url: /members.html - - text: Documents - url: /documents.html -# - text: Quadcopter -# url: /quadcopter.html -# - text: Ground Station -# url: /ground.html -# - text: Controls -# url: /controls.html - -projects: - -social: - -exclude: - - Gemfile - - Gemfile.lock - - vendor - - Makefile - - README.md - - LICENSE - - deploy - - PASSWORD \ No newline at end of file diff --git a/website/_includes/footer.html b/website/_includes/footer.html deleted file mode 100644 index 0d144057c9596f851899de355a93b34ba5d2a0a6..0000000000000000000000000000000000000000 --- a/website/_includes/footer.html +++ /dev/null @@ -1,32 +0,0 @@ -<footer> - <hr /> - - <h3 class="footer-heading">{{ site.title }}</h3> - - <div class="grid t-hackcss-sm-reversed-grid"> - - <div class="cell -5of12"> - <div class="contact-list"> - <p> - {{ site.your_name }}, - <a href="mailto:{{ site.email }}">{{ site.email }}</a> - </p> - - {% for social in site.social %} - {% assign template = social.service|prepend:"icon-"|append:".html" %} - <span class="t-hackcss-social"> - <i class="t-hackcss-icon">{% include {{ template }} %}</i> - <a href="{{ social.link }}">{{ social.username }}</a> - </span> - {% endfor %} - </div> - </div> - - <div id="footer-spacer" class="cell -1of12"></div> - - <div class="cell -6of12"> - <p>{{ site.description }}</p> - </div> - </div> - -</footer> diff --git a/website/_includes/github-ribbon.html b/website/_includes/github-ribbon.html deleted file mode 100644 index 5303cfa110e1fb25c81ca423b9e5a6a6444bece6..0000000000000000000000000000000000000000 --- a/website/_includes/github-ribbon.html +++ /dev/null @@ -1,11 +0,0 @@ -<a href="{{ site.repository }}" class="github-corner"> - -{% if site.theme_mode != 'dark' %} - <svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg> -{% else %} - <svg width="80" height="80" viewBox="0 0 250 250" style="fill:#fff; color:#151513; position: absolute; top: 0; border: 0; right: 0;"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg> -{% endif %} - -</a> - -<style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> diff --git a/website/_includes/head.html b/website/_includes/head.html deleted file mode 100644 index 5597fed155d5648b51d71838b3248bb6df06765b..0000000000000000000000000000000000000000 --- a/website/_includes/head.html +++ /dev/null @@ -1,31 +0,0 @@ -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <link rel="stylesheet" href="http://hackcss.com/prism.css"> - - <!-- Meta information --> - <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title> - <meta name="description" - content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"> - <link rel="canonical" - href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}" /> - - <!-- hack.css --> - <link rel="stylesheet" href="https://npmcdn.com/hack/dist/hack.css" /> - {% if site.theme_mode == 'standard' %} - <link rel="stylesheet" href="https://npmcdn.com/hack/dist/standard.css" /> - {% elsif site.theme_mode == 'dark' %} - <link rel="stylesheet" href="https://npmcdn.com/hack/dist/dark.css" /> - {% endif %} - - <!-- Custom style --> - <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}" /> - - <!-- Feed --> - <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" - href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" /> - - <!-- Add seo with 'jekyll-seo' plugin! --> -</head> diff --git a/website/_includes/icon-github.html b/website/_includes/icon-github.html deleted file mode 100644 index 6f8991fe2af34ea8a300197ebd8baad61ebdb6c1..0000000000000000000000000000000000000000 --- a/website/_includes/icon-github.html +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 16 16"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"></path></svg> diff --git a/website/_includes/icon-twitter.html b/website/_includes/icon-twitter.html deleted file mode 100644 index dcf660e7bb376738d0129a1f8e3e8acbc6ac2aca..0000000000000000000000000000000000000000 --- a/website/_includes/icon-twitter.html +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 16 16"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg> diff --git a/website/_includes/navigation.html b/website/_includes/navigation.html deleted file mode 100644 index 0ec42d4ee051c3b64eba141d71cab80a1769ed4d..0000000000000000000000000000000000000000 --- a/website/_includes/navigation.html +++ /dev/null @@ -1,14 +0,0 @@ -<div class="t-hackcss-navigation"> - <h2>Menu</h2> - - <nav class="menu" role="menubar"> - {% assign url = page.url|remove:'index.html' %} - {% for link in site.navigation %} - <a class="menu-item {% if url == link.url %}active{% endif %}" - role="menuitem" href="{{ link.url }}" title="{{ link.title }}"> - {{ link.text }} <div class="pull-right">»</div> - </a> - {% endfor %} - </nav> - -</div> diff --git a/website/_layouts/default.html b/website/_layouts/default.html deleted file mode 100644 index 5573896c0fe460e9b4751fc608552ec3b5ca58e8..0000000000000000000000000000000000000000 --- a/website/_layouts/default.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html> -<html> - - {% include head.html %} - - - {% if site.theme_mode == 'markdown' %} - <body class="hack"> - {% elsif site.theme_mode == 'standard' %} - <body class="standard"> - {% elsif site.theme_mode == 'dark' %} - <body class="hack dark"> - {% endif %} - - <div class="container"> - <div class="grid"> - <aside class="cell -3of12" role="navigation"> - {% include navigation.html %} - </aside> - - <main class="cell -9of12"> - {{ content }} - </main> - </div> - - {% include footer.html %} - - </div> - </body> - -</html> diff --git a/website/_layouts/post.html b/website/_layouts/post.html deleted file mode 100644 index 5d9023adb1fc4537f286f37ec812fe841f161a4d..0000000000000000000000000000000000000000 --- a/website/_layouts/post.html +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: default ---- -<article class="post" itemscope itemtype="http://schema.org/BlogPosting"> - - <header class="post-header"> - <h1 class="post-title" itemprop="name headline">{{ page.title }}</h1> - <p class="post-meta"> - <time datetime="{{ page.date | date_to_xmlschema }}" - itemprop="datePublished" - class="media-heading"> - {{ page.date | date: "%b %-d, %Y" }} - </time> - - {% if page.author %} - <span itemprop="author" itemscope itemtype="http://schema.org/Person"> - <span itemprop="name">{{ page.author }}</span> - </span> - {% endif %} - </p> - </header> - - <div class="post-content" itemprop="articleBody"> - {{ content }} - </div> - -</article> diff --git a/website/_sass/_highlight.scss b/website/_sass/_highlight.scss deleted file mode 100644 index 723e5a6e6c0c166f85cf28a01b638ca6c7a8a3e7..0000000000000000000000000000000000000000 --- a/website/_sass/_highlight.scss +++ /dev/null @@ -1,11 +0,0 @@ -// This file only deal with code highlighting - -code.highlighter-rouge { - padding: 0; - padding-top: 0.2em; - padding-bottom: 0.2em; - margin: 0; - font-size: 85%; - background-color: rgba(0,0,0,0.04); - border-radius: 3px; -} diff --git a/website/_sass/_styles.scss b/website/_sass/_styles.scss deleted file mode 100644 index 5fbc13df70c65577500be2ab72665120b46cd4d8..0000000000000000000000000000000000000000 --- a/website/_sass/_styles.scss +++ /dev/null @@ -1,74 +0,0 @@ -// This file contains custom (non hack.css) styles - -.t-hackcss { // Main prefix - - // navigation.html - - &-navigation { - padding-right: $spacing-unit; - } - - &-social { - display: inline-block; - } - - &-social + &-social { - padding-left: $spacing-unit; - } - - &-sm-reversed-grid.grid { - @include media-query($on-palm) { - flex-direction: column-reverse; - } - } - - &-icon { - display: inline-block; - vertical-align: middle; - width: $icon-size; - height: $icon-size; - - > svg { - width: $icon-size; - } - } - - // examples.html - - &-media-shift { - max-width: $image-size; - } - - &-media-image { - display: block; - max-width: 100%; - height: auto; - } - - &-cards { - flex-wrap: wrap; - @include media-query($on-palm) { - flex-wrap: nowrap; - } - } - - &-cards-cell { - padding-bottom: $spacing-unit; - padding-right: $spacing-unit; - } - - &-cards-text { - margin: 0 - } - - &-cards-image { - display: block; - max-width: 50%; - height: auto; - margin: 0 auto; - } - - &-cards-link { - text-align: center; - } -} diff --git a/website/files/weeklyReports/.gitkeep b/website/content/css/main.css similarity index 100% rename from website/files/weeklyReports/.gitkeep rename to website/content/css/main.css diff --git a/website/files/DesignDocument1.docx.pdf b/website/content/files/DesignDocument1.docx.pdf similarity index 100% rename from website/files/DesignDocument1.docx.pdf rename to website/content/files/DesignDocument1.docx.pdf diff --git a/website/files/ProjectPlan1Template.docx.pdf b/website/content/files/ProjectPlan1Template.docx.pdf similarity index 100% rename from website/files/ProjectPlan1Template.docx.pdf rename to website/content/files/ProjectPlan1Template.docx.pdf diff --git a/website/content/files/weeklyReports/.gitkeep b/website/content/files/weeklyReports/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/website/files/weeklyReports/may1716_microCART_report1.pdf b/website/content/files/weeklyReports/may1716_microCART_report1.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report1.pdf rename to website/content/files/weeklyReports/may1716_microCART_report1.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report10.pdf b/website/content/files/weeklyReports/may1716_microCART_report10.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report10.pdf rename to website/content/files/weeklyReports/may1716_microCART_report10.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report2.pdf b/website/content/files/weeklyReports/may1716_microCART_report2.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report2.pdf rename to website/content/files/weeklyReports/may1716_microCART_report2.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report3.pdf b/website/content/files/weeklyReports/may1716_microCART_report3.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report3.pdf rename to website/content/files/weeklyReports/may1716_microCART_report3.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report4.pdf b/website/content/files/weeklyReports/may1716_microCART_report4.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report4.pdf rename to website/content/files/weeklyReports/may1716_microCART_report4.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report5.pdf b/website/content/files/weeklyReports/may1716_microCART_report5.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report5.pdf rename to website/content/files/weeklyReports/may1716_microCART_report5.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report6.pdf b/website/content/files/weeklyReports/may1716_microCART_report6.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report6.pdf rename to website/content/files/weeklyReports/may1716_microCART_report6.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report7.pdf b/website/content/files/weeklyReports/may1716_microCART_report7.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report7.pdf rename to website/content/files/weeklyReports/may1716_microCART_report7.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report8.pdf b/website/content/files/weeklyReports/may1716_microCART_report8.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report8.pdf rename to website/content/files/weeklyReports/may1716_microCART_report8.pdf diff --git a/website/files/weeklyReports/may1716_microCART_report9.pdf b/website/content/files/weeklyReports/may1716_microCART_report9.pdf similarity index 100% rename from website/files/weeklyReports/may1716_microCART_report9.pdf rename to website/content/files/weeklyReports/may1716_microCART_report9.pdf diff --git a/website/images/dark.png b/website/content/images/dark.png similarity index 100% rename from website/images/dark.png rename to website/content/images/dark.png diff --git a/website/images/markdown.png b/website/content/images/markdown.png similarity index 100% rename from website/images/markdown.png rename to website/content/images/markdown.png diff --git a/website/images/pid_diagram.png b/website/content/images/pid_diagram.png similarity index 100% rename from website/images/pid_diagram.png rename to website/content/images/pid_diagram.png diff --git a/website/images/quad_pic.jpg b/website/content/images/quad_pic.jpg similarity index 100% rename from website/images/quad_pic.jpg rename to website/content/images/quad_pic.jpg diff --git a/website/content/images/quad_pic.png b/website/content/images/quad_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..afcefab8b62e6a5cb95fd12ca4b02971e4f4a210 Binary files /dev/null and b/website/content/images/quad_pic.png differ diff --git a/website/images/standard.png b/website/content/images/standard.png similarity index 100% rename from website/images/standard.png rename to website/content/images/standard.png diff --git a/website/images/zyboBoard.png b/website/content/images/zyboBoard.png similarity index 100% rename from website/images/zyboBoard.png rename to website/content/images/zyboBoard.png diff --git a/website/images/zybo_pic.jpg b/website/content/images/zybo_pic.jpg similarity index 100% rename from website/images/zybo_pic.jpg rename to website/content/images/zybo_pic.jpg diff --git a/website/controls.md b/website/content/pages/controls.md similarity index 88% rename from website/controls.md rename to website/content/pages/controls.md index d630bbff780df769d255e49602dba95ecdae3784..88d5db9b704ea50bb0769f8c7955f8dca833b83a 100644 --- a/website/controls.md +++ b/website/content/pages/controls.md @@ -1,6 +1,6 @@ ---- -layout: default ---- +Title: Controls +sortorder: 015 + # Controls The quadcopter is stabilized with on-board PID controllers. These controllers @@ -20,6 +20,6 @@ The model we are developing follows the methods developed by our advising graduate student Matt Rich in his thesis [Model development, system identification, and control of a quadrotor helicopter][1]. -<img src="images/pid_diagram.png" width="700"> +<img src="/images/pid_diagram.png" width="700"> -[1]: http://lib.dr.iastate.edu/etd/12770/ \ No newline at end of file +[1]: http://lib.dr.iastate.edu/etd/12770/ diff --git a/website/content/pages/documents.md b/website/content/pages/documents.md new file mode 100644 index 0000000000000000000000000000000000000000..a759c77f7dec892c82aed4269517c83950ef1d0c --- /dev/null +++ b/website/content/pages/documents.md @@ -0,0 +1,33 @@ +Title: Documents +date: 2016-11-21 +sortorder: 005 + +## Project Plan + +[Project Plan 1](/files/ProjectPlan1Template.docx.pdf) + +## Design Document + +[Design Document 1](/files/DesignDocument1.docx.pdf) + +## Weekly Reports + +[Weekly Report 1](/files/weeklyReports/may1716_microCART_report1.pdf) + +[Weekly Report 2](/files/weeklyReports/may1716_microCART_report2.pdf) + +[Weekly Report 3](/files/weeklyReports/may1716_microCART_report3.pdf) + +[Weekly Report 4](/files/weeklyReports/may1716_microCART_report4.pdf) + +[Weekly Report 5](/files/weeklyReports/may1716_microCART_report5.pdf) + +[Weekly Report 6](/files/weeklyReports/may1716_microCART_report6.pdf) + +[Weekly Report 7](/files/weeklyReports/may1716_microCART_report7.pdf) + +[Weekly Report 8](/files/weeklyReports/may1716_microCART_report8.pdf) + +[Weekly Report 9](/files/weeklyReports/may1716_microCART_report9.pdf) + +[Weekly Report 10](/files/weeklyReports/may1716_microCART_report10.pdf) diff --git a/website/content/pages/ground.md b/website/content/pages/ground.md new file mode 100644 index 0000000000000000000000000000000000000000..9b734d0cb3b6590188f4aa2e6d3699a4ce85c5ca --- /dev/null +++ b/website/content/pages/ground.md @@ -0,0 +1,7 @@ +Title: Ground Station +sortorder: 020 + +# Ground Station + +TODO +Gotta get this done diff --git a/website/index.md b/website/content/pages/home.md similarity index 75% rename from website/index.md rename to website/content/pages/home.md index 9643e114be8aa1e1170f35b4307cffb651f1c2fd..dca80adc01430c39651866301c5ca368a3265850 100644 --- a/website/index.md +++ b/website/content/pages/home.md @@ -1,12 +1,13 @@ ---- -layout: default ---- -# MicroCART -## Microcontroller Controlled Aerial Robot Team +Title: MicroCART +url: +save_as: index.html +date: 2016-11-19 +sortorder: 001 +## Microprocessor Controlled Aerial Robot Team **Senior Design Group**: may1716 -<img align="right" src="images/quad_pic.jpg" width="40%"> +<img align="right" src="images/quad_pic.png" width="40%"> MicroCART is an ongoing senior design project focused on the development of a quadcopter as a research platform for controls and diff --git a/website/members.md b/website/content/pages/members.md similarity index 93% rename from website/members.md rename to website/content/pages/members.md index 83e528be174d77505701afb6bfc60d32440a7c0c..3631304bf9995886a020bf98cb7638088b36bea8 100644 --- a/website/members.md +++ b/website/content/pages/members.md @@ -1,7 +1,6 @@ ---- -layout: default ---- -# Members +Title: Team Members +date: 2016-11-20 +sortorder: 010 ## David Wehr **Team Leader** diff --git a/website/content/pages/quad.md b/website/content/pages/quad.md new file mode 100644 index 0000000000000000000000000000000000000000..9df032d87e793641cf95dc706d3946c4ad0db7d0 --- /dev/null +++ b/website/content/pages/quad.md @@ -0,0 +1,6 @@ +Title: Quadcopter Software +sortorder: 025 + +# Quadcopter + +Quad software things diff --git a/website/css/main.scss b/website/css/main.scss deleted file mode 100644 index f1ff7362d211e601ca53f63ed2bed2cc9878e21b..0000000000000000000000000000000000000000 --- a/website/css/main.scss +++ /dev/null @@ -1,38 +0,0 @@ ---- -# Only the main Sass file needs front matter (the dashes are enough) ---- -@charset "utf-8"; - - - -// Our variables -$spacing-unit: 10px; -$image-size: 50px; -$icon-size: 15px; - - -// Sizes -$on-palm: 768px; - - - -// Use media queries like this: -// @include media-query($on-palm) { -// .wrapper { -// padding-right: $spacing-unit / 2; -// padding-left: $spacing-unit / 2; -// } -// } -@mixin media-query($device) { - @media screen and (max-width: $device) { - @content; - } -} - - - -// Import partials from `sass_dir` (defaults to `_sass`) -@import - "styles", - "highlight" -; diff --git a/website/deploy b/website/deploy deleted file mode 100644 index a15fa0e47389c94b383c42fb3f8d582e5ae5e850..0000000000000000000000000000000000000000 --- a/website/deploy +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -HOST=may1716.sd.ece.iastate.edu -USERNAME=may1716 -[ -e PASSWORD ] || echo "ERROR: File PASSWORD is missing. -Create a file called PASSWORD, and put the sftp password in that file. -No spaces. No newlines." -[ -e PASSWORD ] || exit 1 -PASSWORD=$(cat PASSWORD) - -cd _site || exit 1 - -lftp<<END_SCRIPT -open sftp://$HOST -user $USERNAME $PASSWORD -cd www -mirror -R -exit -END_SCRIPT - -echo "Website updated." \ No newline at end of file diff --git a/website/docs.md b/website/docs.md deleted file mode 100644 index 5f2747bf27350ea8bc2bcd60f665adeb450adc83..0000000000000000000000000000000000000000 --- a/website/docs.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: default -permalink: docs ---- - -# Docs - -## Configuration - -This theme can be configured by modifying the `_config.yml` file. - -### Theme settings - -This theme supports three different mode provided by `hack.css`: - -- `standard` -- `markdown` -- `dark` - -Set `theme_mode` to the desired value. - -### Available customizations - -- `your_name` and `email` strings to display them in different places on site -- `navigation` is an array of `text` and `url` pairs to render the menu -- `projects` is a setting that contains data for the `examples` page, every item must contain `name` and `link`, `image` and `description` are optional -- `social` contains an array of three required params: `service` is used to include a service icon by the {% raw %}`{% include icon-{{ service }}.html %}`{% endraw %} command, `username` and `link` are quite obvious diff --git a/website/documents.md b/website/documents.md deleted file mode 100644 index d527c54c2d2c7cd4ac8dee3c4fa323ba23aa1ad5..0000000000000000000000000000000000000000 --- a/website/documents.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: default -permalink: documents ---- - -# Documents - -[Design Document 1](files/DesignDocument1.docx.pdf) - -[Project Plan 1](files/ProjectPlan1Template.docx.pdf) - -[Weekly Report 1](files/may1716_microCART_report1.pdf) \ No newline at end of file diff --git a/website/feed.xml b/website/feed.xml deleted file mode 100644 index a6628bd842af95a7f423155dd95510941d3a78dc..0000000000000000000000000000000000000000 --- a/website/feed.xml +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: null ---- -<?xml version="1.0" encoding="UTF-8"?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>{{ site.title | xml_escape }}</title> - <description>{{ site.description | xml_escape }}</description> - <link>{{ site.url }}{{ site.baseurl }}/</link> - <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/> - <pubDate>{{ site.time | date_to_rfc822 }}</pubDate> - <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate> - <generator>Jekyll v{{ jekyll.version }}</generator> - {% for post in site.posts limit:10 %} - <item> - <title>{{ post.title | xml_escape }}</title> - <description>{{ post.content | xml_escape }}</description> - <pubDate>{{ post.date | date_to_rfc822 }}</pubDate> - <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link> - <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid> - {% for tag in post.tags %} - <category>{{ tag | xml_escape }}</category> - {% endfor %} - {% for cat in post.categories %} - <category>{{ cat | xml_escape }}</category> - {% endfor %} - </item> - {% endfor %} - </channel> -</rss> diff --git a/website/ground.md b/website/ground.md deleted file mode 100644 index cc11f8034ed162e566f6f9625d62cc662531e8d2..0000000000000000000000000000000000000000 --- a/website/ground.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: default ---- - -# Ground Station - -TODO \ No newline at end of file diff --git a/website/pelicanconf.py b/website/pelicanconf.py new file mode 100644 index 0000000000000000000000000000000000000000..2f1bef455158462c8f3265b21b2eb6c43521604b --- /dev/null +++ b/website/pelicanconf.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +AUTHOR = u'microcart' +SITENAME = u'MicroCART' +SITEURL = '' + +PATH = 'content' + +TIMEZONE = 'America/Chicago' + +DEFAULT_LANG = u'en' + +DEFAULT_DATE = 'fs' + +# Feed generation is usually not desired when developing +FEED_ALL_ATOM = None +CATEGORY_FEED_ATOM = None +TRANSLATION_FEED_ATOM = None +AUTHOR_FEED_ATOM = None +AUTHOR_FEED_RSS = None + +# Blogroll +# LINKS = (('Pelican', 'http://getpelican.com/'), +# ('Python.org', 'http://python.org/'), +# ('Jinja2', 'http://jinja.pocoo.org/'), +# ('You can modify those links in your config file', '#'),) + +# Social widget +# SOCIAL = (('You can add links in your config file', '#'), +# ('Another social link', '#'),) + +DEFAULT_PAGINATION = False + +# Uncomment following line if you want document-relative URLs when developing +#RELATIVE_URLS = True + +# Theme +THEME = 'themes/notmyidea' + +# Static Content +STATIC_PATHS = ['images', 'files'] + +# Page Order +PAGE_ORDER_BY = 'sortorder' diff --git a/website/pip-selfcheck.json b/website/pip-selfcheck.json new file mode 100644 index 0000000000000000000000000000000000000000..4fd6c9632f6b661bbf5d60e8e41d6ff1a18191eb --- /dev/null +++ b/website/pip-selfcheck.json @@ -0,0 +1 @@ +{"last_check":"2016-11-19T07:00:13Z","pypi_version":"9.0.1"} \ No newline at end of file diff --git a/website/publishconf.py b/website/publishconf.py new file mode 100644 index 0000000000000000000000000000000000000000..85ff8ef6981db9aaf809eeb6b971ea62c7555301 --- /dev/null +++ b/website/publishconf.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +# This file is only used if you use `make publish` or +# explicitly specify it as your config file. + +import os +import sys +sys.path.append(os.curdir) +from pelicanconf import * + +SITEURL = '' +RELATIVE_URLS = False + +FEED_ALL_ATOM = 'feeds/all.atom.xml' +CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml' + +DELETE_OUTPUT_DIRECTORY = True + +# Following items are often useful when publishing + +#DISQUS_SITENAME = "" +#GOOGLE_ANALYTICS = "" diff --git a/website/quad.md b/website/quad.md deleted file mode 100644 index 4300c4cea4c795f1969a9d4fa5cadc9757c9d19d..0000000000000000000000000000000000000000 --- a/website/quad.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: default ---- - -# Quadcopter - -TODO \ No newline at end of file diff --git a/website/scripts/build.sh b/website/scripts/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..784ba4bea2faa5442f8311c97fa0fa174cbc5675 --- /dev/null +++ b/website/scripts/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +source bin/activate +pelican content \ No newline at end of file diff --git a/website/scripts/deploy.sh b/website/scripts/deploy.sh new file mode 100644 index 0000000000000000000000000000000000000000..19f1813c8dc4016ba814d709a3e144eafd932d79 --- /dev/null +++ b/website/scripts/deploy.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +HOST=may1716.sd.ece.iastate.edu +USERNAME=may1716 + +if [ ! -e PASSWORD ]; then + echo " + +***** +ERROR: File PASSWORD is missing. +Create a file called PASSWORD in the website root directory, and put the sftp +password in that file. No spaces. No newlines. +(The SFTP password was given to us in an email. Just search 'sftp password' in +your CyMail and it will probably be first result.) +***** + +" + exit 1 +fi + +PASSWORD=$(cat PASSWORD) + +chmod -R 755 output || exit 1 +cd output || exit 1 + +lftp<<END_SCRIPT +set sftp:connect-program "ssh -a -x -o PubkeyAuthentication=false" +open sftp://$HOST +user $USERNAME $PASSWORD +cd www +mirror -R --delete-first +exit +END_SCRIPT + +echo "Website updated." \ No newline at end of file diff --git a/website/scripts/setup_pelican.sh b/website/scripts/setup_pelican.sh new file mode 100644 index 0000000000000000000000000000000000000000..d0dac58674fae106b0feaf63bb036b057dcacce5 --- /dev/null +++ b/website/scripts/setup_pelican.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +[ -d bin/ ] && rm -rf bin/ lib/ include/ + +/remote/python/2.7.9/bin/virtualenv ./ +source bin/activate +pip install pelican +pip install Markdown diff --git a/website/themes/notmyidea/static/css/main.css b/website/themes/notmyidea/static/css/main.css new file mode 100644 index 0000000000000000000000000000000000000000..ac849f99bf14080f11be7eb8f4b9ed698b0b38b4 --- /dev/null +++ b/website/themes/notmyidea/static/css/main.css @@ -0,0 +1,512 @@ +/* + Name: Smashing HTML5 + Date: July 2009 + Description: Sample layout for HTML5 and CSS3 goodness. + Version: 1.0 + License: MIT <http://opensource.org/licenses/MIT> + Licensed by: Smashing Media GmbH <http://www.smashingmagazine.com/> + Original author: Enrique RamÃrez <http://enrique-ramirez.com/> +*/ + +/* Imports */ +@import url("reset.css"); +@import url("pygment.css"); +@import url("typogrify.css"); +@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz&subset=latin); + +/***** Global *****/ +/* Body */ +body { + background: #F5F4EF; + color: #000305; + font-size: 87.5%; /* Base font size: 14px */ + font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; + line-height: 1.429; + text-align: left; + width: 90%; + display: inline-block; + max-width: 80em; +} + +* { + margin: 0; + padding: 0; + /*! width: 100%; */ +} + +/* Headings */ +h1 {font-size: 2em } +h2 {font-size: 1.571em} /* 22px */ +h3 {font-size: 1.429em} /* 20px */ +h4 {font-size: 1.286em} /* 18px */ +h5 {font-size: 1.143em} /* 16px */ +h6 {font-size: 1em} /* 14px */ + +h1, h2, h3, h4, h5, h6 { + font-weight: 400; + line-height: 1.1; + margin-bottom: .2em; + font-family: 'Calibri', arial, serif; +} + +h3, h4, h5, h6 { margin-top: .8em; } + +hr { border: 2px solid #EEEEEE; } + +/* Anchors */ +a {outline: 0;} +a img {border: 0px; text-decoration: none;} +a:link, a:visited { + color: #C74350; + /*! padding: 0 1px; */ + text-decoration: underline; +} +a:hover, a:active { + background-color: #C74350; + color: #fff; + text-decoration: none; + text-shadow: 1px 1px 1px #333; +} + +h1 a:hover { + background-color: inherit +} + +/* Paragraphs */ +div.line-block, +p { margin-top: 1em; + margin-bottom: 1em;} + +strong, b {font-weight: bold;} +em, i {font-style: italic;} + +/* Lists */ +ul { + list-style: outside disc; + /*! margin: 0em 0 0 1.5em; */ +} + +ol { + list-style: outside decimal; + margin: 0em 0 0 1.5em; +} + +li { margin-top: 0.5em; + margin-bottom: 1em; } + +.post-info { + float:right; + margin:10px; + padding:5px; +} + +.post-info p{ + margin-top: 1px; + margin-bottom: 1px; +} + +.readmore { float: right } + +dl {margin: 0 0 1.5em 0;} +dt {font-weight: bold;} +dd {margin-left: 1.5em;} + +pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;} + +/* Quotes */ +blockquote { + margin: 20px; + font-style: italic; +} +cite {} + +q {} + +div.note { + float: right; + margin: 5px; + font-size: 85%; + max-width: 300px; +} + +/* Tables */ +table {margin: .5em auto 1.5em auto; width: 98%;} + + /* Thead */ + thead th {padding: .5em .4em; text-align: left;} + thead td {} + + /* Tbody */ + tbody td {padding: .5em .4em;} + tbody th {} + + tbody .alt td {} + tbody .alt th {} + + /* Tfoot */ + tfoot th {} + tfoot td {} + +/* HTML5 tags */ +header, section, footer, +aside, nav, article, figure { + display: block; +} + +/***** Layout *****/ +.body {clear: both; margin: 0; /*! *//*! */text-align: left;padding: 2em;} +img.right, figure.right {float: right; margin: 0 0 2em 2em;} +img.left, figure.left {float: left; margin: 0 2em 2em 0;} + +/* + Header +*****************/ +#banner { + /*! */ + /*! */ + padding: 1em 0; +} + + /* Banner */ + #banner h1 {font-size: 3.571em; /*! */} + #banner h1 a:link, #banner h1 a:visited { + color: #000305; + display: block; + font-weight: bold; + /*! margin: 0 0 .6em .2em; */ + text-decoration: none; + } + #banner h1 a:hover, #banner h1 a:active { + background: none; + color: #C74350; + text-shadow: none; + } + + #banner h1 strong {font-size: 0.36em; font-weight: normal;} + + /* Main Nav */ + #banner nav { + background: #000305; + font-size: 1.143em; + /*! */ + line-height: 30px; + /*! margin: 0 auto 2em auto; */ + /*! padding: 0; */ + /*! text-align: center; */ + /*! max-width: 800px; */ + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #banner nav ul {list-style: none; /*! margin: 0 auto; */ /*! */} + #banner nav li {/*! float: left; */ display: inline; margin: 0;} + + #banner nav a:link, #banner nav a:visited { + color: #fff; + display: inline-block; + /*! */ + padding: 5px 1.5em; + text-decoration: none; + } + #banner nav a:hover, #banner nav a:active, + #banner nav .active a:link, #banner nav .active a:visited { + background: #C74451; + color: #fff; + text-shadow: none !important; + } + + #banner nav li:first-child a { + border-top-left-radius: 5px; + -moz-border-radius-topleft: 5px; + -webkit-border-top-left-radius: 5px; + + border-bottom-left-radius: 5px; + -moz-border-radius-bottomleft: 5px; + -webkit-border-bottom-left-radius: 5px; + } + +/* + Featured +*****************/ +#featured { + background: #fff; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + width: 760px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#featured figure { + border: 2px solid #eee; + float: right; + margin: 0.786em 2em 0 5em; + width: 248px; +} +#featured figure img {display: block; float: right;} + +#featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;} +#featured h3 {font-size: 1.429em; margin-bottom: .5em;} + +#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;} +#featured h3 a:hover, #featured h3 a:active {color: #fff;} + +/* + Body +*****************/ +#content { + background: #fff; + /*! */ + /*! */ + /*! */ + /*! */ + + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#content img { + padding: 1em; +} + +/* #content h1, #content h2, #content p, #content img { + padding: 0 20px; +} */ + +/* + Extras +*****************/ +#extras {/*! margin: 0 auto 3em auto; */ overflow: hidden;} + +#extras ul {list-style: none; margin: 0;} +#extras li {border-bottom: 1px solid #fff;} +#extras h2 { + color: #C74350; + font-size: 1.429em; + margin-bottom: .25em; + padding: 0 3px; +} + +#extras a:link, #extras a:visited { + color: #444; + display: block; + border-bottom: 1px solid #F4E3E3; + text-decoration: none; + padding: .3em .25em; +} + +#extras a:hover, #extras a:active {color: #fff;} + + /* Blogroll */ + #extras .blogroll { + float: left; + width: 615px; + } + + #extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;} + + /* Social */ + #extras .social { + float: right; + width: 175px; + } + + #extras div[class='social'] a { + background-repeat: no-repeat; + background-position: 3px 6px; + padding-left: 25px; + } + + /* Icons */ + .social a[href*='about.me'] {background-image: url('../images/icons/aboutme.png');} + .social a[href*='bitbucket.org'] {background-image: url('../images/icons/bitbucket.png');} + .social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');} + .social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');} + .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} + .social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.png');} + .social a[href*='github.com'], + .social a[href*='git.io'] { + background-image: url('../images/icons/github.png'); + background-size: 16px 16px; + } + .social a[href*='gittip.com'] {background-image: url('../images/icons/gittip.png');} + .social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');} + .social a[href*='groups.google.com'] {background-image: url('../images/icons/google-groups.png');} + .social a[href*='news.ycombinator.com'], + .social a[href*='hackernewsers.com'] {background-image: url('../images/icons/hackernews.png');} + .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} + .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} + .social a[href*='reddit.com'] {background-image: url('../images/icons/reddit.png');} + .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} + .social a[href*='slideshare.net'] {background-image: url('../images/icons/slideshare.png');} + .social a[href*='speakerdeck.com'] {background-image: url('../images/icons/speakerdeck.png');} + .social a[href*='stackoverflow.com'] {background-image: url('../images/icons/stackoverflow.png');} + .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} + .social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');} + .social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');} + +/* + About +*****************/ +#about { + background: #fff; + font-style: normal; + /*! margin-bottom: 2em; */ + /*! overflow: hidden; */ + padding: 1em 2em; + text-align: left; + /*! width: 760px; */ + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#about .primary {float: left; width: 165px;} +#about .primary strong {color: #C64350; display: block; font-size: 1.286em;} +#about .photo {float: left; margin: 5px 20px;} + +#about .url:link, #about .url:visited {text-decoration: none;} + +#about .bio {float: right; width: 500px;} + +/* + Footer +*****************/ +#contentinfo {/*! padding-bottom: 2em; */ text-align: right;padding: 0;} + +/***** Sections *****/ +/* Blog */ +.hentry { + display: block; + clear: both; + border-bottom: 1px solid #eee; + padding: 1.5em 0; +} +li:last-child .hentry, #content > .hentry {border: 0; margin: 0;} +#content > .hentry {padding: 1em 0;} +.hentry img{display : none ;} +.entry-title {font-size: 3em; /*! margin-bottom: 10px; */ /*! margin-top: 0; */} +.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;} +.entry-title a:visited {background-color: #fff;} + +.hentry .post-info * {font-style: normal;} + + /* Content */ + .hentry footer {margin-bottom: 2em;} + .hentry footer address {display: inline;} + #posts-list footer address {display: block;} + + /* Blog Index */ + #posts-list {list-style: none; margin: 0;} + #posts-list .hentry {padding-left: 10px; position: relative;} + + #posts-list footer { + left: 10px; + position: relative; + float: left; + top: 0.5em; + width: 190px; + } + + /* About the Author */ + #about-author { + background: #f9f9f9; + clear: both; + font-style: normal; + margin: 2em 0; + padding: 10px 20px 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #about-author strong { + color: #C64350; + clear: both; + display: block; + font-size: 1.429em; + } + + #about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;} + + /* Comments */ + #comments-list {list-style: none; margin: 0 1em;} + #comments-list blockquote { + background: #f8f8f8; + clear: both; + font-style: normal; + margin: 0; + padding: 15px 20px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + #comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;} + + #comments-list li:nth-child(2n) blockquote {background: #F5f5f5;} + + /* Add a Comment */ + #add-comment label {clear: left; float: left; text-align: left; width: 150px;} + #add-comment input[type='text'], + #add-comment input[type='email'], + #add-comment input[type='url'] {float: left; width: 200px;} + + #add-comment textarea {float: left; height: 150px; width: 495px;} + + #add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;} + + #add-comment input[type='submit'] {float: right; margin: 0 .5em;} + #add-comment * {margin-bottom: .5em;} + +html { + text-align: center; +} + +footer { + padding: 0; +} + +@media screen and (max-width:500px) { + + #banner nav li { + display: block; + /*! margin: 0; */ + border-radius: 0; + text-align: center; + } + + #banner nav { + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + } + + body { + width: 100%; + } + + #banner nav li:first-child a { + border-radius: 0; + } + + #banner nav li a { + width: ; + } + + #banner h1 { + text-align: center; + } + + footer p { + padding: 0 2em; + text-align: center; + } +} diff --git a/website/themes/notmyidea/static/css/pygment.css b/website/themes/notmyidea/static/css/pygment.css new file mode 100644 index 0000000000000000000000000000000000000000..fdd056f6f8bbe4f98bb887d7d427b1f9d03acde8 --- /dev/null +++ b/website/themes/notmyidea/static/css/pygment.css @@ -0,0 +1,205 @@ +.hll { +background-color:#eee; +} +.c { +color:#408090; +font-style:italic; +} +.err { +border:1px solid #FF0000; +} +.k { +color:#007020; +font-weight:bold; +} +.o { +color:#666666; +} +.cm { +color:#408090; +font-style:italic; +} +.cp { +color:#007020; +} +.c1 { +color:#408090; +font-style:italic; +} +.cs { +background-color:#FFF0F0; +color:#408090; +} +.gd { +color:#A00000; +} +.ge { +font-style:italic; +} +.gr { +color:#FF0000; +} +.gh { +color:#000080; +font-weight:bold; +} +.gi { +color:#00A000; +} +.go { +color:#303030; +} +.gp { +color:#C65D09; +font-weight:bold; +} +.gs { +font-weight:bold; +} +.gu { +color:#800080; +font-weight:bold; +} +.gt { +color:#0040D0; +} +.kc { +color:#007020; +font-weight:bold; +} +.kd { +color:#007020; +font-weight:bold; +} +.kn { +color:#007020; +font-weight:bold; +} +.kp { +color:#007020; +} +.kr { +color:#007020; +font-weight:bold; +} +.kt { +color:#902000; +} +.m { +color:#208050; +} +.s { +color:#4070A0; +} +.na { +color:#4070A0; +} +.nb { +color:#007020; +} +.nc { +color:#0E84B5; +font-weight:bold; +} +.no { +color:#60ADD5; +} +.nd { +color:#555555; +font-weight:bold; +} +.ni { +color:#D55537; +font-weight:bold; +} +.ne { +color:#007020; +} +.nf { +color:#06287E; +} +.nl { +color:#002070; +font-weight:bold; +} +.nn { +color:#0E84B5; +font-weight:bold; +} +.nt { +color:#062873; +font-weight:bold; +} +.nv { +color:#BB60D5; +} +.ow { +color:#007020; +font-weight:bold; +} +.w { +color:#BBBBBB; +} +.mf { +color:#208050; +} +.mh { +color:#208050; +} +.mi { +color:#208050; +} +.mo { +color:#208050; +} +.sb { +color:#4070A0; +} +.sc { +color:#4070A0; +} +.sd { +color:#4070A0; +font-style:italic; +} +.s2 { +color:#4070A0; +} +.se { +color:#4070A0; +font-weight:bold; +} +.sh { +color:#4070A0; +} +.si { +color:#70A0D0; +font-style:italic; +} +.sx { +color:#C65D09; +} +.sr { +color:#235388; +} +.s1 { +color:#4070A0; +} +.ss { +color:#517918; +} +.bp { +color:#007020; +} +.vc { +color:#BB60D5; +} +.vg { +color:#BB60D5; +} +.vi { +color:#BB60D5; +} +.il { +color:#208050; +} diff --git a/website/themes/notmyidea/static/css/reset.css b/website/themes/notmyidea/static/css/reset.css new file mode 100644 index 0000000000000000000000000000000000000000..1e217566acc77f4b4aa491e92b69806b5d71f950 --- /dev/null +++ b/website/themes/notmyidea/static/css/reset.css @@ -0,0 +1,52 @@ +/* + Name: Reset Stylesheet + Description: Resets browser's default CSS + Author: Eric Meyer + Author URI: http://meyerweb.com/eric/tools/css/reset/ +*/ + +/* v1.0 | 20080212 */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; +} + +body {line-height: 1;} + +ol, ul {list-style: none;} + +blockquote, q {quotes: none;} + +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins {text-decoration: none;} +del {text-decoration: line-through;} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/website/themes/notmyidea/static/css/typogrify.css b/website/themes/notmyidea/static/css/typogrify.css new file mode 100644 index 0000000000000000000000000000000000000000..c9b34dc8a8754da5a484932fbfe976ff60bdca3f --- /dev/null +++ b/website/themes/notmyidea/static/css/typogrify.css @@ -0,0 +1,3 @@ +.caps {font-size:.92em;} +.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} +.dquo {margin-left:-.38em;} diff --git a/website/themes/notmyidea/static/css/wide.css b/website/themes/notmyidea/static/css/wide.css new file mode 100644 index 0000000000000000000000000000000000000000..88fd59ceb7d5c6bbfc989d3a5e9cb4df3cdfb80b --- /dev/null +++ b/website/themes/notmyidea/static/css/wide.css @@ -0,0 +1,48 @@ +@import url("main.css"); + +body { + font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; +} + +.post-info{ + display: none; +} + +#banner nav { + display: none; + -moz-border-radius: 0px; + margin-bottom: 20px; + overflow: hidden; + font-size: 1em; + background: #F5F4EF; +} + +#banner nav ul{ + padding-right: 50px; +} + +#banner nav li{ + float: right; + color: #000; +} + +#banner nav li a { + color: #000; +} + +#banner h1 { + margin-bottom: -18px; +} + +#featured, #extras { + padding: 50px; +} + +#featured { + padding-top: 20px; +} + +#extras { + padding-top: 0px; + padding-bottom: 0px; +} diff --git a/website/themes/notmyidea/static/images/icons/aboutme.png b/website/themes/notmyidea/static/images/icons/aboutme.png new file mode 100644 index 0000000000000000000000000000000000000000..9609df3bd9d766cd4b827fb0a8339b700c1abf24 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/aboutme.png differ diff --git a/website/themes/notmyidea/static/images/icons/bitbucket.png b/website/themes/notmyidea/static/images/icons/bitbucket.png new file mode 100644 index 0000000000000000000000000000000000000000..d05ba1610eab6ec3f9a4dcae689d4d88bda5433f Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/bitbucket.png differ diff --git a/website/themes/notmyidea/static/images/icons/delicious.png b/website/themes/notmyidea/static/images/icons/delicious.png new file mode 100644 index 0000000000000000000000000000000000000000..3dccdd848ec99fba9950e8195d4e73867ada2738 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/delicious.png differ diff --git a/website/themes/notmyidea/static/images/icons/facebook.png b/website/themes/notmyidea/static/images/icons/facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..74e7ad52f362b56d584df459bc5141395c32b7ed Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/facebook.png differ diff --git a/website/themes/notmyidea/static/images/icons/github.png b/website/themes/notmyidea/static/images/icons/github.png new file mode 100644 index 0000000000000000000000000000000000000000..8b25551a97921681334176ee143b41510a117d86 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/github.png differ diff --git a/website/themes/notmyidea/static/images/icons/gitorious.png b/website/themes/notmyidea/static/images/icons/gitorious.png new file mode 100644 index 0000000000000000000000000000000000000000..3eeb3ecec36a73ff505e04ecdecbcc4792ef6786 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/gitorious.png differ diff --git a/website/themes/notmyidea/static/images/icons/gittip.png b/website/themes/notmyidea/static/images/icons/gittip.png new file mode 100644 index 0000000000000000000000000000000000000000..af949625ac83d2441215c81650e897c97d9e5d95 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/gittip.png differ diff --git a/website/themes/notmyidea/static/images/icons/google-groups.png b/website/themes/notmyidea/static/images/icons/google-groups.png new file mode 100644 index 0000000000000000000000000000000000000000..5de15e68f4d1e4176b46fe6346d42f53e3296b21 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/google-groups.png differ diff --git a/website/themes/notmyidea/static/images/icons/google-plus.png b/website/themes/notmyidea/static/images/icons/google-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6b74324031611f20c0a3810131aa74fd0a5a9f Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/google-plus.png differ diff --git a/website/themes/notmyidea/static/images/icons/hackernews.png b/website/themes/notmyidea/static/images/icons/hackernews.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7a82d4d68068d5fb032885b93e670c385ae1b4 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/hackernews.png differ diff --git a/website/themes/notmyidea/static/images/icons/lastfm.png b/website/themes/notmyidea/static/images/icons/lastfm.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6c6262b644dadbcf6cce5dfe4fed9740a9ec1f Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/lastfm.png differ diff --git a/website/themes/notmyidea/static/images/icons/linkedin.png b/website/themes/notmyidea/static/images/icons/linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..d29c1201bcb0c278d49f573f9ef95ebfe932fb5b Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/linkedin.png differ diff --git a/website/themes/notmyidea/static/images/icons/reddit.png b/website/themes/notmyidea/static/images/icons/reddit.png new file mode 100644 index 0000000000000000000000000000000000000000..71ae1215ac8ea274f089cc4aa55eaf8a546dea67 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/reddit.png differ diff --git a/website/themes/notmyidea/static/images/icons/rss.png b/website/themes/notmyidea/static/images/icons/rss.png new file mode 100644 index 0000000000000000000000000000000000000000..7862c65afeb66ba9cc7e9576a3a62b850b2e184d Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/rss.png differ diff --git a/website/themes/notmyidea/static/images/icons/slideshare.png b/website/themes/notmyidea/static/images/icons/slideshare.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc97410138bb3c457a898b1e868b22ae9db9989 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/slideshare.png differ diff --git a/website/themes/notmyidea/static/images/icons/speakerdeck.png b/website/themes/notmyidea/static/images/icons/speakerdeck.png new file mode 100644 index 0000000000000000000000000000000000000000..087d0931caa301f8a1bba1497e1b91b7a7f105a4 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/speakerdeck.png differ diff --git a/website/themes/notmyidea/static/images/icons/stackoverflow.png b/website/themes/notmyidea/static/images/icons/stackoverflow.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b65e9990dbf423ff652b297f1d0172c8c1cf27 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/stackoverflow.png differ diff --git a/website/themes/notmyidea/static/images/icons/twitter.png b/website/themes/notmyidea/static/images/icons/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..057ab004b5d826e151a4f9cc6a66d88caffa8911 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/twitter.png differ diff --git a/website/themes/notmyidea/static/images/icons/vimeo.png b/website/themes/notmyidea/static/images/icons/vimeo.png new file mode 100644 index 0000000000000000000000000000000000000000..dba472022f0fcf7ecdd8f4847a8a3bde90789bc7 Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/vimeo.png differ diff --git a/website/themes/notmyidea/static/images/icons/youtube.png b/website/themes/notmyidea/static/images/icons/youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6cbe4fdaf6e7dff56c0418a19bd1466a40a02e Binary files /dev/null and b/website/themes/notmyidea/static/images/icons/youtube.png differ diff --git a/website/themes/notmyidea/templates/analytics.html b/website/themes/notmyidea/templates/analytics.html new file mode 100644 index 0000000000000000000000000000000000000000..465754e2836db4f7f1251743d3e1852697ab69cd --- /dev/null +++ b/website/themes/notmyidea/templates/analytics.html @@ -0,0 +1,46 @@ +{% if GOOGLE_ANALYTICS %} + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', '{{GOOGLE_ANALYTICS}}']); + _gaq.push(['_trackPageview']); + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = 'https://ssl.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> +{% endif %} +{% if GAUGES %} + <script type="text/javascript"> + var _gauges = _gauges || []; + (function() { + var t = document.createElement('script'); + t.type = 'text/javascript'; + t.async = true; + t.id = 'gauges-tracker'; + t.setAttribute('data-site-id', '{{GAUGES}}'); + t.src = '//secure.gaug.es/track.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(t, s); + })(); + </script> +{% endif %} +{% if PIWIK_URL and PIWIK_SITE_ID %} + <script type="text/javascript"> + {% if PIWIK_SSL_URL %} + var pkBaseURL = "{{ PIWIK_SSL_URL }}"; + {% else %} + var pkBaseURL = "{{ PIWIK_URL }}"; + {% endif %} + var _paq = _paq || []; + _paq.push(["trackPageView"]); + _paq.push(["enableLinkTracking"]); + (function() { + var u=(("https:" == document.location.protocol) ? "https" : "http")+"://"+pkBaseURL+"/"; + _paq.push(["setTrackerUrl", u+"piwik.php"]); + _paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]); + var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; + g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); + })(); + </script> +{% endif %} diff --git a/website/themes/notmyidea/templates/archives.html b/website/themes/notmyidea/templates/archives.html new file mode 100644 index 0000000000000000000000000000000000000000..f6784942f45a5dc81b7cf4da3148d90009470b77 --- /dev/null +++ b/website/themes/notmyidea/templates/archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +<section id="content" class="body"> +<h1>Archives for {{ SITENAME }}</h1> + +<dl> +{% for article in dates %} + <dt>{{ article.locale_date }}</dt> + <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> +{% endfor %} +</dl> +</section> +{% endblock %} diff --git a/website/themes/notmyidea/templates/article.html b/website/themes/notmyidea/templates/article.html new file mode 100644 index 0000000000000000000000000000000000000000..06110b4312142d12bddf3ce098df6d576a861ef9 --- /dev/null +++ b/website/themes/notmyidea/templates/article.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} +{% block title %}{{ article.title|striptags }}{% endblock %} +{% block content %} +<section id="content" class="body"> + <article> + <header> + <h1 class="entry-title"> + <a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" + title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1> + {% include 'twitter.html' %} + </header> + + <div class="entry-content"> + {% include 'article_infos.html' %} + {{ article.content }} + </div><!-- /.entry-content --> + {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} + <div class="comments"> + <h2>Comments !</h2> + <div id="disqus_thread"></div> + <script type="text/javascript"> + var disqus_shortname = '{{ DISQUS_SITENAME }}'; + var disqus_identifier = '{{ article.url }}'; + var disqus_url = '{{ SITEURL }}/{{ article.url }}'; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = '//{{ DISQUS_SITENAME }}.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + <noscript>Please enable JavaScript to view the comments.</noscript> + </div> + {% endif %} + + </article> +</section> +{% endblock %} diff --git a/website/themes/notmyidea/templates/article_infos.html b/website/themes/notmyidea/templates/article_infos.html new file mode 100644 index 0000000000000000000000000000000000000000..172ad85dd748cad2c5ed9af2914163ad16004f10 --- /dev/null +++ b/website/themes/notmyidea/templates/article_infos.html @@ -0,0 +1,23 @@ +<footer class="post-info"> + <abbr class="published" title="{{ article.date.isoformat() }}"> + Published: {{ article.locale_date }} + </abbr> + {% if article.modified %} + <br /> + <abbr class="modified" title="{{ article.modified.isoformat() }}"> + Updated: {{ article.locale_modified }} + </abbr> + {% endif %} + + {% if article.authors %} + <address class="vcard author"> + By {% for author in article.authors %} + <a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> + {% endfor %} + </address> + {% endif %} +<p>In <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>.</p> +{% include 'taglist.html' %} +{% import 'translations.html' as translations with context %} +{{ translations.translations_for(article) }} +</footer><!-- /.post-info --> diff --git a/website/themes/notmyidea/templates/author.html b/website/themes/notmyidea/templates/author.html new file mode 100644 index 0000000000000000000000000000000000000000..0b372902d5552cb93a0eed266b6fd851f63bd1be --- /dev/null +++ b/website/themes/notmyidea/templates/author.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ author }}{% endblock %} diff --git a/website/themes/notmyidea/templates/authors.html b/website/themes/notmyidea/templates/authors.html new file mode 100644 index 0000000000000000000000000000000000000000..e61a332f1e6dfe570b18658b37019141906818ea --- /dev/null +++ b/website/themes/notmyidea/templates/authors.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Authors{% endblock %} + +{% block content %} + +<section id="content" class="body"> + <h1>Authors on {{ SITENAME }}</h1> + <ul> + {% for author, articles in authors|sort %} + <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li> + {% endfor %} + </ul> +</section> + +{% endblock %} diff --git a/website/themes/notmyidea/templates/base.html b/website/themes/notmyidea/templates/base.html new file mode 100644 index 0000000000000000000000000000000000000000..edbb83ffb8855cd6b31e9ad04fb8752ba24820c3 --- /dev/null +++ b/website/themes/notmyidea/templates/base.html @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<html lang="{{ DEFAULT_LANG }}"> +<head> + <meta charset="utf-8" /> + <title>{% block title %}{{ SITENAME }}{%endblock%}</title> + <link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" /> + {% if FEED_ALL_ATOM %} + <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" /> + {% endif %} + {% if FEED_ALL_RSS %} + <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" /> + {% endif %} + + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <!--[if IE]> + <script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> +</head> + +<body id="index" class="home"> +{% include 'github.html' %} + <header id="banner" class="body"> + <h1><a href="{{ SITEURL }}/">{{ SITENAME }} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1> + <nav><ul> + {% for title, link in MENUITEMS %} + <li><a href="{{ link }}">{{ title }}</a></li> + {% endfor %} + {% if DISPLAY_PAGES_ON_MENU -%} + {% for pg in PAGES %} + <li{% if pg == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.title }}</a></li> + {% endfor %} + {% endif %} + {% if DISPLAY_CATEGORIES_ON_MENU -%} + {% for cat, null in categories %} + <li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li> + {% endfor %} + {% endif %} + </ul></nav> + </header><!-- /#banner --> + {% block content %} + {% endblock %} + <section id="extras" class="body"> + {% if LINKS %} + <div class="blogroll"> + <h2>blogroll</h2> + <ul> + {% for name, link in LINKS %} + <li><a href="{{ link }}">{{ name }}</a></li> + {% endfor %} + </ul> + </div><!-- /.blogroll --> + {% endif %} + {% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %} + <div class="social"> + <h2>social</h2> + <ul> + {% if FEED_ALL_ATOM %} + <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate">atom feed</a></li> + {% endif %} + {% if FEED_ALL_RSS %} + <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate">rss feed</a></li> + {% endif %} + + {% for name, link in SOCIAL %} + <li><a href="{{ link }}">{{ name }}</a></li> + {% endfor %} + </ul> + </div><!-- /.social --> + {% endif %} + </section><!-- /#extras --> + + <footer id="contentinfo" class="body"> + <div id="about" class="vcard"> + Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>. + </div><!-- /#about --> + + <p>The theme is by <a href="http://coding.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/">Smashing Magazine</a>, thanks!</p> + </footer><!-- /#contentinfo --> + +{% include 'analytics.html' %} +{% include 'disqus_script.html' %} +</body> +</html> diff --git a/website/themes/notmyidea/templates/category.html b/website/themes/notmyidea/templates/category.html new file mode 100644 index 0000000000000000000000000000000000000000..56f8e93e949d635765ff09cdd9a1c7e9209676a9 --- /dev/null +++ b/website/themes/notmyidea/templates/category.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} diff --git a/website/themes/notmyidea/templates/comments.html b/website/themes/notmyidea/templates/comments.html new file mode 100644 index 0000000000000000000000000000000000000000..bb033c0f4baeae5d2b32851548f9a1d11f55952b --- /dev/null +++ b/website/themes/notmyidea/templates/comments.html @@ -0,0 +1 @@ +{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %} diff --git a/website/themes/notmyidea/templates/disqus_script.html b/website/themes/notmyidea/templates/disqus_script.html new file mode 100644 index 0000000000000000000000000000000000000000..23ec532a9bf73ea07bbf3b50a7b604483368744d --- /dev/null +++ b/website/themes/notmyidea/templates/disqus_script.html @@ -0,0 +1,11 @@ +{% if DISQUS_SITENAME %} +<script type="text/javascript"> + var disqus_shortname = '{{ DISQUS_SITENAME }}'; + (function () { + var s = document.createElement('script'); s.async = true; + s.type = 'text/javascript'; + s.src = 'https://' + disqus_shortname + '.disqus.com/count.js'; + (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); + }()); +</script> +{% endif %} diff --git a/website/themes/notmyidea/templates/github.html b/website/themes/notmyidea/templates/github.html new file mode 100644 index 0000000000000000000000000000000000000000..ccc401fe6ee9ec671d062ce59f6f1f53b45c097e --- /dev/null +++ b/website/themes/notmyidea/templates/github.html @@ -0,0 +1,9 @@ +{% if GITHUB_URL %} +<a href="{{ GITHUB_URL }}"> +{% if GITHUB_POSITION != "left" %} +<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" /> +{% else %} +<img style="position: absolute; top: 0; left: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" /> +{% endif %} +</a> +{% endif %} diff --git a/website/themes/notmyidea/templates/index.html b/website/themes/notmyidea/templates/index.html new file mode 100644 index 0000000000000000000000000000000000000000..6019987becb4047ed0f838fb26f3214f2f7bd99c --- /dev/null +++ b/website/themes/notmyidea/templates/index.html @@ -0,0 +1,59 @@ +{% extends "base.html" %} +{% block content_title %}{% endblock %} +{% block content %} +{% if articles %} + {% for article in articles_page.object_list %} + + {# First item #} + {% if loop.first and not articles_page.has_previous() %} + <aside id="featured" class="body"> + <article> + <h1 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h1> + {% include 'article_infos.html' %}{{ article.content }}{% include 'comments.html' %} + </article> + </aside><!-- /#featured --> + {% if loop.length > 1 %} + <section id="content" class="body"> + <h1>Other articles</h1> + <hr /> + <ol id="posts-list" class="hfeed"> + {% endif %} + {# other items #} + {% else %} + {% if loop.first %} + <section id="content" class="body"> + <ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}"> + {% endif %} + <li><article class="hentry"> + <header> + <h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" + title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1> + </header> + + <div class="entry-content"> + {% include 'article_infos.html' %} + {{ article.summary }} + <a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a> + {% include 'comments.html' %} + </div><!-- /.entry-content --> + </article></li> + {% endif %} + {% if loop.last %} + {% if loop.length > 1 or articles_page.has_other_pages() %} + </ol><!-- /#posts-list --> + {% if articles_page.has_other_pages() %} + {% include 'pagination.html' %} + {% endif %} + </section><!-- /#content --> + {% endif %} + {% endif %} + {% endfor %} +{% else %} +<section id="content" class="body"> +<h2>Pages</h2> + {% for page in PAGES %} + <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li> + {% endfor %} +</section> +{% endif %} +{% endblock content %} diff --git a/website/themes/notmyidea/templates/page.html b/website/themes/notmyidea/templates/page.html new file mode 100644 index 0000000000000000000000000000000000000000..0d8283fe4fd88e565e47f87d8a1532a771c0afda --- /dev/null +++ b/website/themes/notmyidea/templates/page.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }}{% endblock %} +{% block content %} +<section id="content" class="body"> + <h1 class="entry-title">{{ page.title }}</h1> + {% import 'translations.html' as translations with context %} + {{ translations.translations_for(page) }} + {{ page.content }} +</section> +{% endblock %} diff --git a/website/themes/notmyidea/templates/period_archives.html b/website/themes/notmyidea/templates/period_archives.html new file mode 100644 index 0000000000000000000000000000000000000000..252e002f59466d940a4203354c294a57ec82b7b7 --- /dev/null +++ b/website/themes/notmyidea/templates/period_archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +<section id="content" class="body"> +<h1>Archives for {{ period | reverse | join(' ') }}</h1> + +<dl> +{% for article in dates %} + <dt>{{ article.locale_date }}</dt> + <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> +{% endfor %} +</dl> +</section> +{% endblock %} diff --git a/website/themes/notmyidea/templates/tag.html b/website/themes/notmyidea/templates/tag.html new file mode 100644 index 0000000000000000000000000000000000000000..68cdcba652b9621a24990b45ec734c859914355f --- /dev/null +++ b/website/themes/notmyidea/templates/tag.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} diff --git a/website/themes/notmyidea/templates/taglist.html b/website/themes/notmyidea/templates/taglist.html new file mode 100644 index 0000000000000000000000000000000000000000..58f3557638746dc3bbdc75b1c9d55bf7d16892ce --- /dev/null +++ b/website/themes/notmyidea/templates/taglist.html @@ -0,0 +1 @@ +{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag | escape }}</a> {% endfor %}</p>{% endif %} diff --git a/website/themes/notmyidea/templates/tags.html b/website/themes/notmyidea/templates/tags.html new file mode 100644 index 0000000000000000000000000000000000000000..fb099557b9747514c90984b8d12a847a4b72fb50 --- /dev/null +++ b/website/themes/notmyidea/templates/tags.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Tags{% endblock %} + +{% block content %} + +<section id="content" class="body"> + <h1>Tags for {{ SITENAME }}</h1> + <ul> + {% for tag, articles in tags|sort %} + <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li> + {% endfor %} + </ul> +</section> + +{% endblock %} diff --git a/website/themes/notmyidea/templates/translations.html b/website/themes/notmyidea/templates/translations.html new file mode 100644 index 0000000000000000000000000000000000000000..7894bb07194c57c3debc2559d2948db79963020a --- /dev/null +++ b/website/themes/notmyidea/templates/translations.html @@ -0,0 +1,8 @@ +{% macro translations_for(article) %} +{% if article.translations %} +Translations: + {% for translation in article.translations %} + <a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a> + {% endfor %} +{% endif %} +{% endmacro %} diff --git a/website/themes/notmyidea/templates/twitter.html b/website/themes/notmyidea/templates/twitter.html new file mode 100644 index 0000000000000000000000000000000000000000..bf78c32dc3043523e9774a90f9cf8e76d218cb9c --- /dev/null +++ b/website/themes/notmyidea/templates/twitter.html @@ -0,0 +1,3 @@ +{% if TWITTER_USERNAME %} +<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script> +{% endif %}