Common features of WAI resources for interactive lists
Common notes, components and and issue tracking for WAI Website resources (sections) containing interactive lists.
These are:
Netlify hosting is integrated with the WAI GitHub repositories to provide Continuous Deployment (CD). This means the website is public and is rebuilt built on commits to GitHub. Note that these websites are only for the part of the WAI website that list repo contains. The complete public WAI website is built via a different process.
We use a form of GitHub Flow workflow for development.
master
branch is treated as 'published' and the content may appear in the public WAI website at any timeUsing a draft Pull Request ensures that everyone in the team can esaily view and discuss the code, access the website and even provide updates. Netlify GitHub integration adds information to the PR allowing easy access to the status and the built preview website for the branch.
Once work is ready to be incorporated in the WAI website the PR should be marked ready for review and the WAI website team contacted to supervise merging to master. Note the resource code needs to be initially integrated into the WAI website. Once integrated, any code on master will appear next time the WAI site is updated.
So in summary, devlopment workflow is:
Note this is all by convention as currently we do not enforce the flow with GitHub required reviews and protected branches etc.
npm i -g netlify-cli
Enable symbolic links
and Use windows terminal
are checkedgit clone
command will throw permission errors for creating the links.gem install jekyll bundler
git clone http.... wai-XXX
- check that _data/navigation.yml
is indeed a symb linkcd .../wai-XXX
git submodule update --init --remote
- pulls in the content under _external/
bundle install
- install all the Gems (modules)netlify link
accept the git remote option or otherwise find the w3c\site that exists for the repogit submodule update --init --remote
update various shared resources like the navigation and languagesbundle exec jekyll build --config '_config.yml,_config_staging.yml'
- run Jekyll SSG to build the sitenetlify build
command runs both of the above for conveniencenetlify dev
runs a dev webserver server and open the website in a browser - no file watch, HMR etc so type ^C and re run to re buildRather than using the Netlify dev server, Jekyll has it's own which supports -livereload
for automatic browser refresh of code changes (not HMR). However this did not work on Windows due to problems with the EventMachine gem. It might now be fixed so we can try the following:
'wdm', '>= 0.1.0' if Gem.win_platform?
to stop file system pollingbundle exec jekyll serve --livereload