-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
1. Create the folder structure:
| src/
|-- shared/ // contains files that will be included in qmd file
| |-- header.html // contains all HTML code included in the `<header>` tag of a qmd file
|-- js/ // contains JavaScript files corresponding to each qmd file
| |-- api-embeddings.js
| |-- api-authentication-and-jobs.js
|
|-- api-embeddings.qmd
|-- api-authentication-and-jobs.qmd2. Use include-in-header
Quarto supports inserting file content into <header> tag. All CSS/JS files should be included here.
Create a header.html file, put the common content inside:
<!-- in header.html file -->
<script src="https://unpkg.com/[email protected]/swagger-ui-bundle.js"></script>We can add it in the _quarto.yml or in each .qmd file:
format:
html:
include-in-header:
- header.htmlThis will make sure the swagger-ui-bundle.js is loaded in the <header> tag,
so we can get rid of using setTimeout(..., 1000) in addSwaggerEndpointsToTOC.js
3. Create separate JS file for each .qmd file
Since we can use <script type="module"> in .qmd file, we should move all the JavaScript code inside the .qmd into separate files. The folder structure can by like this:
In .qmd file, we can import the js file at the end of QMD file:
<script type="module" src="./js/api-embeddings.js">4. For future:
Manage JavaScript files by a module bundler (webpack, or vite, ...) so that we can use TypeScript.
Metadata
Metadata
Assignees
Labels
No labels