-
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
prefix
attributes 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.,
.poetry
vs..poem
,.byline
vs..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
gemspec
file
- 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-ed2
repo 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_theme
sites. 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
mercenary
gem 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-ed2
repository (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.yml
under aned
namespace - 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-pages
branch 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.,
onclick
orjavascript:
-prefixedhref
values - 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-starter
orphan 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-ed2
repo to remove any unnecessary content from the Gem; update the.gemspec
file accordingly - Unclear at the moment what to do with
optional
directory and its contents, or the place those have in the Ed project
- Progressive web app foundations
- Caching, offline