-
Notifications
You must be signed in to change notification settings - Fork 129
Version Roadmap
Karl Stolley edited this page Apr 16, 2020
·
29 revisions
A rough idea of where Ed is headed. Jump to current work.
✅ 1.0.3
- Small fixes, documentation, etc. that I catch while getting up to full speed on the codebase
- Whitespace normalization (#8)
✅ 1.1.0
- Modernization and simplification of
<head>semantics and metadata - Include
prefixattributes for OpenGraph and Dublin Core metadata -
<head>metadata better organized in relation to the default theme
- Semantic HTML rewrite, esp. sectioning semantics (non-semantic
<div>elements will remain until 3.0 version) - Correct idiosyncrasies/inconsistencies in templates, particularly classes (e.g.,
.poetryvs..poem,.bylinevs..citation) - Backward-compatible adjustments to CSS only to prevent improved semantics from affecting visual presentation; nothing should look any different in
1.2.x
- Improvements to README and other supporting files
- Corrections to example Ed texts
- Improvements to the
gemspecfile
- Clean up CSS formatting
- Apply more uniform comment styles and spacing
- Improve organization of styles
- Reduce style duplication/in-block overrides
- Non-destructively remove inline JavaScript
- Refactor JavaScript files to leverage event listeners, etc.
- Revisit CSS for accessibility and touch-screen friendliness (see for e.g., this issue)
- Improve keyboard accessibility for navigation (see this pull request)
- Rewrite as necessary to conform to Jekyll 4 release
- Go all in on Gem-based theme for GitHub-friendly deployment
- No external dependencies beyond Jekyll's own
- All core feature customization possible through
_config.yml; no need to touch layouts or assets
- Move to new
jekyll-theme-ed2repo and Gem (in keeping with the convention for naming Jekyll themes as Gems; see Themes documentation on Jekyll). A separate repo, away fromminicomp/ed, is necessary to introduce the breaking changes in 2.x without messing up older sites. - GitHub does not appear to respect Bundler version specifiers when building
remote_themesites. So the repo is thereforejekyll-theme-ed2, in anticipation of a possiblejekyll-theme-ed3
- Create a command-line installer, both scriptable and interactive (see https://github.com/karlstolley/jekyll-theme-open-course/blob/master/exe/jtoc for an in-progress example; note that the
mercenarygem ships with Jekyll, so it does not violate the external-dependency principle above) - Employ git hooks and tests for linkrot @muziejus
- Deployment strategizes integrated or documented for different services (wikify?)
- One-click deployment strategies? @muziejus
- Separate demo repository; clean the demo files from the course
jekyll-theme-ed2repository (could set up on an orphan branch) - Improved demos (examples using, perhaps, Gutenberg versions? > script to automatically import?)
- Facebook/analytics isolation
- Move inlined content, URLs, identifiers (e.g., Alex’s Facebook stuff) as parameters into
_config.ymlunder anednamespace - Add checks across all includes and layouts for presence of any namespaces parameters
- Rewrite and version (1.0, 2.0) documentation to steer users away from all of the directory copying, etc. Only need to do that when overriding an include, template, etc. that’s part of the gem-based theme
- Maintain https://minicomp.github.io/ed/ as the project page for Ed., but serve from an orphaned
gh-pagesbranch detailing the project's current and past versions - Accommodate advances to the project and also versioned URLs at something like
minicomp.github.io/ed/v1/,minicomp.github.io/ed/v2/
- Structural template rewrite: semantic structuring elements only
- Full HTML validation @muziejus
- Fully unobtrusive CSS and JavaScript (no inlined styles; no calls to deprecated JavaScript event attributes (e.g.,
onclickorjavascript:-prefixedhrefvalues - Accessibility improvements (ARIA attributes; ARIA in HTML principles) @muziejus
- Style sheet rewrite and new look > full departure from the look and code for the Poole/Lanyon theme
- Use of modern CSS layout modules (Grid and Flexbox, where appropriate)
- Judicious use of SCSS (again, a core Jekyll dependency)
- Vanilla JavaScript (no more third-party dependencies)
- Third-party libraries (e.g., hypothesis) disabled by default; enabled via
_config.yml
- Create a separate
ed-starterorphan branch that contains only_texts(using.keep),_config.yml, andGemfile; perhaps also 404, search, etc. GitHub pages will serve from that branch. - Clean up the
jekyll-theme-ed2repo to remove any unnecessary content from the Gem; update the.gemspecfile accordingly - Unclear at the moment what to do with
optionaldirectory and its contents, or the place those have in the Ed project
- Progressive web app foundations
- Caching, offline