- add `script/test-render-translation.js` to render all translated content to catch malformed liquid that would cause render errors
- improve test output for `script/fix-translation-errors.js` and `tests/content/lint-files.js`
- make it so `script/reset-translated-file.js` can handle files that have been renamed
* create script to fix easy-to-fix frontmatter errors in translation
* improve reset-translated-file.js: allow reverting to the same file from `main` branch
* fix release-notes as well
* also lints liquid in frontmatter
* Install liquidjs, uninstall liquid
* Comment a bunch of stuff out to get going
* Fix invalid includes
* Fix all includes (path => 'path')
* Get the homepage to render
* Do link-in-list kinda
* Revert "Fix all includes (path => 'path')"
This reverts commit d6fead646353aa5041d9229470a62a1d487456b9.
* Support non-dynamic partials
* Extract getTemplate helper
* Do remaining custom Liquid tags
* Fix some custom tag bugs
* Moar bugs
* Re-add link tag
* Cleaner diff
* Actually fix extended markdown tags
* Fully comment out version matchers
* Smaller diff
* Rely only on Liquid internals for conditionals
* Use new operators option in Liquid engine
* Fix link.js
* Don't need options
* Updoot to the right doot
* Fix some bugs
* Fix another bug
* Pass a test
* Fix the translate bits
* Adjust a test
* Fix another invalid Liquid bug
* Two more borked translations
* Found some more
* Don't need this change
* Revert "Don't need this change"
This reverts commit a916d619747f0492865a69c3e237c97c4d4e7fad.
* This should fix the broken links
* Missed one
* Revert "This should fix the broken links"
This reverts commit e6c2cc0d9055d958706260d57edbe293281c150e.
* Revert "Missed one"
This reverts commit bbe1f23baf16e020f6f7931589decb1afc75dfbd.
* Updoot liquidjs
### Why:
A lot of content gets mistranslated, some common patterns are: frontmatter date and enums getting translated, liquid tags get translated or go missing during the translation process. These translation errors are tough to catch, especially when they often come in huge PRs.
### What's being changed:
- Frontmatter is also getting linted against schema as part of `lint-files`
- When an environment variable `TEST_TRANSLATION` is passed,
- `lint-files` will run its tests against all files that have been newly translated (by git-diffing between `translations` branch and `main` branch), and
- results are outputted using a custom jest reporter. The output is formatted in a way that makes it easy to exclude the problematic translated files from being merged, and to share the errors with [localization support](https://github.com/github/localization-support/issues/489).
- Run the implemented translation test as part of the existing `Node.js Tests - Translations` workflow
* Add markdown parsing dependencies
* Use it for the link test
* Use ast tests for hard-coded language
* Dedupe visiting for links
* Add new mdast utils to check-deps exclusions
* Create basic layout
* Create stubbed out release note YAML
* Get a real implementation going
* Simplify using site-data
* Add a real page to send from render-page.js
* Use array of patches
* Render patches
* Add sidebar and breadcrumbs
* Reverse order
* Add date
* Tweak labels
* Redirect to entweb for missing versions
* Render patch.intro
* Move to separate files for patches
* Show support for RC versions
* Improve some comments
* Sticky headers!
* Remove a console log
* Improve example formatting
* Add a link on /admin
* Add a schema and test
* Move to /index.md, add version_num filter
* Improve layout
* Use <details>
* Placeholder more realistic notes
* Don't require links in index pages
* Remove admin/index link for now
* Remove unused frontmatter field
* Add a test for middleware
* Fix remaining YAML file to test CI
* Update 2-rc.yml
* Don't call it RC
* Just push
* Make a main a div
* Fix a borked class
* Lint YAML files
* Improve Download link
Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com>
* Improve check order
* Move to contextualizers
* Use alternative version thing
Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com>
* Move back to `release-notes.md`
* Use version for anchor IDs
* Undo category-pages test change
* Fix borked details layout in Chrome
* Improve mobile setup
* Render markdown in note tags
* Use allVersions[currentVersion] again
Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com>
* Undo change to extended-markdown
* Add whitespace so it renders markdown bits
* Remove 2-22 files
* Add check for any release notes
* Fix the failing tests
Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com>
* Add custom hover shadows
* Support avatars
* Add guide-card include
* Use it in product-landing
* Add gradient styles
* Add guides frontmatter
* Use guideArticles instead of full objects
* Add support for authors
* Add support for category header
* Just pass the whole page
* Use it
* guide.url => guide.href
* Use `*.githubusercontent.com`
* Fix mobile card width
* Remove showDescription check
* Use featureLinks.guideCards
* Forgot an if
* Add contextualizers/actions-code-examples
* Use code-example-card include
* Tweak sizing/shadows
* Add a basic filterer
* Some visual tweaks
* labels => tags
* Cleanup some code
* Improve spacing on mobile
* Add "No results!" blurb
* Fix a boog
* Tweak spacing
* Remove support banner
* Improve "No results" state
* Just use login instead of name/avatarUrl
* Change card spacing
* Use circular avatars
* Add "Show more" button
* Add margin beneath "Guides"
* Use smaller font
* Assume github.com for code examples
* Show two columns at small screen
* Make "Show more" a btn
* Use the "repo" octicon
* Link to contributing guide
* Use a YAML file instead of a middleware
* Link straight to the file
* Fix some wonky markuip
* Fix a broken link
* Fix the borked test
* Allow variables that aren't strings
* Fix remaining tests
* Add back changes from prior to purge
* Manually fix some invalid Liquid
* Updoot render-content
* Improve test messages to show correct output
* Run el scripto
* Pass the remaining test
* remove FEATURE_NEW_VERSIONS from feature-flags.json
* remove process.env.FEATURE_NEW_VERSIONS from include files
* remove process.env.FEATURE_NEW_VERSIONS from lib files
* remove process.env.FEATURE_NEW_VERSIONS from middleware files
* remove process.env.FEATURE_NEW_VERSIONS from script files
* remove process.env.FEATURE_NEW_VERSIONS from test files
* update test fixtures to use new versions as canonical fixtures