* Improve keyboard a11y of header menu dropdown This commit also includes some cleanup of unnecessary functions that seemed to degrade performance. Closes https://github.com/forem/forem/issues/1154 * Add temporary focus style on navigation-button * Put menu items in a list * Adjust menu button based on VoiceOver testing * Refactor menu logic to be reusable/work on touch * Preserve admin link visibility * Focus on first item on menu open * Clean up some HTML and CSS * Apply suggestions from code review Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com> * Ensure menu hides on click outside * Rename toggle function and adjust formatting * Update nav button focus style * Clean up padding on header avatar focus style * Make button show focus state for keyboard only Using .focus-visible:focus targets keyboard focus and eliminates a flash of the blue border on click before focus is moved to the child item (which also has no focus style on mouse click) * Update app/views/layouts/_top_bar.html.erb Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com> * Add some defensive programming * Removed initializeTouchDevice from base.js.erb * navigation-butt ID is now member-menu-button * Moved all the logic from initializeTouchDevice.js into a pack file/utilities. * committing re-ordered schema after setup * add tests for initializeTouchDevice * remove some unneeded html setup * make sure menu doesn't close if user tabs back from sign out * Revert "committing re-ordered schema after setup" This reverts commit a41a1c861cca3b97d8a7b8a99268b8afaae9f028. * optimized code * small tweaks, only show outline when focused Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com> Co-authored-by: rhymes <rhymes@hey.com> Co-authored-by: Nick Taylor <nick@dev.to> Co-authored-by: Suzanne Aitchison <suzanne@forem.com> |
||
|---|---|---|
| .. | ||
| .static | ||
| admin | ||
| backend | ||
| contributing | ||
| creators | ||
| design | ||
| frontend | ||
| getting-started | ||
| installation | ||
| maintainers | ||
| technical-overview | ||
| tests | ||
| .gitdocs.json | ||
| .nvmrc | ||
| .ruby-version | ||
| api_template.hbs | ||
| api_v0.yml | ||
| faqs.md | ||
| Gemfile | ||
| licensing.md | ||
| Makefile | ||
| netlify.toml | ||
| readme.md | ||
| self-hosting.md | ||
| troubleshooting.md | ||
| items | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Welcome to Forem's developer documentation
On this site you'll find instructions to setup a local instance of Forem, documentation on the architecture of Forem, how to contribute, and many other useful documents.
This documentation site is the product of a number of volunteer contributors working alongside the Forem Core Team, special thanks to all those who have contributed to the documentation.
Running the documentation locally
Like Forem, this site is open source and the code is hosted on GitHub. If you find any incorrect information, or a even a typo, we'd love to see a pull request.
Forem's documentation is built with GitDocs NodeJS library.
To start the gitdocs server, you should run yarn gitdocs serve from the root
of the forem project or from the /docs directory.
yarn gitdocs serve
This will start a server where you can browse the documentation: http://localhost:8000/
If you add new pages or rename existing pages, you'll need to restart the server for those changes to take effect.
Contributing to the docs
If you're looking for more information on contributing, check out the Contributing guide.