By implementing a method for equality equal-to? and two extraction methods equal-hash-code-of and equal-secondary-hash-code-of we can define our own object comparison rules.
Instead of changing CSS style for Your Racket projects documentation, You may be interested in compiling Markdown files generated form Scribble source into HTML documentation website.
Creating MkDocs project
Create docs directory and mkdocs.yml config file in current directory, along with a dummy index.md file in docs folder.
1
mkdocsnew.
Edit the name of the project.
Replace Racket-Project with your project name.
12
---site_name:Racket-Project
Building Scribble
Generate markdown files form scribble documentation.
Replace Racket-Project.scrbl with path to your scribble documentation main source file.
Compile HTML documentation from the markdown source.
1
mkdocsbuild
HTML files should appear in the site directory.
Running the server
Some features, like search for example are only available when running the mkdocs server.
1
mkdocsserve
Caveats
Some scribble functions do not look good or work correctly for markdown-to-HTML compilation by MkDocs.
table-of-contents - looks like a source block
index-section - letter links do not work
Example configuration
1 2 3 4 5 6 7 8 9101112131415161718
site_name:Racket-Ebuildsite_author:xgqt@riseup.netsite_description:library to ease ebuild creationsite_url:https://gitlab.com/gentoo-racket/racket-ebuildrepo_name:gentoo-racket/racket-ebuildrepo_url:https://gitlab.com/gentoo-racket/racket-ebuildplugins:-searchtheme:name:materialextra:social:-icon:fontawesome/brands/gitlablink:https://gitlab.com/gentoo-racket/racket-ebuild
Instead of using Ansible, Python, Yaml or Scheme we might use something similar to this for simple configuration, or if gets merged to upstream Portage the better.
Worth mentioning is the idea from Michał Górny who proposes to configure portage with toml files, like the example given in the bug report.
Racket provides a executable plt-games, when ran (from console) it opens a menu of miscellaneous games, among them: jewel, minesweeper, aces, spider, checkers. & more (20 games total).
#lang racket/base(requireracket/gui/baseracket/mathplot)(plot-new-window?#true)(plot3d(surface3d(lambda(xy)(*(cosx)(siny)))(-pi)pi(-pi)pi)#:title"An R × R → R function"#:x-label"x"#:y-label"y"#:z-label"cos(x) sin(y)")
Browser
There's a included library to render web pages, just "(require browser)".
You can use Racket's Foreign Function Interface to interact with non-Racket libraries to make use of very fast libraries written in (mainly) FORTRAN & C.
then, read the "raw" ORG files in 'posts' directory or make the HTML version executing the 'dev.sh' script (remember that you will need GNU Emacs to render the posts into HTML files).
Then, you can just git pull to read the news whenever you wish, maybe do it with cron or a script that will pull many repos at once, for example with this script.
RSS
Org-Static-Blog creates a RSS Feed file rss.xml, so to subscribe add the link https://xgqt.gitlab.io/blog/rss.xml to your favorite RSS reader.