* Add support to build archive.istio.io's landing page. (#4036)
(cherry picked from commit 8d5c03b060)
* Site improvements
- A few small additions that make it possible to build archive.istio.io
directly from here, instead of having a dedicated set of hacks in
the admin-sites repo.
(cherry picked from commit fb67031c07)
- Substantially simplify logic that deals with releases & release notes.
- Make it easier to add a new release to the site. THere are fewer things to
change as the site infra can figure more stuff out on its own.
- Make it so release notes can be added in one language without require them
to be added in the other language.
- Replace the ugly "a new version is available" callout on older release note
pages with a popup that only shows up when you click on the download button.
(cherry picked from commit d458423cf4)
- Added the text_hack shortcode to embed text blocks in a tabset in a list. This fixes the
indenting problem in that case. It's a hack, thus the name, but it works.
- Added a download button in the footer of each page.
- Tweaked the rendering of the horizontal lines in the panels on the home page to
improve appearance and avoid occasional funny rendering.
- Run the SVG optimizer on the site content to reduce the size of a few newly added/updated
files.
- Port all the JavaScript to TypeScript. Finally, a typed language to
eliminate a whole class of avoidable errors. This ends up being a line-
by-line affair, mostly about adding type information on functions and
some function calls. This also involved adding quite a few null checks
(since TypeScript tracks nullness). This results in the code being
inherently more robust in the face of somehow malformed HTML which
doesn't contain what the script code is expecting to find.
- Ditch the recently added JSHint linter in favor of tslint.
- Implement missing keyboard support in the sidebar.
- Fix keyboard logic in tabs, preventing the strip from being
navigated into.
- Fix keyboard navigation to the print/download/copy buttons in text blocks.
When using the keyboard, those buttons didn't become visible.
- Use common code for menu, tabset, and sidebar navigation logic.
- Fix menu width to use font-size scaling instead of a fixed pixel with.
Also made the menu a bit wider to avoid unsightly wrapping in the menu.
- Set a minimum width for text boxes in order to avoid the print/download/copy
buttons from rendering poorly.
* zh: /docs/setup/kubernetes/additional-setup/config-profiles/index.md
* fixed: link to en
* removed empty lines
* fixed: ignore istio.io/edit/ from lint_site.sh
- Added a test suite to test out the different compositions of
site features.
- Substantially improve the composability of site features
(callouts, tabs, text blocks, boilerplates, lists). You can
now more confidentally mix & match these in any combination
and have a pretty good chance it'll render correctly.
- Add a test suite for various compositions of site features.
- Substantially improve composition of various site features to eliminate bad
interactions. It's not perfect yet, but it's much better. The one thing still
broken is "a text block inside a warning in a list in a tab". There's still
something funny going on there, but I have some ideas for later.
- Added a new linter check to detect misuse of https://preliminary.istio.io in docs,
and fixed one offending instance.
- Add linter support to detect internal links to aliases. Those are now flagged as
bad links so the source needs to be updated to point to the real destination,
avoiding the user a redirect.
- Fixed occurences of links to aliases.
- Now only load popper.js on pages that use popups in order to improve
load times.
- Now that the scripts are loaded with 'defer', no need to trigger all
behavior via a DOMContentLoaded event handler as the scripts will all
naturally run after the DOM has been loaded.
- Use a considerably simpler approach to copy to the clipboard in code
blocks. This saves around 10K of script code believe it or not.
- Refactor script code into smaller more manageable files.
- Use consistent naming style in script code.
- Stop using Bootstrap's dropdowns and popovers in favor of custom implementation.
There are only a few uses of Bootstrap to purge before I can ditch
the dependency on the Bootstrap & JQuery libraries, which will speed
up page loads.
- Find a few more static strings that should come from the xlation
dictionary instead.
- Upgrade from UglifyJS to Babel as a JS preprocessor. This lets me use modern ES6 syntax
in the JS code.
- Update JS code to leverage ES6.
- Remove most dependencies on JQuery for faster & smaller code. Once I remove the
dependency on the Bootstrap library, then the dependency on JQuery will also completely
go away.
- Ensure that references to GitHub content use the proper annotations so
we get links to the correct branches.
- Added a check to make sure content is not using blockquotes (instead of
{{< warning >}}, {{< tip >}}, and {{< idea >}}. This check is currently
disabled, pending the Chinese content being updated.
- Fix a few violations of these new checks.
Updated tablegen.py to process the configuration options from the values.yaml
files under /istio/install/kubernetes/heml/subcharts directory and the
remaining configuration options like global, istiocoredns, istio_cni from
values.yaml under /istio/install/kubernetes/helm/istio directory.