Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions _extensions/embedio/_schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
$schema: https://m.canouil.dev/quarto-wizard/assets/schema/v1/extension-schema.json

shortcodes:
audio:
description: "Embed an audio file with an HTML audio player."
arguments:
- name: file
type: string
required: true
description: "Path to the audio file."
completion:
type: file
attributes:
caption:
type: string
description: "Caption text displayed below the audio player."
class:
type: string
description: "CSS class for the wrapping figure element."
download-link:
type: boolean
default: false
description: "Show a download link above the audio player."
pdf:
description: "Embed a PDF file inline."
arguments:
- name: file
type: string
required: true
description: "Path to the PDF file."
completion:
type: file
attributes:
height:
type: string
default: 600px
description: "Height of the embedded PDF viewer."
completion:
type: size
width:
type: string
default: 100%
description: "Width of the embedded PDF viewer."
completion:
type: size
download-link:
type: boolean
default: true
description: "Show a download link above the PDF."
revealjs:
description: "Embed a RevealJS slide deck in an iframe."
arguments:
- name: file
type: string
required: true
description: "Path to the RevealJS HTML file."
completion:
type: file
attributes:
height:
type: string
default: 475px
description: "Height of the iframe."
completion:
type: size
width:
type: string
default: 100%
description: "Width of the iframe."
completion:
type: size
full-screen-link:
type: boolean
default: true
description: "Show a link to view slides in full screen."
class:
type: string
description: "CSS class for the wrapping div element."
html:
description: "Embed an HTML page in an iframe."
arguments:
- name: file
type: string
required: true
description: "Path or URL of the HTML page."
completion:
type: file
attributes:
height:
type: string
default: 475px
description: "Height of the iframe."
completion:
type: size
width:
type: string
default: 100%
description: "Width of the iframe."
completion:
type: size
full-screen-link:
type: boolean
default: true
description: "Show a link to view the page in full screen."
class:
type: string
description: "CSS class for the wrapping div element."
30 changes: 30 additions & 0 deletions _extensions/embedio/_snippets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"Embed Audio": {
"prefix": "audio",
"body": [
"{{< audio ${1:path/to/audio.mp3} >}}"
],
"description": "Embed an audio file with an HTML audio player."
},
"Embed PDF": {
"prefix": "pdf",
"body": [
"{{< pdf ${1:path/to/file.pdf} >}}"
],
"description": "Embed a PDF file inline."
},
"Embed RevealJS Slides": {
"prefix": "revealjs",
"body": [
"{{< revealjs ${1:path/to/slides.html} >}}"
],
"description": "Embed a RevealJS slide deck in an iframe."
},
"Embed HTML": {
"prefix": "html",
"body": [
"{{< html ${1:path/to/page.html} >}}"
],
"description": "Embed an HTML page in an iframe."
}
}