diff --git a/ioccc.css b/ioccc.css new file mode 100644 index 000000000..b85c288c8 --- /dev/null +++ b/ioccc.css @@ -0,0 +1,613 @@ +/* Start of normalize.css ========================================================================== */ +/* see: https://necolas.github.io/normalize.css/ & https://nicolasgallagher.com/about-normalize-css/ */ +/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document ========================================================================== */ + +/* + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections ========================================================================== */ + +/* + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/* + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/* + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content ========================================================================== */ + +/* + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/* + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics ========================================================================== */ + +/* + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/* + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline dotted; /* 2 */ +} + +/* + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/* + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/* + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content ========================================================================== */ + +/* + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms ========================================================================== */ + +/* + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/* + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/* + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/* + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/* + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/* + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/* + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/* + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/* + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/* + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/* + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/* + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/* + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/* + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc ========================================================================== */ + +/* + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/* + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +/* End of normalize.css ========================================================================== */ + +/**************************************/ +/* what follows is ioccc.css specific */ +/**************************************/ + +/* Fonts ========================================================================================= */ + +/* Fonts */ +.serif { + font-family: Georgia, serif; +} + +.sans-serif { + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; +} + +.mono { + font-family: "Lucida Console", "Courier New", monospace; +} + +* { + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; +} + +h1, h2, h3, h4, h5, h6 { + font-family: Georgia, serif; +} + +pre, code { + font-family: "Lucida Console", "Courier New", monospace; +} + +body { + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; +} + +/* Top level ===================================================================================== */ + +* { + box-sizing: border-box; + background: whitesmoke; +} + +body { + padding: 10px; +} + +/* Header ======================================================================================== */ + +/* Style the header */ +.header { + padding: 10px; + text-align: center; +} + +/* Header headings */ +.header h1 { + font-size: 3em; +} +.header h2 { + font-size: 2.5em; +} +.header h3 { + font-size: 1.5em; +} + +/* Top navigation bar ============================================================================ */ + +/* Style the top navigation bar */ +.topnav { + overflow: hidden; + background-color: #333; +} + +/* Style the topnav links */ +.topnav a { + float: left; + display: block; + color: lightblue; + padding: 14px 16px; + text-decoration: none; +} + +/* Change topnav link color on hover */ +.topnav a:hover { + background-color: #ddd; + color: blue; + text-decoration: underline; +} + +/* No padding nor border around topnav images */ +.topnav img { + border: 0; + padding: 0; +} + +/* Side navigation bar =========================================================================== */ + +/* Style the side navigation bar */ +.sidenav { + overflow: hidden; +} + +/* Style the sidenav links */ +.sidenav a { + float: left; + display: block; + color: blue; + text-align: left; + padding: 14px 16px; + text-decoration: none; + width: 100%; + background-color: #ddd; +} + +/* Change sidenav link color on hover */ +.sidenav a:hover { + color: blue; + background-color: #ccc; + text-decoration: underline; +} + +/* Two unequal columns =========================================================================== */ + +/* Create two unequal columns that floats next to each other */ + +/* Style the left column */ +.leftcolumn { + float: left; + width: 20%; + padding-top: 10px; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 10px; +} + +/* Left column horizontal line */ +.leftcolumn hr { + border-style: solid; + border-width: 1px; +} + +/* Style the right column */ +.rightcolumn { + float: left; + width: 80%; + padding-left: 10px; + padding-bottom: 10px; +} + +/* Right column headings */ +.rightcolumn h1 { + font-size: 2em; +} +.rightcolumn h2 { + font-size: 1.5em; +} +.rightcolumn h3 { + font-size: 1.25em; +} + +/* Footer ======================================================================================== */ + +.footer { + display: block; + clear: both; + padding-left: 10px; + padding-right: 10px; + border-style: solid hidden hidden hidden; + text-decoration: none; +} + +.footer a { + text-decoration: none; +} + +.footer a:hover { + text-decoration: underline; +} + +/* Responsive Web Design ========================================================================== */ + +/* Default: screen is > 800 pixels wide */ + +/* + * When the screen is >= 401 pixels AND <= 800 pixels wide + * + * Make the two columns stack on top of each other instead of next to each other, + * and adjust the defaults for a somewhat smaller screen. + */ +@media screen and (max-width: 800px) { + .header { + padding: 0; + border: 0; + text-align: center; + } + .header h1 { + font-size: 2em; + } + .header h2 { + font-size: 1.5em; + } + .header h3 { + font-size: 1.25em; + } + .leftcolumn, .rightcolumn, .footer { + width: 100%; + padding: 2px; + } + .sidenav a { + padding: 5px; + } + .rightcolumn h1 { + font-size: 1.5em; + } + .rightcolumn h2 { + font-size: 1.25em; + } + .rightcolumn h3 { + font-size: 1em; + } +} + +/* + * When the screen is <= 400 pixels wide: + * + * Make the navigation links stack on top of each other instead of next to each other, + * and adjust the defaults for a small screen. + */ +@media screen and (max-width: 400px) { + .header { + padding: 0; + border: 0; + text-align: center; + } + .header h1 { + font-size: 1.5em; + } + .header h2 { + font-size: 1.25em; + } + .header h3 { + font-size: 1em; + } + .header img { + visibility: none; + width: 0; + height: 0; + border: 0; + padding: 0; + } + .topnav a, .sidenav a { + float: none; + width: 100%; + padding: 0; + } + .leftcolumn hr { + display: none; + } + .rightcolumn h1 { + font-size: 1.5em; + } + .rightcolumn h2 { + font-size: 1.25em; + } + .rightcolumn h3 { + font-size: 1em; + } +} diff --git a/tmp/README.md b/tmp/README.md index b7dcfb221..ae543896d 100644 --- a/tmp/README.md +++ b/tmp/README.md @@ -587,6 +587,34 @@ Examples: ./run_all.sh -v 1 ./gen_winner_json.sh ``` +### templates +### [template-footer.html](template-footer.html) +### [template-header.html](template-header.html) +### [template-top.html](template-top.html) + +An HTML template for what goes into the top of constructed HTML pages. + +Constructed HTML pages will be as follows: + +0. [template-top.html](template-top.html) +1. file: _path_ HTML comment +2. created by tool: _tool-name_ HTML comment +3. tool version: _tool-version_ HTML comment +4. content source: _path_ HTML comment +... possible multiple content source HTML comments ... +n. [template-header.html])(template-header.html) +n+1. _content generated by a tool such as pandoc_ +n+2. [template-footer.html](template-footer.html) + + +### [test.html](test.html) + +A test page for [ioccc.css](../ioccc.css). + +This page was modeled after the above mentioned templates +with the "_content generated by a tool such as pandoc_" +replaced with some j-random test text. + ### [winner_dir.txt](winner_dir.txt) diff --git a/tmp/template-footer.html b/tmp/template-footer.html new file mode 100644 index 000000000..8e06bb295 --- /dev/null +++ b/tmp/template-footer.html @@ -0,0 +1,17 @@ + + + + +
+ +