LiaScript Exporter GitHub Action
Export LiaScript courses to SCORM, PDF, Web, and other formats for LMS deployment and distribution directly from your GitHub repository.
Add this action to your workflow:
- name : Export course to SCORM
id : export
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' README.md'
format : ' scorm1.2'
output-name : ' my-course'
Input
Description
Example
input-file
Path to README.md or project.yml file
course1/README.md
format
Export format
scorm1.2, pdf, web, ims, xapi, rdf, json
Input
Description
Default
output-name
Base name for output files
Derived from input file
course-path
Directory containing the course
Directory of input-file
Input
Description
Default
scorm-organization
Organization title
-
scorm-mastery-score
Mastery score (0-100)
0
scorm-typical-duration
Duration (PT0H5M0S format)
PT0H5M0S
scorm-iframe
Use iframe for SCORM
false
scorm-embed
Embed Markdown in JS
false
scorm-always-active
Keep SCORM always active
false
Input
Description
Default
pdf-theme
LiaScript theme
default
pdf-format
Paper format
A4
pdf-scale
Webpage rendering scale
1
pdf-landscape
Landscape orientation
false
pdf-print-background
Print background graphics
false
pdf-stylesheet
Custom CSS file path
-
Input
Description
Default
web-zip
Create zip archive
true
web-indexeddb
Enable IndexedDB storage
false
web-iframe
Use iframe version
false
Input
Description
Default
ims-indexeddb
Use IndexedDB for persistence
false
Input
Description
Default
xapi-endpoint
LRS endpoint URL
-
xapi-auth
Authentication string
-
xapi-actor
xAPI actor JSON
-
xapi-course-id
Course identifier
-
xapi-course-title
Course title
-
xapi-debug
Enable debug logging
false
xapi-zip
Package as zip
false
Input
Description
Default
rdf-format
Output format (json-ld, n-quads)
json-ld
rdf-url
External URL reference
-
rdf-type
Schema.org type
Course
rdf-license
License URL
-
rdf-educational-level
Educational level
-
Input
Description
Default
style
Additional CSS styling
-
responsive-voice-key
Text-to-speech API key
-
Output
Description
output-file
Path to the generated file
file-size
Size of generated file in bytes
format
Format that was generated
success
Whether export succeeded (true/false)
name : Export Course
on : [push]
jobs :
export :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v4
- name : Export to SCORM
id : export
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' README.md'
format : ' scorm1.2'
output-name : ' my-course'
scorm-organization : ' My Organization'
scorm-mastery-score : ' 80'
- name : Upload SCORM package
uses : actions/upload-artifact@v4
with :
name : scorm-package
path : ${{ steps.export.outputs.output-file }}
Multi-Course Matrix Build
name : Export All Courses
on : [push]
jobs :
export :
runs-on : ubuntu-latest
strategy :
matrix :
course : ['course1', 'course2', 'course3']
format : ['scorm1.2', 'pdf', 'web']
steps :
- uses : actions/checkout@v4
- name : Export ${{ matrix.course }} to ${{ matrix.format }}
id : export
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' ${{ matrix.course }}/README.md'
format : ' ${{ matrix.format }}'
output-name : ' ${{ matrix.course }}-${{ matrix.format }}'
- name : Upload artifacts
uses : actions/upload-artifact@v4
with :
name : ${{ matrix.course }}-${{ matrix.format }}
path : ${{ steps.export.outputs.output-file }}
name : Release
on :
push :
tags : ['v*']
jobs :
release :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v4
- name : Export to SCORM
id : export-scorm
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' README.md'
format : ' scorm1.2'
output-name : ' course-${{ github.ref_name }}'
- name : Export to PDF
id : export-pdf
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' README.md'
format : ' pdf'
output-name : ' course-${{ github.ref_name }}'
- name : Create Release
uses : softprops/action-gh-release@v1
with :
files : |
${{ steps.export-scorm.outputs.output-file }}
${{ steps.export-pdf.outputs.output-file }}
PDF export hangs or fails
PDF exports use Puppeteer (headless Chrome) which requires sufficient memory and may take several minutes for complex courses
Ensure the course content renders properly in a regular browser first
Output file not found
Check that the output-name parameter matches the expected file pattern
Verify the input file path is correct relative to the repository root
Review the action logs for detailed file search information
The action provides detailed logging including:
Input validation and parsing
File path resolution
CLI command construction
Real-time export progress
Output file detection
Enable debug logging in your workflow:
- name : Export with debug
uses : LiaScript/LiaScript-Exporter@master
with :
input-file : ' README.md'
format : ' scorm1.2'
env :
ACTIONS_STEP_DEBUG : true