Commit Graph
23 Commits
Author SHA1 Message Date
Landon Curt Noll e9717e6a48 checkpoint on fixing topbar for non-JavaScript browsers 2024-04-24 22:42:06 -07:00
Landon Curt Noll b84f8cbe28 improve topbar
The icons used to show the menu open (`png/hamburger-icon-open.png`)
and closed (`png/hamburger-icon-closed.png`) have been added.

Changed `inc/topbar.default.html` to use the png icons instead
of a svg file.

A new page `nojs-menu.html` has been added for when
JavaScript is disabled.

Changed `bin/gen-top-html.sh` VERSION from to "1.4.4 2024-04-21"
to "1.4.5 2024-04-23".

Sorted top sections in `inc/md2html.cfg` and added
a section for `nojs-menu.md`.

Fixed `ioccc.css` so that the topbar and related pulldown
menus had the correct background colour.

Ran `make www` to perform the above.

TODO: Detect when JavaScript is disabled and display:

		Please
		Enable
	      JavaScript

      As a link to the new `nojs-menu.html` page.

TODO: Fix a problem on wide screens where some of
      the righthand edge pulldown menus are cutoff.

TODO: Fix the 5 HTML 5 errors introduced by the topbar code.
2024-04-23 23:47:03 -07:00
Landon Curt Noll e8395a2eea improve colors in CSS, update sitemap.xml 2024-04-23 18:37:18 -07:00
Landon Curt Noll afaa8aad3a fix font colors, and link udnerlines 2024-04-23 17:32:11 -07:00
Landon Curt Noll 97f6da1247 fix topbar to work on mobile devices
The topbar, by way of JavaScript, now works
on mobile devices such as cell phones and
tablets.

Internal links for entries from 1984 thru 2015
have been adjusted.

Ran `make www` to perform the above.

TODO: Fix some color issues on topbar.

TODO: More testing!
2024-04-22 15:05:59 -07:00
Landon Curt Noll c5848302e8 add new topbar, improve the look & feel of web pages
Thank you, @chris-sab, for your excellent work and for helping us
commit this alpha version of the topbar.

As part of this work, the following HTML sections were removed:

* begin-row
* begin-leftcolumn
* sidenav
* end-leftcolumn
* begin-rightcolumn
* before-content
* end-rightcolumn
* end-row.default

Also added a new HTML section, just above the "header" section:

* topbar

The web site now as a more modern looking topbar, thanks to the
work of the contractor (GitHub user @chris-sab) who is working on
issue #2273.

Performed `make www` to implement the above and test under macOS.

TODO: Fix the Responsive Web Design to deal with
      the new topbar system.

TODO: Improve the topbar.  What is there now is
      just an alpha version.

TODO: Decide what to do with `png/ioccc.png`.
      Remove it make selective use of the image on certain top level
      pages lower down?

TODO: The changes to `ioccc.css` causes some
      formatting problems with pages such as `location.html` (missing
      blank lines).  Fix formatting problems as needed.

TODO: Fix the "Nu HTML check this web page"
      links on things like the year level _YYYY/index.html_ pages.

TODO: Correct all HTML errors, warnings and perhaps
      informative messages from the Nu HTML check.

TODO: Consider adding color (colour) to the
      web pages in such a way that people with color perception
      challenges can still use the web site.

TODO: For those web browsers that have and allow
      JavaScript, make use of technology such as [Code
      Mirror](https://codemirror.net/) to directly render source
      code (C, shell, Makefile, etc.) with syntax coloring (colouring)
      directly in the browser.  For non-JavaScript browsers, fallback
      to the current use of GitHub source code viewing.
2024-04-16 17:28:39 -07:00
Landon Curt Noll a192eff9b2 rename topnav to navbar
This one of the parts of the change to the [look and feel
change](https://github.com/ioccc-src/temp-test-ioccc/issues/2273#issuecomment-2059754857)
wrote about.

Stay tuned ...
2024-04-16 12:22:49 -07:00
Landon Curt Noll 3919df50fb fix many code whitespace issues
This is a quick that addresses many, but not all, of the whitespace
problems with markdown code blocks and in-line markdown code blocks.
2024-04-04 10:53:35 -07:00
Landon Curt Noll 048969fdc4 move hyphen change in ioccc.css to proper section
Additions, if all all possible, need to go below
the "what follows is ioccc.css specific"  section.
2024-04-01 12:03:51 -07:00
Cody Boone Ferguson 86ddb9ac48 Change 'hyphens: none;' to 'hyphens: manual;'
.. per a comment on GitHub suggesting none is not wanted. Again maybe it
needs to be in a different section or even different html element but
this seems to solve the problem anyway and can be experimented with.
2024-04-01 06:39:25 -07:00
Cody Boone Ferguson 523696a3c0 Remove hyphenation at end of lines in ioccc.css
In other words we won't see text like:

    ... See also the IOCCC FAQ for ad-
    ditional information on the IOCCC.

As I am not sure of the formatting of comments and the organisation of
the different html elements it might be that the CSS for 'p' might need
new comments or it might need to be moved to another section in the file
(which I believe but do not know).
2024-04-01 06:33:00 -07:00
Landon Curt Noll cbc022d864 improve Copyright and CC
The inc/footer.default.html now has a common Copyright and CC BY-SA
4.0 License section for all generated HTML files.

All markdown files have a similar Copyright and CC
at the bottom in the form of an HTML comment.
2024-03-20 00:19:52 -07:00
Landon Curt Noll a7896eb8ae improve HTML rendering
By improving how padding is applied to the right column
and footer, the rendered HTML looks better.

There are still issues, but at least it does not
_suck_ as bad.  :-)
2024-03-19 21:26:21 -07:00
Landon Curt Noll b224e9dbf0 restore IOCCC classes in ioccc.css
When commit 103b45a3d6 was done,
more than just the pandoc defaults were removed.

This restores the IOCCC classes in ioccc.css.
2024-01-15 00:29:59 -08:00
Landon Curt Noll 103b45a3d6 remove Pandoc recommended defaults from ioccc.css
This is just a test.
2024-01-14 23:29:49 -08:00
Landon Curt Noll c6e6201209 release readme2index.sh version 1.0 2024-01-14
The initial release of `bin/readme2index.sh` tool that converts
`READMD.md` and various JSON files such as `.winner.json`
as well as "author/author_handle.json" files.

Applied the `readme2index.sh` tool to generate `2020/ferguson1/index.html`.

We generated the  `2020/ferguson1/index.html` by executing:

```sh
./bin/readme2index.sh -v 3 2020/ferguson1
```

NOTE: This above tool requires **pandoc to be installed**.
See the [pandoc web site](https://pandoc.org) for how
to install.  We used _HomeBrew_ to install it,
but there is also a _macports_ process as well.

NOTE: While the above web page does have formatting issues, it is
a first attempt data driven programmatic web page generation.

Some adjustments can be made by mostly improving `ioccc.css`,
and some perhaps by modifying how `bin/pandoc_wrapper.sh`
invokes pandoc.  But probably most of the improvements can
be made by fixing and improving `ioccc.css`.

TODO: Fix and improve the `2020/ferguson1/index.html`
web page by fixing and improving `ioccc.css`.

Moved scripts and tools needed to generate HTML pages
into a new `/bin` subdirectory.

TODO: Consider getting rid of the [build-ioccc
repo](https://github.com/ioccc-src/build-ioccc) and just use the
`/bin` subdirectory.

NOTE: Some links in the `2020/ferguson1/index.html`
web page do not (yet) exist.

TODO: Once the basic format of the `2020/ferguson1/index.html` web
page is somewhat reasonable, generate `index.html` pages for other
winners.  Generate the year level `index.html' files.
Generate the top level HTML files, including the missing
`location.html` file.

Greatly simplified the `.winner.json` file format,
removing a number of fields that were not strictly needed
for generating an inventory on a `index.html` page.

Updated various versions:

* `bin/gen-author.sh` VERSION="1.3 2024-01-14"
* `bin/gen-inventory.sh` VERSION="1.0 2024-01-14"
* `bin/manifest.winner.json.awk` VERSION="1.0 2024-01-14"
* `bin/pandoc_wrapper.sh` VERSION="1.3 2024-01-14"
* `bin/readme2index.sh` VERSION="1.0 2024-01-14"
* `bin/subst.default.sh` VERSION="1.1 2024-01-14"
* `bin/subst.winner-index.sh` VERSION="1.1 2024-01-14"
* `tmp/gen_path_list.found.sh` VERSION="1.1 2024-01-14"
* `tmp/gen_winner_json.sh` VERSION="1.1 2024-01-14"

The `.winner.json` file format from winner_JSON_format_version
"0.5 2023-11-04" to "1.0 2024-01-14".

All `.winner.json` files have been updated to use the
new `.winner.json` file format.

The manifest (`tmp/manifest.numbers` and `tmp/manifest.csv`) has
updated to use the new `.winner.json` file format.

The following procedure was used to generate the
`tmp/manifest.csv` manifest file:

0. open [manifest.numbers](manifest.numbers) in numbers: modify if/as needed

NOTE: Please try to keep the [manifest.numbers](manifest.numbers) spreadsheet
      in order order.  Use Organize -> Sort -> ((Sort Now)) to sort.

NOTE: Empty fields in the [manifest.numbers](manifest.numbers) spreadsheet
      are not allowed.  By default, a cell that is empty is colored
      as a warning.

1. File -> Export To -> CSV...
    * 1a. `[ ]` Include table names (unset)
    * 1b. Text Encoding: Unicode (UTF-8)
    * 1c. Click ((Save..))

2. Save As: manifest.csv
    * 2a. Select the `tmp` directory

3. Click ((Export))
    * 3a. If needed click ((Replace))

4. Execute ./tmp/[fix_csv.sh](fix_csv.sh)

NOTE: You must run the [fix_csv.sh](fix_csv.sh) in the above
      step in order to make the CSV file usable by other tools.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

5. Execute ./tmp/[gen_path_list.found.sh](gen_path_list.found.sh)

NOTE: The above step silently performs a `make clobber` at the
      top level, and so it takes a bit of time.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

6. Execute ./tmp/[check_path_list.sh](check_path_list.sh)

NOTE: The above step prints nothing and for an exit 0, then
      all is well.  If there is a problem, such as files
      found that are not part of the manifest, or files
      in the manifest that are not found, then an error
      message will be printed and the tool will exit non-zero.
      If errors are reported, go back to step 0 and
      correct the errors.

7. Execute ./tmp/[run_all.sh](run_all.sh) ./gen_winner_json.sh

NOTE: The above step will take a few seconds to run.  It will rebuild
      all `.winner.json` files for all winners.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

8. Execute `git status` and inspect changes

NOTE: Check in changes if and as needed.

NOTE: In a number of shell scripts under `bin/*.sh`,
      and in the `bin/manifest.winner.json.awk` script
      you will find comments of the form:

```
```

This is a note that when tools such as `jnamval` (and `jval` and `jfmt`) are
ready, these gross hacks should be replaced with calls to those tools.
Until they are ready, some must be careful with the layout of JSON files.

A number of bugs and typos have been fixed.

NOTE: Fixing typos in the files touched by this comment is welcome.
      This includes scripts, data files, text files, etc.

The _inventory_order_, _display_as_, _display_via_github_.  and
_winners_text_ fields of the [manifest.numbers](manifest.numbers)
spreadsheet were just set to have some initial values.
As they impact the inventory displayed on `index.html` pages,
their content needs to be improved.

NOTE: Improving the above mentioned fields of the
      [manifest.numbers](manifest.numbers) spreadsheet is welcome.
2024-01-14 22:03:28 -08:00
Landon Curt Noll 36f2e202cc improve IOCCC CSS
Added Left - class for placing things on the left side
Added Right - class for placing things on the left side
Added Disabled - class for making something as if the feature has been disabled

Improved Responsive Web Design, adjusted font sizes and scaling.
Now Default: screen is > 968 pixels wide (> 984 w/padding)
Adapts when screen is > 761 pixels (> 777 w/padding) AND <= 968 pixels wide (<= 984 w/padding)
Adapts when screen is > 500 pixels (> 515 w/padding) AND <= 761 pixels wide (<= 777 w/padding)
Adapts when screen is <= 500 pixels wide: (<= 515 w/padding)

Changed tmp/test,html to help test this new part of the CSS.
2024-01-02 23:18:53 -08:00
Landon Curt Noll bccace12d9 update ioccc.css to print all as if they were not visited
Explicitly set default link to blue.
2023-12-06 02:05:26 -08:00
Landon Curt Noll ee72f68777 test sidenav and topnav colors
Experiment with active and visited colors.

Added links for testing to content of tmp/test.html
as well.
2023-12-06 01:47:32 -08:00
Landon Curt Noll 45feb1a7d9 update ioccc.css
Now code, pre, mono font set starts with "Menlo, Monaco, Consolas"
before going to the other font defaults.

Established IOCCC defaults for body, pre, code, blockquote,
a (link, visited, focus, hover, active).

Added pandoc --standalone defaults for some property settings
that we NOT part of the "Establish IOCCC defaults" set above.

The assumption is that the tools that convert markdown to
HTML via pandoc will NOT use --standalone because we want
finer control over CSS.  Even so, there may be good reasons
to go with most of what pandoc recommends: unless we have
good reason to NOT do so.

Reduce font size to 90% (0.9em) for screen that is >= 401 pixels
AND <= 800 pixels wide.

Reduce font size to 80% (0.8em) for screen is <- 400 pixels wide.

Added print media property based on pandoc --standalone.

This is still rather experimental.
2023-12-06 00:53:12 -08:00
Landon Curt Noll 7d9111cdda update ioccc.css, add HTML templates & test page
The ioccc.css Cascading Style Sheet has updated.
This CSS will serve as a model for generated HTML pages,
especially HTML generated form markdown.
The top level HTML pages will also use this CSS.

This CSS is intended to be functional, black/gray/white, and
good enough for testing purposes.

Added HTML page templates that will be used
by tools in forming HTML pages:

* tmp/template-top.html
* tmp/template-header.html
* tmp/template-footer.html

See the modified
[tmp/README.md](https://ioccc-src.github.io/temp-test-ioccc/tmp/README.md#templates)
for info on the HTML page templates.

Added a test page containing dummy HTML:

* [tmp/test.html](https://ioccc-src.github.io/temp-test-ioccc/tmp/test.html)

This test page was generated from the above mentioned HTML page templates.
It is designed for 3 screen sizes:

* wide screens: 801 pixels wide and larger
* medium-sized screens: 401 pixels to 800 pixels wide
* small-sized screens: 400 pixels wide and smaller

NOTE: Some of top and side bar navigation links do not (yet) work.

If all goes well, the main web site can launch with web pages that
are based on the final ioccc.css.  After the main web site is update,
a web designer can improve the look and feel of the web site by
adjusting the ioccc.css, the HTML templates, and the tools used to
generate HTML content.
2023-11-29 23:35:08 -08:00
Landon Curt Noll 486d3614b8 move ioccc.css to tmp/old-ioccc.css
The previous version of `/ioccc.css`, now `tmp/old-ioccc.css` to make
room for the new IOCCC css being developed.
2023-11-24 19:32:59 -08:00
Landon Curt Noll c0663537cb Add preview of 1984-2019
The 2020 winners are hinted it, but the source code is not there,
nor are the hints. Someone could look into the HTML and
see what was commented out, but that is not a problem because
WHO won is known and the name of their AWARD is known already.
Moreover a number of the winners have talked about what their
entirs do, so the commented out spoiler text is not a bit problem.

One will find HTML commented out with:

    <!-- XXX remove when 2020 is ready
    2020 links here
    XXX remove when 2020 is ready -->

The "XXX remove when 2020 is ready" string is found at the
start and end comment blocks.  Again, soneone could read
what was commented out, but that is OK since most of that
information is known or can be known.  The following files
have such HTML comment blocks in them.

    ./winners.html
    ./years-spoiler.html
    ./years.html

In addition, ./all/summary.txt was modified to not
include the 2020 entries for the momemt.

The 2020 winner code AND write-ups are NOT part of this set.

p.s. The all/all.tar.bz2 does not contain the 2020 source code (yet?).
2020-12-30 16:57:03 -08:00