Add example OpenAPI document, iframe example, video file, and keys backup CSV#375
Add example OpenAPI document, iframe example, video file, and keys backup CSV#375leecalcote merged 3 commits intomasterfrom
Conversation
…ckup CSV - Created a minimal OpenAPI document (example.json) for Swagger UI and Redoc examples. - Added an iframe example HTML file (frame-example.html) demonstrating the use of the Docsy iframe shortcode. - Included a video file (flower.mp4) for demonstration purposes. - Added a CSV file (keys-backup.csv) containing exported keys and their associated roles and permissions. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
|
There was a problem hiding this comment.
Pull request overview
This PR adds a “content formatting examples” section to the Hugo site, including demo content, shortcode aliases, and supporting static assets (OpenAPI doc, iframe HTML, embedded design JS, images/video), along with a couple of build/dependency tweaks to support local preview.
Changes:
- Added many
draft: trueMarkdown pages undercontent/content-formatting-examples/to demonstrate Hugo/Docsy/academy-theme shortcodes and Markdown formatting. - Added supporting static demo assets (OpenAPI JSON, iframe HTML, embedded Cytoscape-based design JS, images, CSV).
- Updated build tooling/dependencies (Makefile
cleanbehavior; autoprefixer/postcss versions; hugo params; go.mod version line).
Reviewed changes
Copilot reviewed 63 out of 74 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| static/data/csv/keys-backup.csv | Adds a CSV “keys backup” export used for csvtable examples. |
| static/content-formatting-examples/shortcode-demo/frame-example.html | Adds a local HTML page for the Docsy iframe shortcode demo. |
| static/content-formatting-examples/openapi/example.json | Adds a minimal OpenAPI 3.0 doc for SwaggerUI/Redoc demos. |
| static/content-formatting-examples/embedded-design-deploy-meshery-using-meshery.js | Adds a Cytoscape-based embedded design demo script. |
| package.json | Bumps autoprefixer and postcss devDependency versions. |
| package-lock.json | Locks updated dependency versions pulled in by the bumps. |
| Makefile | Changes clean to also run setup and site. |
| layouts/shortcodes/lab-intro-preview.html | Adds a helper shortcode to preview scratch-stored lab intro content. |
| layouts/shortcodes/hugo-details.html | Adds a local alias for Hugo’s details shortcode behavior. |
| layouts/shortcodes/docsy-pageinfo.html | Adds a local alias for Docsy pageinfo shortcode. |
| layouts/shortcodes/docsy-alert.html | Adds a local alias for Docsy alert shortcode. |
| hugo.yaml | Adds params.buildCondition: examples for conditional-text demo. |
| go.mod | Updates the Go version line. |
| content/content-formatting-examples/_index.md | Adds the landing page that links to all formatting/shortcode demos. |
| content/content-formatting-examples/alerts.md | Adds alert variant examples. |
| content/content-formatting-examples/blocks-cover-link-down/index.md | Adds Docsy cover + link-down example content. |
| content/content-formatting-examples/blocks-cover-link-down/background.png | Adds a page resource background image for the cover example. |
| content/content-formatting-examples/blocks-cover-link-down/logo.png | Adds a page resource logo image for the cover example. |
| content/content-formatting-examples/blocks-lead.md | Adds Docsy blocks/lead example content. |
| content/content-formatting-examples/blocks-section-feature.md | Adds Docsy blocks/section + blocks/feature example content. |
| content/content-formatting-examples/card.md | Adds Docsy card example content. |
| content/content-formatting-examples/cardpane.md | Adds Docsy cardpane example content. |
| content/content-formatting-examples/chapterstyle.md | Adds academy-theme chapterstyle example content. |
| content/content-formatting-examples/code.md | Adds basic code block and inline code examples. |
| content/content-formatting-examples/collapsible.md | Adds a collapsible details example using details. |
| content/content-formatting-examples/comment.md | Adds Docsy comment shortcode example content. |
| content/content-formatting-examples/conditional-text.md | Adds Docsy conditional-text example tied to params.buildCondition. |
| content/content-formatting-examples/csvtable.md | Adds academy-theme csvtable example content. |
| content/content-formatting-examples/csvtable-roles.md | Adds academy-theme csvtable-roles example content. |
| content/content-formatting-examples/custom-org-shortcode.md | Adds an example invoking the repo-local org shortcode. |
| content/content-formatting-examples/docsy-alert.md | Adds a page demonstrating the Docsy alert alias. |
| content/content-formatting-examples/docsy-pageinfo.md | Adds a page demonstrating the Docsy pageinfo alias. |
| content/content-formatting-examples/embedded-design.md | Adds a page showing meshery-design-embed usage and output. |
| content/content-formatting-examples/figure.md | Adds Hugo figure shortcode example content. |
| content/content-formatting-examples/footnotes.md | Adds Markdown footnotes example content. |
| content/content-formatting-examples/highlight.md | Adds Hugo highlight shortcode example content. |
| content/content-formatting-examples/hugo-details.md | Adds a page demonstrating the Hugo details alias. |
| content/content-formatting-examples/iframe.md | Adds Docsy iframe shortcode example content. |
| content/content-formatting-examples/image-styling.md | Adds Markdown image styling and HTML override guidance. |
| content/content-formatting-examples/image.md | Adds academy-theme image shortcode example content. |
| content/content-formatting-examples/imgproc/index.md | Adds Docsy imgproc example content using page resources. |
| content/content-formatting-examples/imgproc/logo.png | Adds a page resource image used by imgproc example. |
| content/content-formatting-examples/instagram.md | Adds Hugo instagram shortcode example content. |
| content/content-formatting-examples/lab-intro.md | Adds academy-theme lab-intro example plus preview helper usage. |
| content/content-formatting-examples/lists.md | Adds ordered/unordered/task list Markdown examples. |
| content/content-formatting-examples/local-video.md | Adds academy-theme local-video shortcode example content. |
| content/content-formatting-examples/logo.png | Adds an image asset used in examples. |
| content/content-formatting-examples/markdown-basics.md | Adds basic Markdown formatting examples. |
| content/content-formatting-examples/meshery-design-embed/index.md | Adds academy-theme meshery-design-embed example content. |
| content/content-formatting-examples/param.md | Adds Hugo param shortcode example content. |
| content/content-formatting-examples/qr.md | Adds Hugo qr shortcode example content. |
| content/content-formatting-examples/readfile.md | Adds Docsy readfile shortcode example content. |
| content/content-formatting-examples/redoc.md | Adds Docsy redoc example content. |
| content/content-formatting-examples/ref.md | Adds Hugo ref shortcode example content. |
| content/content-formatting-examples/relref.md | Adds Hugo relref shortcode example content. |
| content/content-formatting-examples/responsive-images.md | Adds responsive image rendering examples. |
| content/content-formatting-examples/swaggerui.md | Adds Docsy swaggerui example content. |
| content/content-formatting-examples/svg.md | Adds academy-theme svg shortcode example content. |
| content/content-formatting-examples/tabpane-tab.md | Adds Docsy tabpane + tab example content. |
| content/content-formatting-examples/tabpanel.md | Adds a tab panel component example page. |
| content/content-formatting-examples/tables.md | Adds Markdown tables examples. |
| content/content-formatting-examples/theme-alert.md | Adds academy-theme alert example content. |
| content/content-formatting-examples/theme-details.md | Adds academy-theme details example content. |
| content/content-formatting-examples/theme-pageinfo.md | Adds academy-theme pageinfo example content. |
| content/content-formatting-examples/usestatic.md | Adds academy-theme usestatic example content. |
| content/content-formatting-examples/version.md | Adds academy-theme version shortcode example content. |
| content/content-formatting-examples/vimeo.md | Adds Hugo vimeo shortcode example content. |
| content/content-formatting-examples/x.md | Adds Hugo x shortcode example content. |
| content/content-formatting-examples/youtube.md | Adds Hugo youtube shortcode example content. |
| content/content-formatting-examples/background.png | Adds a shared background image asset for examples. |
| assets/icons/exoscale-demo.svg | Adds an SVG icon used by the svg shortcode example. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Exported at,2026-04-01,,,,,,,,,,,, | ||
| Category,Function,Feature,Workspace Admin,Team Admin,Organization Admin,Provider Admin,User Role,Support Role,Audit Role,Keychain ID,Key ID,Inserted,Local Provider | ||
| Infrastructure,Create cluster,Allows creating SKS clusters,X,X,X,,X,,,kc-1,key-1,2026-04-01,local | ||
| Infrastructure,Delete cluster,Allows deleting SKS clusters,X,,X,,,,,kc-2,key-2,2026-04-01,local | ||
| Security,Rotate API key,Allows rotating API keys,,X,X,X,,,X,kc-3,key-3,2026-04-01,local No newline at end of file |
There was a problem hiding this comment.
This CSV is described as an export of keys/roles. Even though the values look like placeholders, committing anything that resembles a keys backup to the repo is high-risk and can be mistaken for real credentials. Consider removing this file from version control (or moving it to a clearly fake fixture like keys-backup.example.csv with obviously dummy values and a header note stating it contains no real secrets).
| #embedded-design-c811e9f4-2522-4eb6-b775-7475545356d8 .embed-canvas-container { | ||
| height: 100%; | ||
| width: 100%; | ||
| background-color: "inheirt"; | ||
| } | ||
| #embedded-design-c811e9f4-2522-4eb6-b775-7475545356d8 .water-mark{ | ||
| background: "transparent"; | ||
| padding: 0.5rem; |
There was a problem hiding this comment.
The injected CSS has invalid values: background-color: "inheirt"; is both misspelled and quoted, and background: "transparent"; is quoted. Quoted keywords are not valid CSS here, so these rules won’t apply. Update to valid CSS keywords (e.g., inherit/transparent) without quotes.
| var cy = (window.cy = cytoscape({ | ||
| container: document.getElementById("embedded-design-c811e9f4-2522-4eb6-b775-7475545356d8-cy"), | ||
|
|
||
| autounselectify: true, | ||
|
|
||
| boxSelectionEnabled: false, | ||
| minZoom: 0.5, | ||
| maxZoom: 6.6, | ||
| layout: { | ||
| name: "preset", | ||
| }, | ||
| elements: data.elements, | ||
| style: data.style, | ||
| })); |
There was a problem hiding this comment.
cytoscape({ style: data.style }) references data.style, but this file only defines data.elements and data.elementStyles (no data.style). This means Cytoscape will receive undefined for style. Either add a style field to data or remove the style option and rely on the subsequent elementStyles application.
| ## Empty build cache and run on your local machine. | ||
| clean: | ||
| hugo --cleanDestinationDir | ||
| make setup | ||
| make site |
There was a problem hiding this comment.
The clean target now runs make setup and make site, which introduces network installs and starts a server as a side effect. That makes make clean non-obvious and harder to use in CI or scripting. Consider keeping clean limited to cleaning, and adding a separate target (e.g., reset/rebuild) that chains clean, setup, and site.
| module github.com/layer5io/exoscale-academy | ||
|
|
||
| go 1.24.5 | ||
| go 1.25.5 | ||
|
|
There was a problem hiding this comment.
The go directive in go.mod should be a language version (major.minor), not a patch version. Using go 1.25.5 is likely to be rejected by go tooling (typically expects go 1.25). If you need to pin a specific toolchain patch, use the toolchain directive instead.
| Using a shortcode looks like this: | ||
|
|
||
| ```code | ||
| { {% shortcode-name %}} |
There was a problem hiding this comment.
The shortcode syntax shown in the example is malformed ({ {% shortcode-name %}}) and includes an extra space/brace pattern that readers can’t copy/paste. Update the snippet to show a valid Hugo shortcode invocation (e.g., {{% shortcode-name %}}).
| { {% shortcode-name %}} | |
| {{% shortcode-name %}} |
| {{ $color := .Get "color" | default "primary" }} | ||
| <div class="pageinfo pageinfo-{{ $color }}"> | ||
| {{ .Inner }} |
There was a problem hiding this comment.
docsy-pageinfo outputs .Inner directly without rendering Markdown. When this shortcode is used from a Markdown page, any Markdown formatting inside the block won’t be processed. Consider using markdownify or $.Page.RenderString (similar to docsy-alert/hugo-details) so the inner content is rendered as expected.
…ckup CSV - Created a minimal OpenAPI document (example.json) for Swagger UI and Redoc examples. - Added an iframe example HTML file (frame-example.html) demonstrating the use of the Docsy iframe shortcode. - Included a video file (flower.mp4) for demonstration purposes. - Added a CSV file (keys-backup.csv) containing exported keys and their associated roles and permissions. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
Signed-off-by: Lee Calcote lee.calcote@layer5.io
Notes for Reviewers
This PR fixes #
Signed commits