From 0ba32e8e21dfc366d16478431dcc103cdfb66d66 Mon Sep 17 00:00:00 2001 From: Bastian Kleineidam Date: Fri, 29 Mar 2013 11:12:37 +0100 Subject: [PATCH] Add web page source. --- .gitattributes | 1 + Makefile | 19 +- doc/web/Makefile | 21 ++ doc/web/app.yaml | 6 + doc/web/content/index.md | 80 ++++++ doc/web/hooks/__hooks__.py | 18 ++ doc/web/media/css/print.css | 226 ++++++++++++++++ doc/web/media/css/pygment_trac.css | 69 +++++ doc/web/media/css/stylesheet.css | 371 ++++++++++++++++++++++++++ doc/web/media/favicon.ico | Bin 0 -> 3638 bytes doc/web/media/images/body-bg.png | Bin 0 -> 8859 bytes doc/web/media/images/exe-icon.png | Bin 0 -> 1835 bytes doc/web/media/images/highlight-bg.jpg | Bin 0 -> 34222 bytes doc/web/media/images/hr.png | Bin 0 -> 1037 bytes doc/web/media/images/octocat-icon.png | Bin 0 -> 1651 bytes doc/web/media/images/tar-gz-icon.png | Bin 0 -> 1717 bytes doc/web/templates/base.html | 28 ++ doc/web/templates/default.html | 33 +++ doc/web/wokconfig | 3 + 19 files changed, 865 insertions(+), 10 deletions(-) create mode 100644 doc/web/Makefile create mode 100644 doc/web/app.yaml create mode 100644 doc/web/content/index.md create mode 100644 doc/web/hooks/__hooks__.py create mode 100644 doc/web/media/css/print.css create mode 100644 doc/web/media/css/pygment_trac.css create mode 100644 doc/web/media/css/stylesheet.css create mode 100644 doc/web/media/favicon.ico create mode 100644 doc/web/media/images/body-bg.png create mode 100644 doc/web/media/images/exe-icon.png create mode 100644 doc/web/media/images/highlight-bg.jpg create mode 100644 doc/web/media/images/hr.png create mode 100644 doc/web/media/images/octocat-icon.png create mode 100644 doc/web/media/images/tar-gz-icon.png create mode 100644 doc/web/templates/base.html create mode 100644 doc/web/templates/default.html create mode 100644 doc/web/wokconfig diff --git a/.gitattributes b/.gitattributes index 4afe792..9a3a00b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ .gitattributes export-ignore .gitignore export-ignore .travis.yml export-ignore +/doc/web export-ignore diff --git a/Makefile b/Makefile index 59e9a9d..8dc2858 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,7 @@ ARCHIVE_SOURCE:=$(LAPPNAME)-$(VERSION).tar.gz ARCHIVE_WIN32:=$(LAPPNAME)-$(VERSION).exe GITUSER:=wummel GITREPO:=$(LAPPNAME) -HOMEPAGE:=$(HOME)/public_html/$(LAPPNAME)-webpage -HOMEPAGE_META:=$(HOMEPAGE)/app.yaml +WEB_META:=doc/web/app.yaml DEBUILDDIR:=$(HOME)/projects/debian/official DEBORIGFILE:=$(DEBUILDDIR)/$(LAPPNAME)_$(VERSION).orig.tar.gz DEBPACKAGEDIR:=$(DEBUILDDIR)/$(LAPPNAME)-$(VERSION) @@ -42,13 +41,13 @@ upload: homepage: # update metadata - @echo "version: \"$(VERSION)\"" > $(HOMEPAGE_META) - @echo "name: \"$(APPNAME)\"" >> $(HOMEPAGE_META) - @echo "lname: \"$(LAPPNAME)\"" >> $(HOMEPAGE_META) - @echo "maintainer: \"$(MAINTAINER)\"" >> $(HOMEPAGE_META) - @echo "author: \"$(AUTHOR)\"" >> $(HOMEPAGE_META) -# generate static files - make -C $(HOMEPAGE) gen upload + @echo "version: \"$(VERSION)\"" > $(WEB_META) + @echo "name: \"$(APPNAME)\"" >> $(WEB_META) + @echo "lname: \"$(LAPPNAME)\"" >> $(WEB_META) + @echo "maintainer: \"$(MAINTAINER)\"" >> $(WEB_META) + @echo "author: \"$(AUTHOR)\"" >> $(WEB_META) +# relase website + $(MAKE) -C doc/web release tag: # add and push the version tag @@ -137,4 +136,4 @@ changelog: github-changelog $(DRYRUN) $(GITUSER) $(GITREPO) doc/changelog.txt .PHONY: changelog update-copyright deb test clean count pyflakes check app -.PHONY: releasecheck release upload sign dist all tag register +.PHONY: releasecheck release upload sign dist all tag register homepage diff --git a/doc/web/Makefile b/doc/web/Makefile new file mode 100644 index 0000000..8d5df54 --- /dev/null +++ b/doc/web/Makefile @@ -0,0 +1,21 @@ +HOMEPAGE:=$(HOME)/public_html/patool-webpage.git +WOK:=$(HOME)/projects/wok.git/wok + +all: + +media/favicon.ico: ../icon/favicon.ico + cp $< $@ + +gen: media/favicon.ico + $(WOK) -v + +serve: gen + xdg-open http://localhost:8080 + $(WOK) --server localhost:8080 + +upload: + cd $(HOMEPAGE) && git add . && git commit -m "Updated" && git push + +release: gen upload + +.PHONY: all gen serve upload release diff --git a/doc/web/app.yaml b/doc/web/app.yaml new file mode 100644 index 0000000..54cf3f2 --- /dev/null +++ b/doc/web/app.yaml @@ -0,0 +1,6 @@ +version: "1.0" +name: "Patool" +lname: "patool" +maintainer: "Bastian Kleineidam" +author: "Bastian Kleineidam" +output_exclude: [".*", "todo"] diff --git a/doc/web/content/index.md b/doc/web/content/index.md new file mode 100644 index 0000000..6570e9d --- /dev/null +++ b/doc/web/content/index.md @@ -0,0 +1,80 @@ +title: portable archive file manager +description: patool is a portable archive file manager +--- +Introduction +------------- +[![XKCD Tar comic](http://imgs.xkcd.com/comics/tar.png)](http://xkcd.com/1168/) + +I could never remember the correct options for all those different compression +programs. Tar, unzip, gzip - you name it and I forgot it. +Patool remembers all those options for me now so I don't have to. + +Description +------------ +Various archive types can be created, extracted, tested, listed, +compared, searched and +repacked with patool. The advantage of patool is its simplicity in +handling archive files without having to remember a myriad of +programs and options. + +The archive format is determined by the file(1) program and as +a fallback by the archive file extension. + +patool supports 7z (.7z), ACE (.ace), ADF (.adf), ALZIP (.alz), +APE (.ape), AR (.a), ARC (.arc), ARJ (.arj), BZIP2 (.bz2), CAB +(.cab), COMPRESS (.Z), CPIO (.cpio), DEB (.deb), DMS (.dms), +FLAC (.flac), GZIP (.gz), LRZIP (.lrz), LZH (.lha, .lzh), LZIP +(.lz), LZMA (.lzma), LZOP (.lzo), RPM (.rpm), RAR (.rar), RZIP +(.rz), SHN (.shn), TAR (.tar), XZ (.xz), ZIP (.zip, .jar) and +ZOO (.zoo) formats. It relies on helper applications to handle +those archive formats (for example bzip2 for BZIP2 archives). + +The archive formats TAR, ZIP, BZIP2 and +GZIP are supported natively and do not require helper +applications to be installed. + +Installation +------------- +The easy way with pip: + +```bash +pip install patool +``` + +If you install from source read the +[installation instructions](https://github.com/wummel/patool/blob/master/doc/install.txt). + +Examples +--------- + +```bash +# extract two archives +patool extract archive.zip otherarchive.rar + +# test if archive is intact +patool test --verbose dist.tar.gz + +# list files inside an archive +patool list package.deb + +# create a new archive +patool create --verbose myfiles.zip file1.txt dir/ + +# list differences between two archive contents +patool diff release1.0.tar.gz release2.0.zip + +# search archive contents +patool search "def urlopen" python-3.3.tar.gz + +# compress the archive in a different format +patool repack linux-2.6.33.tar.gz linux-2.6.33.tar.bz2 +``` + +Donate +------- +If you like patool, consider a donation to support it. Thanks! + +Donate Bitcoins + + +Flattr this diff --git a/doc/web/hooks/__hooks__.py b/doc/web/hooks/__hooks__.py new file mode 100644 index 0000000..eed8417 --- /dev/null +++ b/doc/web/hooks/__hooks__.py @@ -0,0 +1,18 @@ +# -*- coding: iso-8859-1 -*- +def compress_javascript(config, output_path): + from mediacompress import compress_js_files + compress_js_files(output_path) + + +def compress_images(config, output_path): + from mediacompress import compress_image_files + compress_image_files(output_path) + + +def compress_css(config, output_path): + from mediacompress import compress_css_files + compress_css_files(output_path) + +hooks = { + 'site.output.post': [compress_javascript, compress_images, compress_css], +} diff --git a/doc/web/media/css/print.css b/doc/web/media/css/print.css new file mode 100644 index 0000000..541695b --- /dev/null +++ b/doc/web/media/css/print.css @@ -0,0 +1,226 @@ +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, 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, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +body { + font-size: 13px; + line-height: 1.5; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + color: #000; +} + +a { + color: #d5000d; + font-weight: bold; +} + +header { + padding-top: 35px; + padding-bottom: 10px; +} + +header h1 { + font-weight: bold; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} +#downloads { + display: none; +} +#main_content { + padding-top: 20px; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 12px; +} + +code { + padding: 0 3px; +} + +pre { + border: solid 1px #ddd; + padding: 20px; + overflow: auto; +} +pre code { + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 2.8em; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} \ No newline at end of file diff --git a/doc/web/media/css/pygment_trac.css b/doc/web/media/css/pygment_trac.css new file mode 100644 index 0000000..82fb8fe --- /dev/null +++ b/doc/web/media/css/pygment_trac.css @@ -0,0 +1,69 @@ +.codehilite { background: #ffffff; } +.codehilite .c { color: #999988; font-style: italic } /* Comment */ +.codehilite .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.codehilite .k { font-weight: bold } /* Keyword */ +.codehilite .o { font-weight: bold } /* Operator */ +.codehilite .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.codehilite .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.codehilite .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.codehilite .ge { font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #aa0000 } /* Generic.Error */ +.codehilite .gh { color: #999999 } /* Generic.Heading */ +.codehilite .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.codehilite .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.codehilite .go { color: #888888 } /* Generic.Output */ +.codehilite .gp { color: #555555 } /* Generic.Prompt */ +.codehilite .gs { font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ +.codehilite .gt { color: #aa0000 } /* Generic.Traceback */ +.codehilite .kc { font-weight: bold } /* Keyword.Constant */ +.codehilite .kd { font-weight: bold } /* Keyword.Declaration */ +.codehilite .kn { font-weight: bold } /* Keyword.Namespace */ +.codehilite .kp { font-weight: bold } /* Keyword.Pseudo */ +.codehilite .kr { font-weight: bold } /* Keyword.Reserved */ +.codehilite .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.codehilite .m { color: #009999 } /* Literal.Number */ +.codehilite .s { color: #d14 } /* Literal.String */ +.codehilite .na { color: #008080 } /* Name.Attribute */ +.codehilite .nb { color: #0086B3 } /* Name.Builtin */ +.codehilite .nc { color: #445588; font-weight: bold } /* Name.Class */ +.codehilite .no { color: #008080 } /* Name.Constant */ +.codehilite .ni { color: #800080 } /* Name.Entity */ +.codehilite .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.codehilite .nf { color: #990000; font-weight: bold } /* Name.Function */ +.codehilite .nn { color: #555555 } /* Name.Namespace */ +.codehilite .nt { color: #000080 } /* Name.Tag */ +.codehilite .nv { color: #008080 } /* Name.Variable */ +.codehilite .ow { font-weight: bold } /* Operator.Word */ +.codehilite .w { color: #bbbbbb } /* Text.Whitespace */ +.codehilite .mf { color: #009999 } /* Literal.Number.Float */ +.codehilite .mh { color: #009999 } /* Literal.Number.Hex */ +.codehilite .mi { color: #009999 } /* Literal.Number.Integer */ +.codehilite .mo { color: #009999 } /* Literal.Number.Oct */ +.codehilite .sb { color: #d14 } /* Literal.String.Backtick */ +.codehilite .sc { color: #d14 } /* Literal.String.Char */ +.codehilite .sd { color: #d14 } /* Literal.String.Doc */ +.codehilite .s2 { color: #d14 } /* Literal.String.Double */ +.codehilite .se { color: #d14 } /* Literal.String.Escape */ +.codehilite .sh { color: #d14 } /* Literal.String.Heredoc */ +.codehilite .si { color: #d14 } /* Literal.String.Interpol */ +.codehilite .sx { color: #d14 } /* Literal.String.Other */ +.codehilite .sr { color: #009926 } /* Literal.String.Regex */ +.codehilite .s1 { color: #d14 } /* Literal.String.Single */ +.codehilite .ss { color: #990073 } /* Literal.String.Symbol */ +.codehilite .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.codehilite .vc { color: #008080 } /* Name.Variable.Class */ +.codehilite .vg { color: #008080 } /* Name.Variable.Global */ +.codehilite .vi { color: #008080 } /* Name.Variable.Instance */ +.codehilite .il { color: #009999 } /* Literal.Number.Integer.Long */ + +.type-csharp .codehilite .k { color: #0000FF } +.type-csharp .codehilite .kt { color: #0000FF } +.type-csharp .codehilite .nf { color: #000000; font-weight: normal } +.type-csharp .codehilite .nc { color: #2B91AF } +.type-csharp .codehilite .nn { color: #000000 } +.type-csharp .codehilite .s { color: #A31515 } +.type-csharp .codehilite .sc { color: #A31515 } diff --git a/doc/web/media/css/stylesheet.css b/doc/web/media/css/stylesheet.css new file mode 100644 index 0000000..2a19461 --- /dev/null +++ b/doc/web/media/css/stylesheet.css @@ -0,0 +1,371 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +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, 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, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* LAYOUT STYLES */ +body { + font-size: 1em; + line-height: 1.5; + background: #e7e7e7 url(../images/body-bg.png) 0 0 repeat; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); + color: #6d6d6d; +} + +a { + color: #d5000d; +} +a:hover { + color: #c5000c; +} + +header { + padding-top: 35px; + padding-bottom: 25px; +} + +header h1 { + font-family: 'Chivo', 'Helvetica Neue', Helvetica, Arial, serif; font-weight: 900; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} + +#container { + background: transparent url(../images/highlight-bg.jpg) 50% 0 no-repeat; + min-height: 595px; +} + +.inner { + width: 620px; + margin: 0 auto; +} + +#container .inner img { + max-width: 100%; +} + +#downloads { + margin-bottom: 40px; +} + +a.button { + -moz-border-radius: 30px; + -webkit-border-radius: 30px; + border-radius: 30px; + border-top: solid 1px #cbcbcb; + border-left: solid 1px #b7b7b7; + border-right: solid 1px #b7b7b7; + border-bottom: solid 1px #b3b3b3; + color: #303030; + line-height: 25px; + font-weight: bold; + font-size: 15px; + padding: 12px 8px 12px 8px; + display: block; + float: left; + width: 179px; + margin-right: 14px; + background: #fdfdfd; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f2f2f2)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f2f2f2',GradientType=0 ); /* IE6-9 */ + -webkit-box-shadow: 10px 10px 5px #888; + -moz-box-shadow: 10px 10px 5px #888; + box-shadow: 0px 1px 5px #e8e8e8; +} +a.button:hover { + border-top: solid 1px #b7b7b7; + border-left: solid 1px #b3b3b3; + border-right: solid 1px #b3b3b3; + border-bottom: solid 1px #b3b3b3; + background: #fafafa; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f6f6f6)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f6f6f6, 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ +} + +a.button span { + padding-left: 50px; + display: block; + height: 23px; +} + +#download-exe span { + background: transparent url(../images/exe-icon.png) 12px 50% no-repeat; +} +#download-tar-gz span { + background: transparent url(../images/tar-gz-icon.png) 12px 50% no-repeat; +} +#view-on-github span { + background: transparent url(../images/octocat-icon.png) 12px 50% no-repeat; +} +#view-on-github { + margin-right: 0; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 14px; +} + +code { + background-color: #f2f2f2; + border: solid 1px #ddd; + padding: 0 3px; +} + +pre { + padding: 20px; + background: #303030; + color: #f2f2f2; + text-shadow: none; + overflow: auto; +} +pre code { + color: #f2f2f2; + background-color: #303030; + border: none; + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +hr { + height: 1px; + line-height: 1px; + margin-top: 1em; + padding-bottom: 1em; + border: none; + background: transparent url('../images/hr.png') 50% 0 no-repeat; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 32px; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dt { + color: #303030; +} + +footer { + background: transparent url('../images/hr.png') 0 0 no-repeat; + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} +footer a:hover { + color: #444; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} + +/* #Media Queries +================================================== */ + +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) {} + +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) {} + +/* All Mobile Sizes (devices and browser) */ +@media only screen and (max-width: 767px) { + header { + padding-top: 10px; + padding-bottom: 10px; + } + #downloads { + margin-bottom: 25px; + } + #download-zip, #download-tar-gz { + display: none; + } + .inner { + width: 94%; + margin: 0 auto; + } +} + +/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ +@media only screen and (min-width: 480px) and (max-width: 767px) {} + +/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ +@media only screen and (max-width: 479px) {} diff --git a/doc/web/media/favicon.ico b/doc/web/media/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9f755b3f06c8fba69b2dc76fcd187c180f5a4ce0 GIT binary patch literal 3638 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 literal 0 HcmV?d00001 diff --git a/doc/web/media/images/highlight-bg.jpg b/doc/web/media/images/highlight-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c4a78effb0b83e71d6742f848388823e19fdbc5 GIT binary patch literal 34222 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 DGStm7 literal 0 HcmV?d00001 diff --git a/doc/web/media/images/hr.png b/doc/web/media/images/hr.png new file mode 100644 index 0000000000000000000000000000000000000000..6c723a5602e14caa5c1527f3226d383dc83db6bd GIT binary patch literal 1037 zcmaJ=O=#3W6ppP(DfA#BSfMzksBP)ycawF8u4S8S+eOos-GGZH(`4F>Z89;Lx@kQW zdXeJMs}{wJ7kd-LA_{_7ym;tIym;!NSV8EeAUN6XZauh$A$c>r?|a{Td2fAYYNDt6 zd^f`|J;h1A#4sICXndmU6n#J5Kg-ikFDX<=8PAcL6(T0@;8_HUo;8n3$a0qNZle)~ z>6~`W3aJ=3pp8AwN^-c^3n-dlMn>bnvKJ5mvuNJ+bL`KpcPwz79D7qS1S8N;)ty`k zQF&#`v{x4Ftiz6810yk{1Rf$5h`mKWf^m+m^FkUY$2<$_DP$qX9*L?LGeE;30tzRm zY(W%(s&ZmlQB`pmNP;Nw0$plKOhZM5QU)|0mR1X$Iat!i8@1>z$5sgmAkWuoHLfOe zIGpFjY&M&4NK%Ssq@rb?SaHga`kM?oitNx0h>LxYFj}*CiR4(S^yms+(4zIDhE3Ek zKDGj0o(%|yfaf2!xTvLjML$9n%s9GS}j;!7yPOQB7F++2TBDu7yuEP_K584fa+@981e_uIs?OtVl{m%4Q@jEs6zkOwY@OLYf|Fijp4Jnphp%OCIt`6YCsf^KG$7 z-*^G7tfSDqhn(>cd!X(QblYpmwB>7Ho%UL;w#D*P44-ttUtQ5WqOF#MtsbYF)|4Qh zjz&mlVDsTNN9V^Z>UlH%x?^tlFhbYb?*||IhKCM5Kf8Fk0~~&sex2TTgpC(J4*mO= zclX|($v%4f<@?sbt)0D3^7`}qYTq~YRe7TK%AHKGyE^n#+j#TxU#ywo|pap6}o NpvA(JzBzV#?GKcZMQ8v3 literal 0 HcmV?d00001 diff --git a/doc/web/media/images/octocat-icon.png b/doc/web/media/images/octocat-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ba137d268da4921d9f4b5905bed9e724c45770 GIT binary patch literal 1651 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 LNkvXXu0mjfr^i5H literal 0 HcmV?d00001 diff --git a/doc/web/templates/base.html b/doc/web/templates/base.html new file mode 100644 index 0000000..b51e457 --- /dev/null +++ b/doc/web/templates/base.html @@ -0,0 +1,28 @@ + + + + + + + + {{ site.app.name }} - {{ page.title }} + + + + + + +{% block head %}{% endblock %} + + + +
+
+{% block content %} +{% endblock content %} +
+
+ + diff --git a/doc/web/templates/default.html b/doc/web/templates/default.html new file mode 100644 index 0000000..273edfc --- /dev/null +++ b/doc/web/templates/default.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} + +{%- block content %} +
+

{{site.app.name}}

+

{{site.app.name}} is a portable archive file manager

+
+ +
+ {{site.app.name}}.tar.gz {{site.app.version}} + {{site.app.name}}.exe {{site.app.version}} + View on GitHub + +
+ +
+ +
+{{page.content}} +
+ + + +{%- endblock %} diff --git a/doc/web/wokconfig b/doc/web/wokconfig new file mode 100644 index 0000000..56bbdfb --- /dev/null +++ b/doc/web/wokconfig @@ -0,0 +1,3 @@ +app: !include app.yaml +output_dir: ~/public_html/patool-webpage.git +output_exclude: ["todo"]