diff --git a/website/.gitignore b/website/.gitignore index 70355aacfc0edec357c54124801c4cfe64b377d6..264cc5cd40126bb6f93b4c49067f0d10e41a3923 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -1,117 +1,4 @@ -#### 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/ +*.pyc \ No newline at end of file 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..951d3c0013b2ff246a6d817e59658ea0b591517c 100644 --- a/website/Makefile +++ b/website/Makefile @@ -1,9 +1,11 @@ -.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/ \ No newline at end of file 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/bin/activate b/website/bin/activate new file mode 100644 index 0000000000000000000000000000000000000000..89d2910c3ae82cdc202a03f5625140513bbbe62a --- /dev/null +++ b/website/bin/activate @@ -0,0 +1,80 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + unset pydoc + + # reset old environment variables + if [ -n "$_OLD_VIRTUAL_PATH" ] ; then + PATH="$_OLD_VIRTUAL_PATH" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then + PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r 2>/dev/null + fi + + if [ -n "$_OLD_VIRTUAL_PS1" ] ; then + PS1="$_OLD_VIRTUAL_PS1" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="/home/bbartels/Education/Semester11/ee491/project/website" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "$PYTHONHOME" ] ; then + _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" + unset PYTHONHOME +fi + +if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then + _OLD_VIRTUAL_PS1="$PS1" + if [ "x" != x ] ; then + PS1="$PS1" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +alias pydoc="python -m pydoc" + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r 2>/dev/null +fi diff --git a/website/bin/activate.csh b/website/bin/activate.csh new file mode 100644 index 0000000000000000000000000000000000000000..b31a5fbe538a38b53e561eaa34635d8829875793 --- /dev/null +++ b/website/bin/activate.csh @@ -0,0 +1,42 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi <davidedb@gmail.com>. + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/bbartels/Education/Semester11/ee491/project/website" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + + +if ("" != "") then + set env_name = "" +else + if (`basename "$VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif +endif + +# Could be in a non-interactive environment, +# in which case, $prompt is undefined and we wouldn't +# care about the prompt anyway. +if ( $?prompt ) then + set _OLD_VIRTUAL_PROMPT="$prompt" + set prompt = "[$env_name] $prompt" +endif + +unset env_name + +alias pydoc python -m pydoc + +rehash + diff --git a/website/bin/activate.fish b/website/bin/activate.fish new file mode 100644 index 0000000000000000000000000000000000000000..f8ae4c24b9e7c691f35657d109f30677c55f62b3 --- /dev/null +++ b/website/bin/activate.fish @@ -0,0 +1,74 @@ +# This file must be used with "source bin/activate.fish" *from fish* (http://fishshell.com) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + # set an empty local fish_function_path, so fish_prompt doesn't automatically reload + set -l fish_function_path + # erase the virtualenv's fish_prompt function, and restore the original + functions -e fish_prompt + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelevant variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/bbartels/Education/Semester11/ee491/project/website" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # copy the current fish_prompt function as the function _old_fish_prompt + functions -c fish_prompt _old_fish_prompt + + # with the original prompt function copied, we can override with our own. + function fish_prompt + # Prompt override? + if test -n "" + printf "%s%s" "" (set_color normal) + _old_fish_prompt + return + end + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) + _old_fish_prompt + else + printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) + _old_fish_prompt + end + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/website/bin/activate_this.py b/website/bin/activate_this.py new file mode 100644 index 0000000000000000000000000000000000000000..f18193bf8109396374fb7811f0f261be27f4c143 --- /dev/null +++ b/website/bin/activate_this.py @@ -0,0 +1,34 @@ +"""By using execfile(this_file, dict(__file__=this_file)) you will +activate this virtualenv environment. + +This can be used when you must use an existing Python interpreter, not +the virtualenv bin/python +""" + +try: + __file__ +except NameError: + raise AssertionError( + "You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))") +import sys +import os + +old_os_path = os.environ.get('PATH', '') +os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path +base = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if sys.platform == 'win32': + site_packages = os.path.join(base, 'Lib', 'site-packages') +else: + site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages') +prev_sys_path = list(sys.path) +import site +site.addsitedir(site_packages) +sys.real_prefix = sys.prefix +sys.prefix = base +# Move the added items to the front of the path: +new_sys_path = [] +for item in list(sys.path): + if item not in prev_sys_path: + new_sys_path.append(item) + sys.path.remove(item) +sys.path[:0] = new_sys_path diff --git a/website/bin/easy_install b/website/bin/easy_install new file mode 100644 index 0000000000000000000000000000000000000000..e01e3b58e11b36b5210ca36ee1351a8d3fa87416 --- /dev/null +++ b/website/bin/easy_install @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from setuptools.command.easy_install import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/easy_install-2.7 b/website/bin/easy_install-2.7 new file mode 100644 index 0000000000000000000000000000000000000000..e01e3b58e11b36b5210ca36ee1351a8d3fa87416 --- /dev/null +++ b/website/bin/easy_install-2.7 @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from setuptools.command.easy_install import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/markdown_py b/website/bin/markdown_py new file mode 100644 index 0000000000000000000000000000000000000000..8f51cf454a9ba416febaa767ae6ea991a5a78dfc --- /dev/null +++ b/website/bin/markdown_py @@ -0,0 +1,34 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python +""" +Python Markdown, the Command Line Script +======================================== + +This is the command line script for Python Markdown. + +Basic use from the command line: + + markdown source.txt > destination.html + +Run "markdown --help" to see more options. + +See markdown/__init__.py for information on using Python Markdown as a module. + +## Authors and License + +Started by [Manfred Stienstra](http://www.dwerg.net/). Continued and +maintained by [Yuri Takhteyev](http://www.freewisdom.org), [Waylan +Limberg](http://achinghead.com/) and [Artem Yunusov](http://blog.splyer.com). + +Contact: markdown@freewisdom.org + +Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later) +Copyright 200? Django Software Foundation (OrderedDict implementation) +Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) +Copyright 2004 Manfred Stienstra (the original version) + +License: BSD (see docs/LICENSE for details). +""" + +if __name__ == '__main__': + from markdown.__main__ import run + run() diff --git a/website/bin/pelican b/website/bin/pelican new file mode 100644 index 0000000000000000000000000000000000000000..68ae3198a69b80c245e70e5c4a0dafe66b3db724 --- /dev/null +++ b/website/bin/pelican @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pelican import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pelican-import b/website/bin/pelican-import new file mode 100644 index 0000000000000000000000000000000000000000..6c15f72f151e2aadc3e4916a36901b1b0a20dc70 --- /dev/null +++ b/website/bin/pelican-import @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pelican.tools.pelican_import import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pelican-quickstart b/website/bin/pelican-quickstart new file mode 100644 index 0000000000000000000000000000000000000000..92f61a07b18dd0a3494482879d1bc8f036a2d708 --- /dev/null +++ b/website/bin/pelican-quickstart @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pelican.tools.pelican_quickstart import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pelican-themes b/website/bin/pelican-themes new file mode 100644 index 0000000000000000000000000000000000000000..de9c3119f37a840f5fda1ebb7debbf54f6d938b2 --- /dev/null +++ b/website/bin/pelican-themes @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pelican.tools.pelican_themes import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pip b/website/bin/pip new file mode 100644 index 0000000000000000000000000000000000000000..656cbf987f69ecae822bd7504231c65b72085779 --- /dev/null +++ b/website/bin/pip @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pip import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pip2 b/website/bin/pip2 new file mode 100644 index 0000000000000000000000000000000000000000..656cbf987f69ecae822bd7504231c65b72085779 --- /dev/null +++ b/website/bin/pip2 @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pip import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pip2.7 b/website/bin/pip2.7 new file mode 100644 index 0000000000000000000000000000000000000000..656cbf987f69ecae822bd7504231c65b72085779 --- /dev/null +++ b/website/bin/pip2.7 @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pip import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/pygmentize b/website/bin/pygmentize new file mode 100644 index 0000000000000000000000000000000000000000..00cbeb629f4dfa2098ae6eb5adae421ad86b0b36 --- /dev/null +++ b/website/bin/pygmentize @@ -0,0 +1,11 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# -*- coding: utf-8 -*- +import re +import sys + +from pygments.cmdline import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/website/bin/python b/website/bin/python new file mode 100644 index 0000000000000000000000000000000000000000..3a0430bec51d64ff8fe1af832c0525e4d97c5367 Binary files /dev/null and b/website/bin/python differ diff --git a/website/bin/python2 b/website/bin/python2 new file mode 120000 index 0000000000000000000000000000000000000000..d8654aa0e2f2f3c1760e0fcbcbb52c1c5941fba7 --- /dev/null +++ b/website/bin/python2 @@ -0,0 +1 @@ +python \ No newline at end of file diff --git a/website/bin/python2.7 b/website/bin/python2.7 new file mode 120000 index 0000000000000000000000000000000000000000..d8654aa0e2f2f3c1760e0fcbcbb52c1c5941fba7 --- /dev/null +++ b/website/bin/python2.7 @@ -0,0 +1 @@ +python \ No newline at end of file diff --git a/website/bin/rst2html.py b/website/bin/rst2html.py new file mode 100644 index 0000000000000000000000000000000000000000..b18d204c89d938ee789bb844839a7d11c899bad9 --- /dev/null +++ b/website/bin/rst2html.py @@ -0,0 +1,23 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2html.py 4564 2006-05-21 20:44:42Z wiemann $ +# Author: David Goodger <goodger@python.org> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing HTML. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description + + +description = ('Generates (X)HTML documents from standalone reStructuredText ' + 'sources. ' + default_description) + +publish_cmdline(writer_name='html', description=description) diff --git a/website/bin/rst2latex.py b/website/bin/rst2latex.py new file mode 100644 index 0000000000000000000000000000000000000000..e35db08dbec4b06eaaae9f626a6f9da43476270f --- /dev/null +++ b/website/bin/rst2latex.py @@ -0,0 +1,26 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2latex.py 5905 2009-04-16 12:04:49Z milde $ +# Author: David Goodger <goodger@python.org> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing LaTeX. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline + +description = ('Generates LaTeX documents from standalone reStructuredText ' + 'sources. ' + 'Reads from <source> (default is stdin) and writes to ' + '<destination> (default is stdout). See ' + '<http://docutils.sourceforge.net/docs/user/latex.html> for ' + 'the full reference.') + +publish_cmdline(writer_name='latex', description=description) diff --git a/website/bin/rst2man.py b/website/bin/rst2man.py new file mode 100644 index 0000000000000000000000000000000000000000..62b4f15a62689894502b4f5f8eb1cd2349bcbdb1 --- /dev/null +++ b/website/bin/rst2man.py @@ -0,0 +1,26 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# Author: +# Contact: grubert@users.sf.net +# Copyright: This module has been placed in the public domain. + +""" +man.py +====== + +This module provides a simple command line interface that uses the +man page writer to output from ReStructuredText source. +""" + +import locale +try: + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description +from docutils.writers import manpage + +description = ("Generates plain unix manual documents. " + default_description) + +publish_cmdline(writer=manpage.Writer(), description=description) diff --git a/website/bin/rst2odt.py b/website/bin/rst2odt.py new file mode 100644 index 0000000000000000000000000000000000000000..dd3a652a24603ec29032c6a74cac4be4b341df7f --- /dev/null +++ b/website/bin/rst2odt.py @@ -0,0 +1,30 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2odt.py 5839 2009-01-07 19:09:28Z dkuhlman $ +# Author: Dave Kuhlman <dkuhlman@rexx.com> +# Copyright: This module has been placed in the public domain. + +""" +A front end to the Docutils Publisher, producing OpenOffice documents. +""" + +import sys +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline_to_binary, default_description +from docutils.writers.odf_odt import Writer, Reader + + +description = ('Generates OpenDocument/OpenOffice/ODF documents from ' + 'standalone reStructuredText sources. ' + default_description) + + +writer = Writer() +reader = Reader() +output = publish_cmdline_to_binary(reader=reader, writer=writer, + description=description) + diff --git a/website/bin/rst2odt_prepstyles.py b/website/bin/rst2odt_prepstyles.py new file mode 100644 index 0000000000000000000000000000000000000000..c01c95db88920f841c1ee2fe61f6e58726ae42df --- /dev/null +++ b/website/bin/rst2odt_prepstyles.py @@ -0,0 +1,67 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2odt_prepstyles.py 5839 2009-01-07 19:09:28Z dkuhlman $ +# Author: Dave Kuhlman <dkuhlman@rexx.com> +# Copyright: This module has been placed in the public domain. + +""" +Fix a word-processor-generated styles.odt for odtwriter use: Drop page size +specifications from styles.xml in STYLE_FILE.odt. +""" + +# +# Author: Michael Schutte <michi@uiae.at> + +from lxml import etree +import sys +import zipfile +from tempfile import mkstemp +import shutil +import os + +NAMESPACES = { + "style": "urn:oasis:names:tc:opendocument:xmlns:style:1.0", + "fo": "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" +} + +def prepstyle(filename): + + zin = zipfile.ZipFile(filename) + styles = zin.read("styles.xml") + + root = etree.fromstring(styles) + for el in root.xpath("//style:page-layout-properties", + namespaces=NAMESPACES): + for attr in el.attrib: + if attr.startswith("{%s}" % NAMESPACES["fo"]): + del el.attrib[attr] + + tempname = mkstemp() + zout = zipfile.ZipFile(os.fdopen(tempname[0], "w"), "w", + zipfile.ZIP_DEFLATED) + + for item in zin.infolist(): + if item.filename == "styles.xml": + zout.writestr(item, etree.tostring(root)) + else: + zout.writestr(item, zin.read(item.filename)) + + zout.close() + zin.close() + shutil.move(tempname[1], filename) + + +def main(): + args = sys.argv[1:] + if len(args) != 1: + print >> sys.stderr, __doc__ + print >> sys.stderr, "Usage: %s STYLE_FILE.odt\n" % sys.argv[0] + sys.exit(1) + filename = args[0] + prepstyle(filename) + +if __name__ == '__main__': + main() + + +# vim:tw=78:sw=4:sts=4:et: diff --git a/website/bin/rst2pseudoxml.py b/website/bin/rst2pseudoxml.py new file mode 100644 index 0000000000000000000000000000000000000000..2aa449f5e8dfa2809eb083e7832c2e0c31c614d6 --- /dev/null +++ b/website/bin/rst2pseudoxml.py @@ -0,0 +1,23 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2pseudoxml.py 4564 2006-05-21 20:44:42Z wiemann $ +# Author: David Goodger <goodger@python.org> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing pseudo-XML. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description + + +description = ('Generates pseudo-XML from standalone reStructuredText ' + 'sources (for testing purposes). ' + default_description) + +publish_cmdline(description=description) diff --git a/website/bin/rst2s5.py b/website/bin/rst2s5.py new file mode 100644 index 0000000000000000000000000000000000000000..14d8465c4f35b1240adbe7178e687d76984b37d0 --- /dev/null +++ b/website/bin/rst2s5.py @@ -0,0 +1,24 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2s5.py 4564 2006-05-21 20:44:42Z wiemann $ +# Author: Chris Liechti <cliechti@gmx.net> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing HTML slides using +the S5 template system. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description + + +description = ('Generates S5 (X)HTML slideshow documents from standalone ' + 'reStructuredText sources. ' + default_description) + +publish_cmdline(writer_name='s5', description=description) diff --git a/website/bin/rst2xetex.py b/website/bin/rst2xetex.py new file mode 100644 index 0000000000000000000000000000000000000000..f4d497540002f9cca81022eb055b2ec5accd3340 --- /dev/null +++ b/website/bin/rst2xetex.py @@ -0,0 +1,26 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2xetex.py 7038 2011-05-19 09:12:02Z milde $ +# Author: Guenter Milde +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing XeLaTeX source code. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline + +description = ('Generates XeLaTeX documents from standalone reStructuredText ' + 'sources. ' + 'Reads from <source> (default is stdin) and writes to ' + '<destination> (default is stdout). See ' + '<http://docutils.sourceforge.net/docs/user/latex.html> for ' + 'the full reference.') + +publish_cmdline(writer_name='xetex', description=description) diff --git a/website/bin/rst2xml.py b/website/bin/rst2xml.py new file mode 100644 index 0000000000000000000000000000000000000000..36e1033d2b4cbf16de738e8218dbb25ab0096fdb --- /dev/null +++ b/website/bin/rst2xml.py @@ -0,0 +1,23 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rst2xml.py 4564 2006-05-21 20:44:42Z wiemann $ +# Author: David Goodger <goodger@python.org> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing Docutils XML. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description + + +description = ('Generates Docutils-native XML from standalone ' + 'reStructuredText sources. ' + default_description) + +publish_cmdline(writer_name='xml', description=description) diff --git a/website/bin/rstpep2html.py b/website/bin/rstpep2html.py new file mode 100644 index 0000000000000000000000000000000000000000..0d8875066d347e4f7ee9f70da588c7a326364731 --- /dev/null +++ b/website/bin/rstpep2html.py @@ -0,0 +1,25 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python + +# $Id: rstpep2html.py 4564 2006-05-21 20:44:42Z wiemann $ +# Author: David Goodger <goodger@python.org> +# Copyright: This module has been placed in the public domain. + +""" +A minimal front end to the Docutils Publisher, producing HTML from PEP +(Python Enhancement Proposal) documents. +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from docutils.core import publish_cmdline, default_description + + +description = ('Generates (X)HTML from reStructuredText-format PEP files. ' + + default_description) + +publish_cmdline(reader_name='pep', writer_name='pep_html', + description=description) diff --git a/website/bin/unidecode b/website/bin/unidecode new file mode 100644 index 0000000000000000000000000000000000000000..45c8ac04991b006bc3bd7afbc12450f5a5fe1fb7 --- /dev/null +++ b/website/bin/unidecode @@ -0,0 +1,10 @@ +#!/home/bbartels/Education/Semester11/ee491/project/website/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'Unidecode==0.4.19','console_scripts','unidecode' +__requires__ = 'Unidecode==0.4.19' +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.exit( + load_entry_point('Unidecode==0.4.19', 'console_scripts', 'unidecode')() + ) 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/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/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/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/documents.md b/website/content/pages/documents.md similarity index 73% rename from website/documents.md rename to website/content/pages/documents.md index d527c54c2d2c7cd4ac8dee3c4fa323ba23aa1ad5..35793ee55200a78d5052a866edbf76f565b11b65 100644 --- a/website/documents.md +++ b/website/content/pages/documents.md @@ -1,12 +1,8 @@ ---- -layout: default -permalink: documents ---- +Title: Documents +date: 2016-11-21 -# Documents +[Project Plan 1](files/ProjectPlan1Template.docx.pdf) [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/index.md b/website/content/pages/home.md similarity index 76% rename from website/index.md rename to website/content/pages/home.md index 9643e114be8aa1e1170f35b4307cffb651f1c2fd..2ae447635a24cb679d1bd4f7b46f3998e39141cb 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 + +## 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 95% rename from website/members.md rename to website/content/pages/members.md index 83e528be174d77505701afb6bfc60d32440a7c0c..e6eb785829d3b3ea4be17aa167568c30153b8d8d 100644 --- a/website/members.md +++ b/website/content/pages/members.md @@ -1,7 +1,5 @@ ---- -layout: default ---- -# Members +Title: Team Members +date: 2016-11-20 ## David Wehr **Team Leader** diff --git a/website/controls.md b/website/controls.md deleted file mode 100644 index d630bbff780df769d255e49602dba95ecdae3784..0000000000000000000000000000000000000000 --- a/website/controls.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: default ---- -# Controls - -The quadcopter is stabilized with on-board PID controllers. These controllers -use pitch, roll, and yaw data from on-board sensors and positional data from the -infrared tracking system to determine appropriate actuator signals necessary -to keep the quadcopter stable during flight. - -The classical PID controller is characterized by 3 coefficients that specify -how the controller functions. A PID controller can be configured through -iterative determination of the PID coefficients, but we expect to obtain a more -accurate control system by first developing a robust mathematical model of the -quadcopter system. Once we establish this model, we can use numerical -characteristics of the quadcopter to calculate the appropriate PID coefficients -for our controllers. - -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"> - -[1]: http://lib.dr.iastate.edu/etd/12770/ \ No newline at end of file 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/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/images/dark.png b/website/images/dark.png deleted file mode 100644 index 99ef97e5750811102fdf4fea1ec3417d16c715a7..0000000000000000000000000000000000000000 Binary files a/website/images/dark.png and /dev/null differ diff --git a/website/images/markdown.png b/website/images/markdown.png deleted file mode 100644 index 1b34d946cd1fb95e6f12303c3d2aad8fb9e8373e..0000000000000000000000000000000000000000 Binary files a/website/images/markdown.png and /dev/null differ diff --git a/website/images/quad_pic.jpg b/website/images/quad_pic.jpg deleted file mode 100644 index b4bebf6518dd05ba62ba455a2411cab5f8653208..0000000000000000000000000000000000000000 Binary files a/website/images/quad_pic.jpg and /dev/null differ diff --git a/website/images/standard.png b/website/images/standard.png deleted file mode 100644 index 43215f06f205e204f2f9ee6d54082b2b1ab19c70..0000000000000000000000000000000000000000 Binary files a/website/images/standard.png and /dev/null differ diff --git a/website/images/zybo_pic.jpg b/website/images/zybo_pic.jpg deleted file mode 100644 index 6fe7c1565f4397c1a445d2b057ef7b0fa895a253..0000000000000000000000000000000000000000 Binary files a/website/images/zybo_pic.jpg and /dev/null differ diff --git a/website/include/python2.7 b/website/include/python2.7 new file mode 120000 index 0000000000000000000000000000000000000000..456dd27f8e9837f40e702305807add6d07b4bc42 --- /dev/null +++ b/website/include/python2.7 @@ -0,0 +1 @@ +/remote/python/2.7.9/include/python2.7 \ No newline at end of file diff --git a/website/lib/python2.7/UserDict.py b/website/lib/python2.7/UserDict.py new file mode 120000 index 0000000000000000000000000000000000000000..ef12fa3e15a9e24c2816a7d2bfde7057add19cd1 --- /dev/null +++ b/website/lib/python2.7/UserDict.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/UserDict.py \ No newline at end of file diff --git a/website/lib/python2.7/_abcoll.py b/website/lib/python2.7/_abcoll.py new file mode 120000 index 0000000000000000000000000000000000000000..aca905c7b9bdebc62bb44f531604f0688eca3dd6 --- /dev/null +++ b/website/lib/python2.7/_abcoll.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/_abcoll.py \ No newline at end of file diff --git a/website/lib/python2.7/_weakrefset.py b/website/lib/python2.7/_weakrefset.py new file mode 120000 index 0000000000000000000000000000000000000000..c158ffe9f500f859e63aa5aeb2828c86ad515ce6 --- /dev/null +++ b/website/lib/python2.7/_weakrefset.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/_weakrefset.py \ No newline at end of file diff --git a/website/lib/python2.7/abc.py b/website/lib/python2.7/abc.py new file mode 120000 index 0000000000000000000000000000000000000000..b08da25e1f07ec1cf6f5dec1548d6cc496aae6ad --- /dev/null +++ b/website/lib/python2.7/abc.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/abc.py \ No newline at end of file diff --git a/website/lib/python2.7/codecs.py b/website/lib/python2.7/codecs.py new file mode 120000 index 0000000000000000000000000000000000000000..b9b83b4b216ba7fcfea853dcebdf10c197bb8731 --- /dev/null +++ b/website/lib/python2.7/codecs.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/codecs.py \ No newline at end of file diff --git a/website/lib/python2.7/config b/website/lib/python2.7/config new file mode 120000 index 0000000000000000000000000000000000000000..534aa1a4a0c16d2e176c25aa07405e700d23cbd8 --- /dev/null +++ b/website/lib/python2.7/config @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/config \ No newline at end of file diff --git a/website/lib/python2.7/copy_reg.py b/website/lib/python2.7/copy_reg.py new file mode 120000 index 0000000000000000000000000000000000000000..2e2aa22d6df1840402756e1022d552108e4b9fec --- /dev/null +++ b/website/lib/python2.7/copy_reg.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/copy_reg.py \ No newline at end of file diff --git a/website/lib/python2.7/distutils/__init__.py b/website/lib/python2.7/distutils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..29fc1da45900ece22ff3ebb73a6b7ccf607e6a1a --- /dev/null +++ b/website/lib/python2.7/distutils/__init__.py @@ -0,0 +1,101 @@ +import os +import sys +import warnings +import imp +import opcode # opcode is not a virtualenv module, so we can use it to find the stdlib + # Important! To work on pypy, this must be a module that resides in the + # lib-python/modified-x.y.z directory + +dirname = os.path.dirname + +distutils_path = os.path.join(os.path.dirname(opcode.__file__), 'distutils') +if os.path.normpath(distutils_path) == os.path.dirname(os.path.normpath(__file__)): + warnings.warn( + "The virtualenv distutils package at %s appears to be in the same location as the system distutils?") +else: + __path__.insert(0, distutils_path) + real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ('', '', imp.PKG_DIRECTORY)) + # Copy the relevant attributes + try: + __revision__ = real_distutils.__revision__ + except AttributeError: + pass + __version__ = real_distutils.__version__ + +from distutils import dist, sysconfig + +try: + basestring +except NameError: + basestring = str + +## patch build_ext (distutils doesn't know how to get the libs directory +## path on windows - it hardcodes the paths around the patched sys.prefix) + +if sys.platform == 'win32': + from distutils.command.build_ext import build_ext as old_build_ext + class build_ext(old_build_ext): + def finalize_options (self): + if self.library_dirs is None: + self.library_dirs = [] + elif isinstance(self.library_dirs, basestring): + self.library_dirs = self.library_dirs.split(os.pathsep) + + self.library_dirs.insert(0, os.path.join(sys.real_prefix, "Libs")) + old_build_ext.finalize_options(self) + + from distutils.command import build_ext as build_ext_module + build_ext_module.build_ext = build_ext + +## distutils.dist patches: + +old_find_config_files = dist.Distribution.find_config_files +def find_config_files(self): + found = old_find_config_files(self) + system_distutils = os.path.join(distutils_path, 'distutils.cfg') + #if os.path.exists(system_distutils): + # found.insert(0, system_distutils) + # What to call the per-user config file + if os.name == 'posix': + user_filename = ".pydistutils.cfg" + else: + user_filename = "pydistutils.cfg" + user_filename = os.path.join(sys.prefix, user_filename) + if os.path.isfile(user_filename): + for item in list(found): + if item.endswith('pydistutils.cfg'): + found.remove(item) + found.append(user_filename) + return found +dist.Distribution.find_config_files = find_config_files + +## distutils.sysconfig patches: + +old_get_python_inc = sysconfig.get_python_inc +def sysconfig_get_python_inc(plat_specific=0, prefix=None): + if prefix is None: + prefix = sys.real_prefix + return old_get_python_inc(plat_specific, prefix) +sysconfig_get_python_inc.__doc__ = old_get_python_inc.__doc__ +sysconfig.get_python_inc = sysconfig_get_python_inc + +old_get_python_lib = sysconfig.get_python_lib +def sysconfig_get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + if standard_lib and prefix is None: + prefix = sys.real_prefix + return old_get_python_lib(plat_specific, standard_lib, prefix) +sysconfig_get_python_lib.__doc__ = old_get_python_lib.__doc__ +sysconfig.get_python_lib = sysconfig_get_python_lib + +old_get_config_vars = sysconfig.get_config_vars +def sysconfig_get_config_vars(*args): + real_vars = old_get_config_vars(*args) + if sys.platform == 'win32': + lib_dir = os.path.join(sys.real_prefix, "libs") + if isinstance(real_vars, dict) and 'LIBDIR' not in real_vars: + real_vars['LIBDIR'] = lib_dir # asked for all + elif isinstance(real_vars, list) and 'LIBDIR' in args: + real_vars = real_vars + [lib_dir] # asked for list + return real_vars +sysconfig_get_config_vars.__doc__ = old_get_config_vars.__doc__ +sysconfig.get_config_vars = sysconfig_get_config_vars diff --git a/website/lib/python2.7/distutils/distutils.cfg b/website/lib/python2.7/distutils/distutils.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1af230ec911a5d31aa8c4bed50bff2e8e1af8512 --- /dev/null +++ b/website/lib/python2.7/distutils/distutils.cfg @@ -0,0 +1,6 @@ +# This is a config file local to this virtualenv installation +# You may include options that will be used by all distutils commands, +# and by easy_install. For instance: +# +# [easy_install] +# find_links = http://mylocalsite diff --git a/website/lib/python2.7/encodings b/website/lib/python2.7/encodings new file mode 120000 index 0000000000000000000000000000000000000000..a81faacb4816e8eb44ae3e0f34523c71c3f5dea2 --- /dev/null +++ b/website/lib/python2.7/encodings @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/encodings \ No newline at end of file diff --git a/website/lib/python2.7/fnmatch.py b/website/lib/python2.7/fnmatch.py new file mode 120000 index 0000000000000000000000000000000000000000..db75334489e1698b7fab3e807cd83e5df4801569 --- /dev/null +++ b/website/lib/python2.7/fnmatch.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/fnmatch.py \ No newline at end of file diff --git a/website/lib/python2.7/genericpath.py b/website/lib/python2.7/genericpath.py new file mode 120000 index 0000000000000000000000000000000000000000..c41eada91021e7c2ec08caa4d1c52a06f5e10a97 --- /dev/null +++ b/website/lib/python2.7/genericpath.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/genericpath.py \ No newline at end of file diff --git a/website/lib/python2.7/lib-dynload b/website/lib/python2.7/lib-dynload new file mode 120000 index 0000000000000000000000000000000000000000..946377799a4353b7ae39bad22d759e7f04ba8471 --- /dev/null +++ b/website/lib/python2.7/lib-dynload @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/lib-dynload \ No newline at end of file diff --git a/website/lib/python2.7/linecache.py b/website/lib/python2.7/linecache.py new file mode 120000 index 0000000000000000000000000000000000000000..c149e7c0dce375768e6d47a2ab68750799ada21c --- /dev/null +++ b/website/lib/python2.7/linecache.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/linecache.py \ No newline at end of file diff --git a/website/lib/python2.7/locale.py b/website/lib/python2.7/locale.py new file mode 120000 index 0000000000000000000000000000000000000000..1fcb26f1650f8bd84218386d7425868b2e4bbe1c --- /dev/null +++ b/website/lib/python2.7/locale.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/locale.py \ No newline at end of file diff --git a/website/lib/python2.7/no-global-site-packages.txt b/website/lib/python2.7/no-global-site-packages.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/website/lib/python2.7/ntpath.py b/website/lib/python2.7/ntpath.py new file mode 120000 index 0000000000000000000000000000000000000000..3e6e17175cd9ad7318417511ae8a15dc38bef325 --- /dev/null +++ b/website/lib/python2.7/ntpath.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/ntpath.py \ No newline at end of file diff --git a/website/lib/python2.7/orig-prefix.txt b/website/lib/python2.7/orig-prefix.txt new file mode 100644 index 0000000000000000000000000000000000000000..51444b3efc68fb037c974f35bc531719e2cb85bd --- /dev/null +++ b/website/lib/python2.7/orig-prefix.txt @@ -0,0 +1 @@ +/remote/python/2.7.9 \ No newline at end of file diff --git a/website/lib/python2.7/os.py b/website/lib/python2.7/os.py new file mode 120000 index 0000000000000000000000000000000000000000..e776e05b613fe63d0e20b5f8b427184daacae759 --- /dev/null +++ b/website/lib/python2.7/os.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/os.py \ No newline at end of file diff --git a/website/lib/python2.7/posixpath.py b/website/lib/python2.7/posixpath.py new file mode 120000 index 0000000000000000000000000000000000000000..1902887f518834749d2649bd856a7f8360281654 --- /dev/null +++ b/website/lib/python2.7/posixpath.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/posixpath.py \ No newline at end of file diff --git a/website/lib/python2.7/re.py b/website/lib/python2.7/re.py new file mode 120000 index 0000000000000000000000000000000000000000..0bdcbc4fb6cdabeb2b0c8073a778e63985643415 --- /dev/null +++ b/website/lib/python2.7/re.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/re.py \ No newline at end of file diff --git a/website/lib/python2.7/site.py b/website/lib/python2.7/site.py new file mode 100644 index 0000000000000000000000000000000000000000..7969769c36c0f45053ca59f8db4e910d146e9cdf --- /dev/null +++ b/website/lib/python2.7/site.py @@ -0,0 +1,758 @@ +"""Append module search paths for third-party packages to sys.path. + +**************************************************************** +* This module is automatically imported during initialization. * +**************************************************************** + +In earlier versions of Python (up to 1.5a3), scripts or modules that +needed to use site-specific modules would place ``import site'' +somewhere near the top of their code. Because of the automatic +import, this is no longer necessary (but code that does it still +works). + +This will append site-specific paths to the module search path. On +Unix, it starts with sys.prefix and sys.exec_prefix (if different) and +appends lib/python<version>/site-packages as well as lib/site-python. +It also supports the Debian convention of +lib/python<version>/dist-packages. On other platforms (mainly Mac and +Windows), it uses just sys.prefix (and sys.exec_prefix, if different, +but this is unlikely). The resulting directories, if they exist, are +appended to sys.path, and also inspected for path configuration files. + +FOR DEBIAN, this sys.path is augmented with directories in /usr/local. +Local addons go into /usr/local/lib/python<version>/site-packages +(resp. /usr/local/lib/site-python), Debian addons install into +/usr/{lib,share}/python<version>/dist-packages. + +A path configuration file is a file whose name has the form +<package>.pth; its contents are additional directories (one per line) +to be added to sys.path. Non-existing directories (or +non-directories) are never added to sys.path; no directory is added to +sys.path more than once. Blank lines and lines beginning with +'#' are skipped. Lines starting with 'import' are executed. + +For example, suppose sys.prefix and sys.exec_prefix are set to +/usr/local and there is a directory /usr/local/lib/python2.X/site-packages +with three subdirectories, foo, bar and spam, and two path +configuration files, foo.pth and bar.pth. Assume foo.pth contains the +following: + + # foo package configuration + foo + bar + bletch + +and bar.pth contains: + + # bar package configuration + bar + +Then the following directories are added to sys.path, in this order: + + /usr/local/lib/python2.X/site-packages/bar + /usr/local/lib/python2.X/site-packages/foo + +Note that bletch is omitted because it doesn't exist; bar precedes foo +because bar.pth comes alphabetically before foo.pth; and spam is +omitted because it is not mentioned in either path configuration file. + +After these path manipulations, an attempt is made to import a module +named sitecustomize, which can perform arbitrary additional +site-specific customizations. If this import fails with an +ImportError exception, it is silently ignored. + +""" + +import sys +import os +try: + import __builtin__ as builtins +except ImportError: + import builtins +try: + set +except NameError: + from sets import Set as set + +# Prefixes for site-packages; add additional prefixes like /usr/local here +PREFIXES = [sys.prefix, sys.exec_prefix] +# Enable per user site-packages directory +# set it to False to disable the feature or True to force the feature +ENABLE_USER_SITE = None +# for distutils.commands.install +USER_SITE = None +USER_BASE = None + +_is_64bit = (getattr(sys, 'maxsize', None) or getattr(sys, 'maxint')) > 2**32 +_is_pypy = hasattr(sys, 'pypy_version_info') +_is_jython = sys.platform[:4] == 'java' +if _is_jython: + ModuleType = type(os) + +def makepath(*paths): + dir = os.path.join(*paths) + if _is_jython and (dir == '__classpath__' or + dir.startswith('__pyclasspath__')): + return dir, dir + dir = os.path.abspath(dir) + return dir, os.path.normcase(dir) + +def abs__file__(): + """Set all module' __file__ attribute to an absolute path""" + for m in sys.modules.values(): + if ((_is_jython and not isinstance(m, ModuleType)) or + hasattr(m, '__loader__')): + # only modules need the abspath in Jython. and don't mess + # with a PEP 302-supplied __file__ + continue + f = getattr(m, '__file__', None) + if f is None: + continue + m.__file__ = os.path.abspath(f) + +def removeduppaths(): + """ Remove duplicate entries from sys.path along with making them + absolute""" + # This ensures that the initial path provided by the interpreter contains + # only absolute pathnames, even if we're running from the build directory. + L = [] + known_paths = set() + for dir in sys.path: + # Filter out duplicate paths (on case-insensitive file systems also + # if they only differ in case); turn relative paths into absolute + # paths. + dir, dircase = makepath(dir) + if not dircase in known_paths: + L.append(dir) + known_paths.add(dircase) + sys.path[:] = L + return known_paths + +# XXX This should not be part of site.py, since it is needed even when +# using the -S option for Python. See http://www.python.org/sf/586680 +def addbuilddir(): + """Append ./build/lib.<platform> in case we're running in the build dir + (especially for Guido :-)""" + from distutils.util import get_platform + s = "build/lib.%s-%.3s" % (get_platform(), sys.version) + if hasattr(sys, 'gettotalrefcount'): + s += '-pydebug' + s = os.path.join(os.path.dirname(sys.path[-1]), s) + sys.path.append(s) + +def _init_pathinfo(): + """Return a set containing all existing directory entries from sys.path""" + d = set() + for dir in sys.path: + try: + if os.path.isdir(dir): + dir, dircase = makepath(dir) + d.add(dircase) + except TypeError: + continue + return d + +def addpackage(sitedir, name, known_paths): + """Add a new path to known_paths by combining sitedir and 'name' or execute + sitedir if it starts with 'import'""" + if known_paths is None: + _init_pathinfo() + reset = 1 + else: + reset = 0 + fullname = os.path.join(sitedir, name) + try: + f = open(fullname, "rU") + except IOError: + return + try: + for line in f: + if line.startswith("#"): + continue + if line.startswith("import"): + exec(line) + continue + line = line.rstrip() + dir, dircase = makepath(sitedir, line) + if not dircase in known_paths and os.path.exists(dir): + sys.path.append(dir) + known_paths.add(dircase) + finally: + f.close() + if reset: + known_paths = None + return known_paths + +def addsitedir(sitedir, known_paths=None): + """Add 'sitedir' argument to sys.path if missing and handle .pth files in + 'sitedir'""" + if known_paths is None: + known_paths = _init_pathinfo() + reset = 1 + else: + reset = 0 + sitedir, sitedircase = makepath(sitedir) + if not sitedircase in known_paths: + sys.path.append(sitedir) # Add path component + try: + names = os.listdir(sitedir) + except os.error: + return + names.sort() + for name in names: + if name.endswith(os.extsep + "pth"): + addpackage(sitedir, name, known_paths) + if reset: + known_paths = None + return known_paths + +def addsitepackages(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_prefix): + """Add site-packages (and possibly site-python) to sys.path""" + prefixes = [os.path.join(sys_prefix, "local"), sys_prefix] + if exec_prefix != sys_prefix: + prefixes.append(os.path.join(exec_prefix, "local")) + + for prefix in prefixes: + if prefix: + if sys.platform in ('os2emx', 'riscos') or _is_jython: + sitedirs = [os.path.join(prefix, "Lib", "site-packages")] + elif _is_pypy: + sitedirs = [os.path.join(prefix, 'site-packages')] + elif sys.platform == 'darwin' and prefix == sys_prefix: + + if prefix.startswith("/System/Library/Frameworks/"): # Apple's Python + + sitedirs = [os.path.join("/Library/Python", sys.version[:3], "site-packages"), + os.path.join(prefix, "Extras", "lib", "python")] + + else: # any other Python distros on OSX work this way + sitedirs = [os.path.join(prefix, "lib", + "python" + sys.version[:3], "site-packages")] + + elif os.sep == '/': + sitedirs = [os.path.join(prefix, + "lib", + "python" + sys.version[:3], + "site-packages"), + os.path.join(prefix, "lib", "site-python"), + os.path.join(prefix, "python" + sys.version[:3], "lib-dynload")] + lib64_dir = os.path.join(prefix, "lib64", "python" + sys.version[:3], "site-packages") + if (os.path.exists(lib64_dir) and + os.path.realpath(lib64_dir) not in [os.path.realpath(p) for p in sitedirs]): + if _is_64bit: + sitedirs.insert(0, lib64_dir) + else: + sitedirs.append(lib64_dir) + try: + # sys.getobjects only available in --with-pydebug build + sys.getobjects + sitedirs.insert(0, os.path.join(sitedirs[0], 'debug')) + except AttributeError: + pass + # Debian-specific dist-packages directories: + sitedirs.append(os.path.join(prefix, "local/lib", + "python" + sys.version[:3], + "dist-packages")) + if sys.version[0] == '2': + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "dist-packages")) + else: + sitedirs.append(os.path.join(prefix, "lib", + "python" + sys.version[0], + "dist-packages")) + sitedirs.append(os.path.join(prefix, "lib", "dist-python")) + else: + sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] + if sys.platform == 'darwin': + # for framework builds *only* we add the standard Apple + # locations. Currently only per-user, but /Library and + # /Network/Library could be added too + if 'Python.framework' in prefix: + home = os.environ.get('HOME') + if home: + sitedirs.append( + os.path.join(home, + 'Library', + 'Python', + sys.version[:3], + 'site-packages')) + for sitedir in sitedirs: + if os.path.isdir(sitedir): + addsitedir(sitedir, known_paths) + return None + +def check_enableusersite(): + """Check if user site directory is safe for inclusion + + The function tests for the command line flag (including environment var), + process uid/gid equal to effective uid/gid. + + None: Disabled for security reasons + False: Disabled by user (command line option) + True: Safe and enabled + """ + if hasattr(sys, 'flags') and getattr(sys.flags, 'no_user_site', False): + return False + + if hasattr(os, "getuid") and hasattr(os, "geteuid"): + # check process uid == effective uid + if os.geteuid() != os.getuid(): + return None + if hasattr(os, "getgid") and hasattr(os, "getegid"): + # check process gid == effective gid + if os.getegid() != os.getgid(): + return None + + return True + +def addusersitepackages(known_paths): + """Add a per user site-package to sys.path + + Each user has its own python directory with site-packages in the + home directory. + + USER_BASE is the root directory for all Python versions + + USER_SITE is the user specific site-packages directory + + USER_SITE/.. can be used for data. + """ + global USER_BASE, USER_SITE, ENABLE_USER_SITE + env_base = os.environ.get("PYTHONUSERBASE", None) + + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + + #if sys.platform in ('os2emx', 'riscos'): + # # Don't know what to put here + # USER_BASE = '' + # USER_SITE = '' + if os.name == "nt": + base = os.environ.get("APPDATA") or "~" + if env_base: + USER_BASE = env_base + else: + USER_BASE = joinuser(base, "Python") + USER_SITE = os.path.join(USER_BASE, + "Python" + sys.version[0] + sys.version[2], + "site-packages") + else: + if env_base: + USER_BASE = env_base + else: + USER_BASE = joinuser("~", ".local") + USER_SITE = os.path.join(USER_BASE, "lib", + "python" + sys.version[:3], + "site-packages") + + if ENABLE_USER_SITE and os.path.isdir(USER_SITE): + addsitedir(USER_SITE, known_paths) + if ENABLE_USER_SITE: + for dist_libdir in ("lib", "local/lib"): + user_site = os.path.join(USER_BASE, dist_libdir, + "python" + sys.version[:3], + "dist-packages") + if os.path.isdir(user_site): + addsitedir(user_site, known_paths) + return known_paths + + + +def setBEGINLIBPATH(): + """The OS/2 EMX port has optional extension modules that do double duty + as DLLs (and must use the .DLL file extension) for other extensions. + The library search path needs to be amended so these will be found + during module import. Use BEGINLIBPATH so that these are at the start + of the library search path. + + """ + dllpath = os.path.join(sys.prefix, "Lib", "lib-dynload") + libpath = os.environ['BEGINLIBPATH'].split(';') + if libpath[-1]: + libpath.append(dllpath) + else: + libpath[-1] = dllpath + os.environ['BEGINLIBPATH'] = ';'.join(libpath) + + +def setquit(): + """Define new built-ins 'quit' and 'exit'. + These are simply strings that display a hint on how to exit. + + """ + if os.sep == ':': + eof = 'Cmd-Q' + elif os.sep == '\\': + eof = 'Ctrl-Z plus Return' + else: + eof = 'Ctrl-D (i.e. EOF)' + + class Quitter(object): + def __init__(self, name): + self.name = name + def __repr__(self): + return 'Use %s() or %s to exit' % (self.name, eof) + def __call__(self, code=None): + # Shells like IDLE catch the SystemExit, but listen when their + # stdin wrapper is closed. + try: + sys.stdin.close() + except: + pass + raise SystemExit(code) + builtins.quit = Quitter('quit') + builtins.exit = Quitter('exit') + + +class _Printer(object): + """interactive prompt objects for printing the license text, a list of + contributors and the copyright notice.""" + + MAXLINES = 23 + + def __init__(self, name, data, files=(), dirs=()): + self.__name = name + self.__data = data + self.__files = files + self.__dirs = dirs + self.__lines = None + + def __setup(self): + if self.__lines: + return + data = None + for dir in self.__dirs: + for filename in self.__files: + filename = os.path.join(dir, filename) + try: + fp = open(filename, "rU") + data = fp.read() + fp.close() + break + except IOError: + pass + if data: + break + if not data: + data = self.__data + self.__lines = data.split('\n') + self.__linecnt = len(self.__lines) + + def __repr__(self): + self.__setup() + if len(self.__lines) <= self.MAXLINES: + return "\n".join(self.__lines) + else: + return "Type %s() to see the full %s text" % ((self.__name,)*2) + + def __call__(self): + self.__setup() + prompt = 'Hit Return for more, or q (and Return) to quit: ' + lineno = 0 + while 1: + try: + for i in range(lineno, lineno + self.MAXLINES): + print(self.__lines[i]) + except IndexError: + break + else: + lineno += self.MAXLINES + key = None + while key is None: + try: + key = raw_input(prompt) + except NameError: + key = input(prompt) + if key not in ('', 'q'): + key = None + if key == 'q': + break + +def setcopyright(): + """Set 'copyright' and 'credits' in __builtin__""" + builtins.copyright = _Printer("copyright", sys.copyright) + if _is_jython: + builtins.credits = _Printer( + "credits", + "Jython is maintained by the Jython developers (www.jython.org).") + elif _is_pypy: + builtins.credits = _Printer( + "credits", + "PyPy is maintained by the PyPy developers: http://pypy.org/") + else: + builtins.credits = _Printer("credits", """\ + Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information.""") + here = os.path.dirname(os.__file__) + builtins.license = _Printer( + "license", "See http://www.python.org/%.3s/license.html" % sys.version, + ["LICENSE.txt", "LICENSE"], + [os.path.join(here, os.pardir), here, os.curdir]) + + +class _Helper(object): + """Define the built-in 'help'. + This is a wrapper around pydoc.help (with a twist). + + """ + + def __repr__(self): + return "Type help() for interactive help, " \ + "or help(object) for help about object." + def __call__(self, *args, **kwds): + import pydoc + return pydoc.help(*args, **kwds) + +def sethelper(): + builtins.help = _Helper() + +def aliasmbcs(): + """On Windows, some default encodings are not provided by Python, + while they are always available as "mbcs" in each locale. Make + them usable by aliasing to "mbcs" in such a case.""" + if sys.platform == 'win32': + import locale, codecs + enc = locale.getdefaultlocale()[1] + if enc.startswith('cp'): # "cp***" ? + try: + codecs.lookup(enc) + except LookupError: + import encodings + encodings._cache[enc] = encodings._unknown + encodings.aliases.aliases[enc] = 'mbcs' + +def setencoding(): + """Set the string encoding used by the Unicode implementation. The + default is 'ascii', but if you're willing to experiment, you can + change this.""" + encoding = "ascii" # Default value set by _PyUnicode_Init() + if 0: + # Enable to support locale aware default string encodings. + import locale + loc = locale.getdefaultlocale() + if loc[1]: + encoding = loc[1] + if 0: + # Enable to switch off string to Unicode coercion and implicit + # Unicode to string conversion. + encoding = "undefined" + if encoding != "ascii": + # On Non-Unicode builds this will raise an AttributeError... + sys.setdefaultencoding(encoding) # Needs Python Unicode build ! + + +def execsitecustomize(): + """Run custom site specific code, if available.""" + try: + import sitecustomize + except ImportError: + pass + +def virtual_install_main_packages(): + f = open(os.path.join(os.path.dirname(__file__), 'orig-prefix.txt')) + sys.real_prefix = f.read().strip() + f.close() + pos = 2 + hardcoded_relative_dirs = [] + if sys.path[0] == '': + pos += 1 + if _is_jython: + paths = [os.path.join(sys.real_prefix, 'Lib')] + elif _is_pypy: + if sys.version_info > (3, 2): + cpyver = '%d' % sys.version_info[0] + elif sys.pypy_version_info >= (1, 5): + cpyver = '%d.%d' % sys.version_info[:2] + else: + cpyver = '%d.%d.%d' % sys.version_info[:3] + paths = [os.path.join(sys.real_prefix, 'lib_pypy'), + os.path.join(sys.real_prefix, 'lib-python', cpyver)] + if sys.pypy_version_info < (1, 9): + paths.insert(1, os.path.join(sys.real_prefix, + 'lib-python', 'modified-%s' % cpyver)) + hardcoded_relative_dirs = paths[:] # for the special 'darwin' case below + # + # This is hardcoded in the Python executable, but relative to sys.prefix: + for path in paths[:]: + plat_path = os.path.join(path, 'plat-%s' % sys.platform) + if os.path.exists(plat_path): + paths.append(plat_path) + elif sys.platform == 'win32': + paths = [os.path.join(sys.real_prefix, 'Lib'), os.path.join(sys.real_prefix, 'DLLs')] + else: + paths = [os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3])] + hardcoded_relative_dirs = paths[:] # for the special 'darwin' case below + lib64_path = os.path.join(sys.real_prefix, 'lib64', 'python'+sys.version[:3]) + if os.path.exists(lib64_path): + if _is_64bit: + paths.insert(0, lib64_path) + else: + paths.append(lib64_path) + # This is hardcoded in the Python executable, but relative to + # sys.prefix. Debian change: we need to add the multiarch triplet + # here, which is where the real stuff lives. As per PEP 421, in + # Python 3.3+, this lives in sys.implementation, while in Python 2.7 + # it lives in sys. + try: + arch = getattr(sys, 'implementation', sys)._multiarch + except AttributeError: + # This is a non-multiarch aware Python. Fallback to the old way. + arch = sys.platform + plat_path = os.path.join(sys.real_prefix, 'lib', + 'python'+sys.version[:3], + 'plat-%s' % arch) + if os.path.exists(plat_path): + paths.append(plat_path) + # This is hardcoded in the Python executable, but + # relative to sys.prefix, so we have to fix up: + for path in list(paths): + tk_dir = os.path.join(path, 'lib-tk') + if os.path.exists(tk_dir): + paths.append(tk_dir) + + # These are hardcoded in the Apple's Python executable, + # but relative to sys.prefix, so we have to fix them up: + if sys.platform == 'darwin': + hardcoded_paths = [os.path.join(relative_dir, module) + for relative_dir in hardcoded_relative_dirs + for module in ('plat-darwin', 'plat-mac', 'plat-mac/lib-scriptpackages')] + + for path in hardcoded_paths: + if os.path.exists(path): + paths.append(path) + + sys.path.extend(paths) + +def force_global_eggs_after_local_site_packages(): + """ + Force easy_installed eggs in the global environment to get placed + in sys.path after all packages inside the virtualenv. This + maintains the "least surprise" result that packages in the + virtualenv always mask global packages, never the other way + around. + + """ + egginsert = getattr(sys, '__egginsert', 0) + for i, path in enumerate(sys.path): + if i > egginsert and path.startswith(sys.prefix): + egginsert = i + sys.__egginsert = egginsert + 1 + +def virtual_addsitepackages(known_paths): + force_global_eggs_after_local_site_packages() + return addsitepackages(known_paths, sys_prefix=sys.real_prefix) + +def fixclasspath(): + """Adjust the special classpath sys.path entries for Jython. These + entries should follow the base virtualenv lib directories. + """ + paths = [] + classpaths = [] + for path in sys.path: + if path == '__classpath__' or path.startswith('__pyclasspath__'): + classpaths.append(path) + else: + paths.append(path) + sys.path = paths + sys.path.extend(classpaths) + +def execusercustomize(): + """Run custom user specific code, if available.""" + try: + import usercustomize + except ImportError: + pass + + +def main(): + global ENABLE_USER_SITE + virtual_install_main_packages() + abs__file__() + paths_in_sys = removeduppaths() + if (os.name == "posix" and sys.path and + os.path.basename(sys.path[-1]) == "Modules"): + addbuilddir() + if _is_jython: + fixclasspath() + GLOBAL_SITE_PACKAGES = not os.path.exists(os.path.join(os.path.dirname(__file__), 'no-global-site-packages.txt')) + if not GLOBAL_SITE_PACKAGES: + ENABLE_USER_SITE = False + if ENABLE_USER_SITE is None: + ENABLE_USER_SITE = check_enableusersite() + paths_in_sys = addsitepackages(paths_in_sys) + paths_in_sys = addusersitepackages(paths_in_sys) + if GLOBAL_SITE_PACKAGES: + paths_in_sys = virtual_addsitepackages(paths_in_sys) + if sys.platform == 'os2emx': + setBEGINLIBPATH() + setquit() + setcopyright() + sethelper() + aliasmbcs() + setencoding() + execsitecustomize() + if ENABLE_USER_SITE: + execusercustomize() + # Remove sys.setdefaultencoding() so that users cannot change the + # encoding after initialization. The test for presence is needed when + # this module is run as a script, because this code is executed twice. + if hasattr(sys, "setdefaultencoding"): + del sys.setdefaultencoding + +main() + +def _script(): + help = """\ + %s [--user-base] [--user-site] + + Without arguments print some useful information + With arguments print the value of USER_BASE and/or USER_SITE separated + by '%s'. + + Exit codes with --user-base or --user-site: + 0 - user site directory is enabled + 1 - user site directory is disabled by user + 2 - uses site directory is disabled by super user + or for security reasons + >2 - unknown error + """ + args = sys.argv[1:] + if not args: + print("sys.path = [") + for dir in sys.path: + print(" %r," % (dir,)) + print("]") + def exists(path): + if os.path.isdir(path): + return "exists" + else: + return "doesn't exist" + print("USER_BASE: %r (%s)" % (USER_BASE, exists(USER_BASE))) + print("USER_SITE: %r (%s)" % (USER_SITE, exists(USER_BASE))) + print("ENABLE_USER_SITE: %r" % ENABLE_USER_SITE) + sys.exit(0) + + buffer = [] + if '--user-base' in args: + buffer.append(USER_BASE) + if '--user-site' in args: + buffer.append(USER_SITE) + + if buffer: + print(os.pathsep.join(buffer)) + if ENABLE_USER_SITE: + sys.exit(0) + elif ENABLE_USER_SITE is False: + sys.exit(1) + elif ENABLE_USER_SITE is None: + sys.exit(2) + else: + sys.exit(3) + else: + import textwrap + print(textwrap.dedent(help % (sys.argv[0], os.pathsep))) + sys.exit(10) + +if __name__ == '__main__': + _script() diff --git a/website/lib/python2.7/sre.py b/website/lib/python2.7/sre.py new file mode 120000 index 0000000000000000000000000000000000000000..8c8bb19bfd3bd63e8f1bb2c3d67aec3313a252fe --- /dev/null +++ b/website/lib/python2.7/sre.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/sre.py \ No newline at end of file diff --git a/website/lib/python2.7/sre_compile.py b/website/lib/python2.7/sre_compile.py new file mode 120000 index 0000000000000000000000000000000000000000..4b3f29123e5fc8ac855e3a6b84641787cf485a35 --- /dev/null +++ b/website/lib/python2.7/sre_compile.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/sre_compile.py \ No newline at end of file diff --git a/website/lib/python2.7/sre_constants.py b/website/lib/python2.7/sre_constants.py new file mode 120000 index 0000000000000000000000000000000000000000..279d5a10c29c1680340f7e39f9e46e0972516175 --- /dev/null +++ b/website/lib/python2.7/sre_constants.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/sre_constants.py \ No newline at end of file diff --git a/website/lib/python2.7/sre_parse.py b/website/lib/python2.7/sre_parse.py new file mode 120000 index 0000000000000000000000000000000000000000..2dfa1dc0927c0ad2e01a7dda9c9b0f4df03e6563 --- /dev/null +++ b/website/lib/python2.7/sre_parse.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/sre_parse.py \ No newline at end of file diff --git a/website/lib/python2.7/stat.py b/website/lib/python2.7/stat.py new file mode 120000 index 0000000000000000000000000000000000000000..ab38b0b228deab71905035c4066dee77102279de --- /dev/null +++ b/website/lib/python2.7/stat.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/stat.py \ No newline at end of file diff --git a/website/lib/python2.7/types.py b/website/lib/python2.7/types.py new file mode 120000 index 0000000000000000000000000000000000000000..bfd968595031b9a680a7234d64c86c71e0e0de6b --- /dev/null +++ b/website/lib/python2.7/types.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/types.py \ No newline at end of file diff --git a/website/lib/python2.7/warnings.py b/website/lib/python2.7/warnings.py new file mode 120000 index 0000000000000000000000000000000000000000..eefc53277150a58e22016bd39b935073619e9a5e --- /dev/null +++ b/website/lib/python2.7/warnings.py @@ -0,0 +1 @@ +/remote/python/2.7.9/lib/python2.7/warnings.py \ No newline at end of file diff --git a/website/pelicanconf.py b/website/pelicanconf.py new file mode 100644 index 0000000000000000000000000000000000000000..caeb69d53996620fc88359943f353c219e68a897 --- /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'] + +# Page Order +PAGE_ORDER_BY = 'date' 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..aab16ee8e19c7a9f4535a115f18ed896c683103b --- /dev/null +++ b/website/scripts/deploy.sh @@ -0,0 +1,34 @@ +#!/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 +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_virtualenv.sh b/website/scripts/setup_virtualenv.sh new file mode 100644 index 0000000000000000000000000000000000000000..55240f944e9ece982bcf475e08025f88111c36aa --- /dev/null +++ b/website/scripts/setup_virtualenv.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +if [ ! -d bin/ ]; then + /remote/python/2.7.9/bin/virtualenv ./ +fi \ No newline at end of file diff --git a/website/themes/notmyidea/static/css/main.css b/website/themes/notmyidea/static/css/main.css new file mode 100644 index 0000000000000000000000000000000000000000..03a77e698a9e960ec0d9f628a7ac3ae4c2ae0c1f --- /dev/null +++ b/website/themes/notmyidea/static/css/main.css @@ -0,0 +1,452 @@ +/* + 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; + margin: 0; + padding: 0; + text-align: left; +} + +/* 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: .8em; + font-family: 'Yanone Kaffeesatz', 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 auto; width: 800px;} +img.right, figure.right {float: right; margin: 0 0 2em 2em;} +img.left, figure.left {float: left; margin: 0 2em 2em 0;} + +/* + Header +*****************/ +#banner { + margin: 0 auto; + padding: 2.5em 0 0 0; +} + + /* Banner */ + #banner h1 {font-size: 3.571em; line-height: 0;} + #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; + height: 40px; + line-height: 30px; + margin: 0 auto 2em auto; + padding: 0; + text-align: center; + width: 800px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #banner nav ul {list-style: none; margin: 0 auto; width: 800px;} + #banner nav li {float: left; display: inline; margin: 0;} + + #banner nav a:link, #banner nav a:visited { + color: #fff; + display: inline-block; + height: 30px; + 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; + margin-bottom: 2em; + overflow: hidden; + padding: 20px 20px; + width: 760px; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +/* + 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: 20px; + 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;} + +/***** 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;} 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..45ab4044e3f27508c6d1c8e55b0472146e2c8c35 --- /dev/null +++ b/website/themes/notmyidea/templates/base.html @@ -0,0 +1,82 @@ +<!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 %} + + <!--[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"> + <address id="about" class="vcard body"> + Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>. + </address><!-- /#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 %}