From 7d44f60311efaac39bbbf986a20c6a1ff5f334ca Mon Sep 17 00:00:00 2001 From: Julius de Jeu Date: Thu, 13 Jun 2019 12:10:54 +0200 Subject: [PATCH] initial commit --- .gitignore | 2 + Pipfile | 16 + Pipfile.lock | 207 +++++++++++++ app.py | 25 ++ data/hidden_service.md | 11 + data/index.md | 10 + freeze.py | 17 + .../READ_ME/HTML5WebTemplates.co.uk.url | 8 + static/black_white/READ_ME/PLEASE READ.txt | 13 + .../READ_ME/Remove the footer link.URL | 6 + static/black_white/another_page.html | 75 +++++ static/black_white/contact.html | 79 +++++ static/black_white/examples.html | 135 ++++++++ static/black_white/index.html | 80 +++++ static/black_white/page.html | 75 +++++ static/style/background.png | Bin 0 -> 36619 bytes static/style/bullet.png | Bin 0 -> 989 bytes static/style/graphic.png | Bin 0 -> 7796 bytes static/style/link.png | Bin 0 -> 911 bytes static/style/search.png | Bin 0 -> 1482 bytes static/style/style.css | 292 ++++++++++++++++++ static/style/transparent.png | Bin 0 -> 199 bytes static/style/transparent_light.png | Bin 0 -> 147 bytes templates/index.html | 17 + 24 files changed, 1068 insertions(+) create mode 100644 .gitignore create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 app.py create mode 100644 data/hidden_service.md create mode 100644 data/index.md create mode 100644 freeze.py create mode 100644 static/black_white/READ_ME/HTML5WebTemplates.co.uk.url create mode 100644 static/black_white/READ_ME/PLEASE READ.txt create mode 100644 static/black_white/READ_ME/Remove the footer link.URL create mode 100644 static/black_white/another_page.html create mode 100644 static/black_white/contact.html create mode 100644 static/black_white/examples.html create mode 100644 static/black_white/index.html create mode 100644 static/black_white/page.html create mode 100644 static/style/background.png create mode 100644 static/style/bullet.png create mode 100644 static/style/graphic.png create mode 100644 static/style/link.png create mode 100644 static/style/search.png create mode 100644 static/style/style.css create mode 100644 static/style/transparent.png create mode 100644 static/style/transparent_light.png create mode 100644 templates/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9703f14 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +build \ No newline at end of file diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..2c939f6 --- /dev/null +++ b/Pipfile @@ -0,0 +1,16 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] +autopep8 = "*" +pylint = "*" + +[packages] +flask = "*" +frozen-flask = "*" +markdown2 = "*" + +[requires] +python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..faff5d6 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,207 @@ +{ + "_meta": { + "hash": { + "sha256": "79b68d0ec55be365cc035492817a2cc21bfdb3970441e08c23a13766e7bc4e5d" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "click": { + "hashes": [ + "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", + "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" + ], + "version": "==7.0" + }, + "flask": { + "hashes": [ + "sha256:ad7c6d841e64296b962296c2c2dabc6543752985727af86a975072dea984b6f3", + "sha256:e7d32475d1de5facaa55e3958bc4ec66d3762076b074296aa50ef8fdc5b9df61" + ], + "index": "pypi", + "version": "==1.0.3" + }, + "frozen-flask": { + "hashes": [ + "sha256:0a7a71334210ce84f8cbd1dc23c8b265d3e21748805c09c77d0e6fbcc4faab14", + "sha256:83858d6ed8b9d3fa7fc9523e415e65fb86b99352798d7695f63cffbd59a56269" + ], + "index": "pypi", + "version": "==0.15" + }, + "itsdangerous": { + "hashes": [ + "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19", + "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749" + ], + "version": "==1.1.0" + }, + "jinja2": { + "hashes": [ + "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", + "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" + ], + "version": "==2.10.1" + }, + "markdown2": { + "hashes": [ + "sha256:7ff88e00b396c02c8e1ecd8d176cfa418fb01fe81234dcea77803e7ce4f05dbe", + "sha256:882d3607fc023cdea0ac2cd0e1147617fcb0361cb1133d3ff095417f995ff270" + ], + "index": "pypi", + "version": "==2.3.8" + }, + "markupsafe": { + "hashes": [ + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7" + ], + "version": "==1.1.1" + }, + "werkzeug": { + "hashes": [ + "sha256:865856ebb55c4dcd0630cdd8f3331a1847a819dda7e8c750d3db6f2aa6c0209c", + "sha256:a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6" + ], + "version": "==0.15.4" + } + }, + "develop": { + "astroid": { + "hashes": [ + "sha256:6560e1e1749f68c64a4b5dee4e091fce798d2f0d84ebe638cf0e0585a343acf4", + "sha256:b65db1bbaac9f9f4d190199bb8680af6f6f84fd3769a5ea883df8a91fe68b4c4" + ], + "version": "==2.2.5" + }, + "autopep8": { + "hashes": [ + "sha256:4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee" + ], + "index": "pypi", + "version": "==1.4.4" + }, + "isort": { + "hashes": [ + "sha256:c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a", + "sha256:f57abacd059dc3bd666258d1efb0377510a89777fda3e3274e3c01f7c03ae22d" + ], + "version": "==4.3.20" + }, + "lazy-object-proxy": { + "hashes": [ + "sha256:159a745e61422217881c4de71f9eafd9d703b93af95618635849fe469a283661", + "sha256:23f63c0821cc96a23332e45dfaa83266feff8adc72b9bcaef86c202af765244f", + "sha256:3b11be575475db2e8a6e11215f5aa95b9ec14de658628776e10d96fa0b4dac13", + "sha256:3f447aff8bc61ca8b42b73304f6a44fa0d915487de144652816f950a3f1ab821", + "sha256:4ba73f6089cd9b9478bc0a4fa807b47dbdb8fad1d8f31a0f0a5dbf26a4527a71", + "sha256:4f53eadd9932055eac465bd3ca1bd610e4d7141e1278012bd1f28646aebc1d0e", + "sha256:64483bd7154580158ea90de5b8e5e6fc29a16a9b4db24f10193f0c1ae3f9d1ea", + "sha256:6f72d42b0d04bfee2397aa1862262654b56922c20a9bb66bb76b6f0e5e4f9229", + "sha256:7c7f1ec07b227bdc561299fa2328e85000f90179a2f44ea30579d38e037cb3d4", + "sha256:7c8b1ba1e15c10b13cad4171cfa77f5bb5ec2580abc5a353907780805ebe158e", + "sha256:8559b94b823f85342e10d3d9ca4ba5478168e1ac5658a8a2f18c991ba9c52c20", + "sha256:a262c7dfb046f00e12a2bdd1bafaed2408114a89ac414b0af8755c696eb3fc16", + "sha256:acce4e3267610c4fdb6632b3886fe3f2f7dd641158a843cf6b6a68e4ce81477b", + "sha256:be089bb6b83fac7f29d357b2dc4cf2b8eb8d98fe9d9ff89f9ea6012970a853c7", + "sha256:bfab710d859c779f273cc48fb86af38d6e9210f38287df0069a63e40b45a2f5c", + "sha256:c10d29019927301d524a22ced72706380de7cfc50f767217485a912b4c8bd82a", + "sha256:dd6e2b598849b3d7aee2295ac765a578879830fb8966f70be8cd472e6069932e", + "sha256:e408f1eacc0a68fed0c08da45f31d0ebb38079f043328dce69ff133b95c29dc1" + ], + "version": "==1.4.1" + }, + "mccabe": { + "hashes": [ + "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", + "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" + ], + "version": "==0.6.1" + }, + "pycodestyle": { + "hashes": [ + "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", + "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" + ], + "version": "==2.5.0" + }, + "pylint": { + "hashes": [ + "sha256:5d77031694a5fb97ea95e828c8d10fc770a1df6eb3906067aaed42201a8a6a09", + "sha256:723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1" + ], + "index": "pypi", + "version": "==2.3.1" + }, + "six": { + "hashes": [ + "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", + "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" + ], + "version": "==1.12.0" + }, + "typed-ast": { + "hashes": [ + "sha256:18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e", + "sha256:262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e", + "sha256:2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0", + "sha256:354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c", + "sha256:4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631", + "sha256:630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4", + "sha256:66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34", + "sha256:71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b", + "sha256:95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a", + "sha256:bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233", + "sha256:cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1", + "sha256:d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36", + "sha256:d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d", + "sha256:d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a", + "sha256:ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12" + ], + "markers": "implementation_name == 'cpython'", + "version": "==1.4.0" + }, + "wrapt": { + "hashes": [ + "sha256:4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533" + ], + "version": "==1.11.1" + } + } +} diff --git a/app.py b/app.py new file mode 100644 index 0000000..945a9a5 --- /dev/null +++ b/app.py @@ -0,0 +1,25 @@ +from flask import Flask, render_template, Markup, redirect +import markdown2 +import os + +app = Flask(__name__) + +templates = [x for x in os.listdir("data") if x not in ["index.md"]] +print(templates) +@app.route("/") +def main(): + return render_template("index.html", content=Markup(markdown2.markdown_path("data/index.md")), extras=["cuddled-lists"]) + + +@app.route("//") +def render(md): + return render_template("index.html", content=Markup(markdown2.markdown_path(f"data/{md}.md"))) + + +@app.route("/") +def redir(md): + return redirect(f"/{md}/",) + + +if __name__ == "__main__": + app.run("0.0.0.0", 8080) diff --git a/data/hidden_service.md b/data/hidden_service.md new file mode 100644 index 0000000..323950c --- /dev/null +++ b/data/hidden_service.md @@ -0,0 +1,11 @@ +# The story so far +> Our friendly IT guy John has set up a hidden service to control his VM's. +> The only problem is that his rival in the company, Dave, kind of wants to screw John over. +> This is not an issue for John, he is quite capable with coding and knows exactly which commands to use. This is quite useful when he wants to hide the commands from Dave. +> Dave did however figure out where the server is hosted: [wsecho.voidcorp.nl](https://wsecho.voidcorp.nl)! +> Now dave wants to find John's password to really screw him over. He knows dave so it probably isn't hidden too well... + +## Your mission +1. Hack into the server +2. Read the hidden password (format=`flag{xxx}`) +3. Report back to Dave (aka the sender of this mission) with the password! \ No newline at end of file diff --git a/data/index.md b/data/index.md new file mode 100644 index 0000000..1fbcda4 --- /dev/null +++ b/data/index.md @@ -0,0 +1,10 @@ +# Voidcorp Challenges +This site has some CTF challenges, all have different levels of challenge. + +## Beginner +> These challenges are of beginner level. They are rather easy. + +## Intermediate +> These challenges are a bit harder, they also won't explain too much about how to use them + +* A small [Hidden Service](/hidden_service/) used by an admin. \ No newline at end of file diff --git a/freeze.py b/freeze.py new file mode 100644 index 0000000..86c3baf --- /dev/null +++ b/freeze.py @@ -0,0 +1,17 @@ +from flask_frozen import Freezer +from app import app, templates + + +# app.config["FREEZER_IGNORE_MIMETYPE_WARNINGS"] = True +freezer = Freezer(app) + + +@freezer.register_generator +def render(): + for p in templates: + p = p.rpartition(".")[0] + yield {"md": p} + + +if __name__ == '__main__': + freezer.freeze() diff --git a/static/black_white/READ_ME/HTML5WebTemplates.co.uk.url b/static/black_white/READ_ME/HTML5WebTemplates.co.uk.url new file mode 100644 index 0000000..6da05cd --- /dev/null +++ b/static/black_white/READ_ME/HTML5WebTemplates.co.uk.url @@ -0,0 +1,8 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,2 +[InternetShortcut] +IDList= +URL=http://www.html5webtemplates.co.uk/ +HotKey=0 +IconFile=C:\Windows\system32\SHELL32.dll +IconIndex=277 diff --git a/static/black_white/READ_ME/PLEASE READ.txt b/static/black_white/READ_ME/PLEASE READ.txt new file mode 100644 index 0000000..49fd57a --- /dev/null +++ b/static/black_white/READ_ME/PLEASE READ.txt @@ -0,0 +1,13 @@ +Thanks for downloading this template from HTML5WebTemplates.co.uk + +I hope that it suits your needs. + +If you wish to remove the footer link (to http://www.html5webtemplates.co.uk/) I ask that you make a donation of £15 via Paypal. + +You can make a donation at the following address:http://www.html5webtemplates.co.uk/faqs.html + +If you have any questions please feel free to e-mail me at contact@html5webtemplates.co.uk + +Best regards, + +HTML5WebTemplates.co.uk \ No newline at end of file diff --git a/static/black_white/READ_ME/Remove the footer link.URL b/static/black_white/READ_ME/Remove the footer link.URL new file mode 100644 index 0000000..13d925c --- /dev/null +++ b/static/black_white/READ_ME/Remove the footer link.URL @@ -0,0 +1,6 @@ +[InternetShortcut] +URL=http://www.html5webtemplates.co.uk/faqs.html +IDList= +HotKey=0 +IconFile=C:\Windows\system32\SHELL32.dll +IconIndex=44 diff --git a/static/black_white/another_page.html b/static/black_white/another_page.html new file mode 100644 index 0000000..8adec77 --- /dev/null +++ b/static/black_white/another_page.html @@ -0,0 +1,75 @@ + + + + + black_white - another page + + + + + + + +
+ +
+ +
+ +

Another Page

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+
+
+ +
+ + diff --git a/static/black_white/contact.html b/static/black_white/contact.html new file mode 100644 index 0000000..a1f306c --- /dev/null +++ b/static/black_white/contact.html @@ -0,0 +1,79 @@ + + + + + black_white - contact us + + + + + + + +
+ +
+ +
+ +

Contact Us

+

Below is an example of how a contact form might look with this template:

+
+
+

Name

+

Email Address

+

Message

+

 

+
+
+



NOTE: A contact form such as this would require some way of emailing the input to an email address.

+
+
+ +
+ + diff --git a/static/black_white/examples.html b/static/black_white/examples.html new file mode 100644 index 0000000..f966331 --- /dev/null +++ b/static/black_white/examples.html @@ -0,0 +1,135 @@ + + + + + black_white - examples + + + + + + + +
+ +
+ +
+ +

Examples

+

This page contains examples of all the styled elements available as part of this design. Use this page for reference, whilst you build your website.

+

Headings

+

These are the different heading formats:

+

Heading 1

+

Heading 2

+

Heading 3

+

Heading 4

+
Heading 5
+
Heading 6
+

Text

+

The following examples show how the text (within '<p></p>' tags) will appear:

+

This is an example of bold text

+

This is an example of italic text

+

This is a hyperlink

+

Lists

+

This is an unordered list:

+
    +
  • Item 1
  • +
  • Item 2
  • +
  • Item 3
  • +
  • Item 4
  • +
+

This is an ordered list:

+
    +
  1. Item 1
  2. +
  3. Item 2
  4. +
  5. Item 3
  6. +
  7. Item 4
  8. +
+

Images

+

images can be placed on the left, in the center or on the right:

+ example graphic +

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute + irure dolor in reprehenderit in voluptate velit esse cillum. +

+ example graphic + example graphic +

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute + irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. +

+

Tables

+

Tables should be used to display data and not used for laying out your website:

+ + + + + + +
ItemDescription
Item 1Description of Item 1
Item 2Description of Item 2
Item 3Description of Item 3
Item 4Description of Item 4
+

Form Elements

+
+
+

Form field example

+

Textarea example

+

Checkbox example

+

Dropdown list example

+

 

+
+
+
+
+ +
+ + diff --git a/static/black_white/index.html b/static/black_white/index.html new file mode 100644 index 0000000..188e284 --- /dev/null +++ b/static/black_white/index.html @@ -0,0 +1,80 @@ + + + + + black_white + + + + + + + +
+ +
+ +
+ +

Welcome to the black_white template

+

This standards compliant, simple, fixed width website template is released as an 'open source' design (under a Creative Commons Attribution 3.0 Licence), which means that you are free to download and use it for anything you want (including modifying and amending it). All I ask is that you leave the 'design from HTML5webtemplates.co.uk' link in the footer of the template, but other than that...

+

This template is written entirely in HTML5 and CSS, and can be validated using the links in the footer.

+

You can view more free HTML5 web templates here.

+

This template is a fully functional 5 page website, with an examples page that gives examples of all the styles available with this design.

+

Browser Compatibility

+

This template has been tested in the following browsers:

+
    +
  • Internet Explorer 9
  • +
  • FireFox 25
  • +
  • Google Chrome 31
  • +
+
+
+ +
+ + diff --git a/static/black_white/page.html b/static/black_white/page.html new file mode 100644 index 0000000..ea23f73 --- /dev/null +++ b/static/black_white/page.html @@ -0,0 +1,75 @@ + + + + + black_white - a page + + + + + + + +
+ +
+ +
+ +

A Page

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui.

+
+
+ +
+ + diff --git a/static/style/background.png b/static/style/background.png new file mode 100644 index 0000000000000000000000000000000000000000..230ed8eaa4ab9e822958ccbc829005b078619a20 GIT binary patch literal 36619 zcmV(^K-IsAP)+>)F@-M$X{EpxM zzyJ6De*DHy-u3nQdj8jY`0lUozCL-**T4VuU;p*vIbUPX-yC=D`5O1X|NFoHewOe3 z`aSoz@#cA7*L?k*F=k!-e*XXK`v3W#|M@Z3tl8K7d47J+I)9Bf&&m3K{r~H_ufOvQ zjxYD;y0#`?>*u|1>()MBW4hLd>yUA@_i%h)&ulc;K3{Y87($a@zxn>Gy}xgCKziUk zq;Ib2*WX|J@--LIWd8no2iH0898X=C*E38Q5t3ZzFDCkwvDzn0 z!gn-5lC{jZC}^{`8GnSj>1fdz-iJ;6qBp@=JCBKCYiN}^$o=c6^ ztThWc?whZRRyQr=85GF*+d}*6zOUcN;MThQm+NH4X}_7KzW)7sev}yLA?uO74n1*w zLlYSz$8Gxhx|VCy=)J8+qeTk0SXZPy-^brBp|j{d^OAt-F{Q>?ef|HKE-Iu2IGj2BScuHl*vbgqvNZSfpH!2rCQstVy2F{UI bey@j!c`^ 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
DhlMFF}RK!bKPXxa66U(7#mS}IM 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 literal 0 HcmV?d00001 diff --git a/static/style/bullet.png b/static/style/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..ae6094b8a3cdfa37a33fd37ec190d470ad4b3a8e GIT binary patch literal 989 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJdx@v7EBh^OVLm|~sXuZ%fI^%F z9+AZi3|t>Tn9*sC$qWVtW`+Qt5LcjN0~j}esRkggq2T}!+&Qr9)Q7(Pulx7ETDkQ= z|Dg~4hd%Zn{y62p^Vx@=PdNN>(&3L&k9?ed^y8cpALpF>xbF0$wWpsfJNI$z`Hvee zecW>8 z3l7XYB|-rcrcZJZ3kVCJC^*qYC?F_wir6!Ep$Stb3qE!h6A%%9DlFt+Hl@3N`fQ_i ZMuuv2)vrR8sudvLd%F6$taD0e0swk5zWe|H literal 0 HcmV?d00001 diff --git a/static/style/graphic.png b/static/style/graphic.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4e4beba7f744e7fe2614e899af38622c4079f3 GIT binary patch literal 7796 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 literal 0 HcmV?d00001 diff --git a/static/style/style.css b/static/style/style.css new file mode 100644 index 0000000..a4b5a1b --- /dev/null +++ b/static/style/style.css @@ -0,0 +1,292 @@ +html +{ height: 100%;} + +* +{ margin: 0; + padding: 0;} + +body +{ font: normal .80em 'trebuchet ms', arial, sans-serif; + background: #F0EFE2 url(background.png) repeat; + color: #000;} + +p +{ padding: 0 0 20px 0; + line-height: 1.7em;} + +img +{ border: 0;} + +h1, h2, h3, h4, h5, h6 +{ font: normal 175% 'century gothic', arial, sans-serif; + color: #000; + margin: 0 0 15px 0; + padding: 15px 0 5px 0;} + +h2 +{ font: normal 175% 'century gothic', arial, sans-serif;} + +h4, h5, h6 +{ margin: 0; + padding: 0 0 5px 0; + font: normal 120% arial, sans-serif;} + +h5, h6 +{ font: italic 95% arial, sans-serif; + padding: 0 0 15px 0;} + +a, a:hover +{ outline: none; + text-decoration: underline; + color: #000;} + +a:hover +{ text-decoration: none;} + +.left +{ float: left; + width: auto; + margin-right: 10px;} + +.right +{ float: right; + width: auto; + margin-left: 10px;} + +.center +{ display: block; + text-align: center; + margin: 20px auto;} + +blockquote +{ margin: 20px 0; + padding: 10px 20px 0 20px; + border: 1px solid #E5E5DB; + background: #FFF;} + +ul +{ margin: 2px 0 22px 17px;} + +ul li +{ list-style-type: circle; + margin: 0 0 6px 0; + padding: 0 0 4px 5px;} + +ol +{ margin: 8px 0 22px 20px;} + +ol li +{ margin: 0 0 11px 0;} + +#main, #logo, #menubar, #site_content, #footer +{ margin-left: auto; + margin-right: auto;} + +#header +{ background: transparent; + height: 202px;} + +#logo +{ width: 898px; + position: relative; + height: 148px; + border-bottom: 2px solid #FFF;} + +#logo #logo_text +{ position: absolute; + top: 20px; + left: 0;} + +#logo h1, #logo h2 +{ font: normal 300% 'century gothic', arial, sans-serif; + border-bottom: 0; + text-transform: none; + margin: 0;} + +#logo_text h1, #logo_text h1 a, #logo_text h1 a:hover +{ padding: 22px 0 0 0; + color: #FFF; + letter-spacing: -1px; + text-decoration: none;} + +#logo_text h1 a .logo_colour +{ color: #FFF;} + +#logo_text h2 +{ font-size: 100%; + padding: 4px 0 0 0; + color: #FFF;} + +#menubar +{ width: 898px; + height: 52px; + padding: 0; + background: #000;} + +ul#menu, ul#menu li +{ float: left; + margin: 0; + padding: 0;} + +ul#menu li +{ list-style: none;} + +ul#menu li a +{ letter-spacing: 0.1em; + font: normal 100% arial, sans-serif; + display: block; + float: left; + height: 17px; + margin: 10px 0 0 10px; + padding: 9px 26px 6px 26px; + text-align: center; + color: #FFF; + text-transform: uppercase; + text-decoration: none; + background: transparent;} + +ul#menu li a:hover, ul#menu li.selected a, ul#menu li.selected a:hover +{ color: #FFF; + background: transparent url(transparent_light.png) repeat;} + +#site_content +{ width: 854px; + overflow: hidden; + margin: 0 auto 0 auto; + padding: 0 24px 20px 20px; + background: #FFF;} + +.sidebar +{ float: right; + width: 210px; + padding: 0 15px 20px 15px;} + +.sidebar ul +{ width: 198px; + padding: 4px 0 0 0; + margin: 4px 0 30px 0;} + +.sidebar li +{ list-style: none; + padding: 0 0 7px 0; } + +.sidebar li a, .sidebar li a:hover +{ padding: 0 0 0 40px; + display: block; + background: transparent url(link.png) no-repeat left center;} + +.sidebar li a.selected +{ color: #7E2451; + text-decoration: none;} + +#content +{ text-align: left; + float: left; + width: 595px; + padding: 0;} + +#content ul +{ margin: 2px 0 22px 0px;} + +#content ul li +{ list-style-type: none; + background: url(bullet.png) no-repeat; + margin: 0 0 6px 0; + padding: 0 0 4px 25px; + line-height: 1.5em;} + +#footer +{ width: 898px; + font: normal 100% 'lucida sans unicode', arial, sans-serif; + height: 33px; + padding: 24px 0 5px 0; + text-align: center; + background: transparent; + color: #FFF; + text-transform: uppercase; + letter-spacing: 0.1em;} + +#footer a +{ color: #FFF; + text-decoration: none;} + +#footer a:hover +{ color: #FFF; + text-decoration: underline;} + +.search +{ color: #5D5D5D; + border: 1px solid #BBB; + width: 134px; + padding: 4px; + font: 100% arial, sans-serif;} + +#colours +{ height: 0px; + text-align: right; + padding: 66px 16px 0px 300px;} + +.form_settings +{ margin: 15px 0 0 0;} + +.form_settings p +{ padding: 0 0 4px 0;} + +.form_settings span +{ float: left; + width: 200px; + text-align: left;} + +.form_settings input, .form_settings textarea +{ padding: 5px; + width: 299px; + font: 100% arial; + border: 1px solid #E5E5DB; + background: #FFF; + color: #47433F;} + +.form_settings .submit +{ font: 100% arial; + border: 1px solid; + width: 99px; + margin: 0 0 0 212px; + height: 33px; + padding: 2px 0 3px 0; + cursor: pointer; + background: #000; + color: #FFF;} + +.form_settings textarea, .form_settings select +{ font: 100% arial; + width: 299px;} + +.form_settings select +{ width: 310px;} + +.form_settings .checkbox +{ margin: 4px 0; + padding: 0; + width: 14px; + border: 0; + background: none;} + +.separator +{ width: 100%; + height: 0; + border-top: 1px solid #D9D5CF; + border-bottom: 1px solid #FFF; + margin: 0 0 20px 0;} + +table +{ margin: 10px 0 30px 0;} + +table tr th, table tr td +{ background: #3B3B3B; + color: #FFF; + padding: 7px 4px; + text-align: left;} + +table tr td +{ background: #F0EFE2; + color: #47433F; + border-top: 1px solid #FFF;} \ No newline at end of file diff --git a/static/style/transparent.png b/static/style/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..93e4d8fce68600b9e29ac60d621032367bde67ef GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_rJVAk65r#$*OikiEpy*OmP?H@5(fwP?y$7NC%1iEBiObAE1a zYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8c$2r;B5V#pz@b5s^7Z99$0^aY!}Dda$B# jF + + + Voidcorp challenges! + + +
+ +
+
+ {{content}} +
+ + + \ No newline at end of file