Here is a test web page created using Ignite by Paul Hudson. Ignite creates a full web page or even web site programmatically. Programmatically it resembles how user interfaces are made using SwiftUI: declarative, code looks more like data than code, hierarchical structure.
Usage
User runs “some” app that loads the list of club members into memory. So input is a Level2.json data file. This generates a web site (HTML, CSS, JS, images) as a directory with a few files and small subdirectories. This can optionally be previewed on a local web server (provided by Ignite) - but previewing is not essential because the site’s layout is determined by the app.
Copy the directory to a target server using ftp. Requires some know-how and knowing the ftp credentials for the server.
View site in browser. In this case only a single web page is generated even though it has links to other pages. The URLs for those links are provided in the Level 2 data. The links may point to a different server.
When Level 2 input data needs updating, edit the Level2.json file and regenerate the web page using steps 1 and 2.
Plan
[x] #450
It generates a SwiftUI Mac app that generates the website. It should be on a Mac (rather than mobile device) because it generates a bunch of files. And mobile devices are not very file or development oriented.
[ ] Load fgDeGender.level2.json from an hardcoded location into CoreData.
[ ] Use Ignite to generate a hard-coded directory tree for the membership list of that club
[ ] Test usability of output on web site and adapt as necessary. Doesn’t need to be the ultimate file.
[ ] Generalize by using the root.level1.json file to allow the user to choose the appropriate club. Not all clubs will have level2.json files yet.
[ ] Generalize by using a different output path per club.
[ ] Could ultimately provide a preview of the web page inside the app.
[ ] Could ultimately add functionality to check the level2.json file against a schema.
Here is a test web page created using Ignite by Paul Hudson.
Ignite
creates a full web page or even web site programmatically. Programmatically it resembles how user interfaces are made using SwiftUI: declarative, code looks more like data than code, hierarchical structure.Usage
Level2.json
data file. This generates a web site (HTML, CSS, JS, images) as a directory with a few files and small subdirectories. This can optionally be previewed on a local web server (provided byIgnite
) - but previewing is not essential because the site’s layout is determined by the app.ftp
. Requires some know-how and knowing theftp
credentials for the server.Level 2
data. The links may point to a different server.Level 2
input data needs updating, edit theLevel2.json
file and regenerate the web page using steps 1 and 2.Plan
fgDeGender.level2.json
from an hardcoded location into CoreData.Ignite
to generate a hard-coded directory tree for the membership list of that clubroot.level1.json
file to allow the user to choose the appropriate club. Not all clubs will havelevel2.json
files yet.level2.json
file against a schema.