Skip to content

Commit 1ca54e0

Browse files
add meta information
1 parent 55e906b commit 1ca54e0

File tree

3 files changed

+314
-0
lines changed

3 files changed

+314
-0
lines changed

data/meta.json

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
{
2+
"@context": "https://schema.org",
3+
"@graph": [
4+
{
5+
"@type": "WebSite",
6+
"@id": "https://liascript.github.io/#website",
7+
"url": "https://liascript.github.io/",
8+
"name": "LiaScript",
9+
"description": "LiaScript is an open Markdown dialect and interpreter for creating interactive, open educational resources (OER) and courses directly in the browser.",
10+
"inLanguage": "en",
11+
"publisher": { "@id": "https://liascript.github.io/#publisher" },
12+
"sameAs": [
13+
"https://github.com/LiaScript",
14+
"https://twitter.com/LiaScript",
15+
"https://x.com/LiaScript",
16+
"https://www.youtube.com/@liascript4180",
17+
"https://de.wikipedia.org/wiki/LiaScript",
18+
"https://app.gitter.im/#/room/#LiaScript_community:gitter.im"
19+
]
20+
},
21+
{
22+
"@type": "WebPage",
23+
"@id": "https://liascript.github.io/#webpage",
24+
"url": "https://liascript.github.io/",
25+
"name": "LiaScript — Open Educational Resources made Easy and Decentralized",
26+
"isPartOf": { "@id": "https://liascript.github.io/#website" },
27+
"about": { "@id": "https://liascript.github.io/#software" },
28+
"primaryImageOfPage": {
29+
"@type": "ImageObject",
30+
"url": "https://liascript.github.io/favicon.ico"
31+
},
32+
"inLanguage": "en"
33+
},
34+
{
35+
"@type": ["SoftwareApplication", "CreativeWork"],
36+
"@id": "https://liascript.github.io/#software",
37+
"name": "LiaScript",
38+
"url": "https://liascript.github.io/",
39+
"applicationCategory": "EducationalApplication",
40+
"applicationSubCategory": ["AuthoringTool", "LearningManagementSystem"],
41+
"operatingSystem": "Web",
42+
"isAccessibleForFree": true,
43+
"featureList": [
44+
"Text-to-speech playback for any course content",
45+
"Live coding blocks with executable code cells",
46+
"Interactive quizzes, surveys, and self-checks",
47+
"Animations and step-by-step visualizations",
48+
"Narrative content creation and storytelling elements",
49+
"Rich multimedia (audio, video, iframes) inline",
50+
"Data visualization and simulation embedding",
51+
"Offline-friendly via static hosting (GitHub Pages, etc.)",
52+
"SCORM/IMS export and packaging options",
53+
"PDF, single-page web projects, and APK export",
54+
"Version-controlled courses (Git/GitHub integration)",
55+
"Collaborative authoring via Markdown",
56+
"Custom extensions and plug-ins via LiaScript syntax"
57+
],
58+
"isSimilarTo": [
59+
{
60+
"@type": "SoftwareApplication",
61+
"name": "Moodle",
62+
"url": "https://moodle.org"
63+
},
64+
{
65+
"@type": "SoftwareApplication",
66+
"name": "ILIAS",
67+
"url": "https://www.ilias.de"
68+
},
69+
{
70+
"@type": "SoftwareApplication",
71+
"name": "Canvas LMS",
72+
"url": "https://www.instructure.com/canvas"
73+
}
74+
],
75+
"interactivityType": "mixed",
76+
"educationalUse": [
77+
"course-authoring",
78+
"self-paced-learning",
79+
"blended-learning"
80+
],
81+
"audience": {
82+
"@type": "EducationalAudience",
83+
"educationalRole": ["teacher", "student", "instructionalDesigner"]
84+
},
85+
"teaches": [
86+
"programming fundamentals",
87+
"STEM topics",
88+
"interactive literacy",
89+
"reproducible research"
90+
],
91+
"softwareRequirements": [
92+
"Modern browser (Chromium, Firefox, Safari, Edge)",
93+
"Optional: GitHub account for hosting/versioning",
94+
"Optional: LMS for SCORM/IMS import"
95+
],
96+
"softwareHelp": {
97+
"@type": "CreativeWork",
98+
"name": "LiaScript Documentation",
99+
"url": "https://liascript.github.io"
100+
},
101+
"documentation": "https://liascript.github.io",
102+
"codeRepository": "https://github.com/LiaScript",
103+
"screenshot": [
104+
"https://liascript.github.io/assets/lia-course-example.png"
105+
],
106+
"video": {
107+
"@type": "VideoObject",
108+
"name": "LiaScript Overview & Demo",
109+
"thumbnailUrl": "https://img.youtube.com/vi/VIDEO_ID/hqdefault.jpg",
110+
"uploadDate": "2025-01-01",
111+
"embedUrl": "https://www.youtube.com/embed/VIDEO_ID"
112+
},
113+
"offers": {
114+
"@type": "Offer",
115+
"price": "0",
116+
"priceCurrency": "EUR",
117+
"category": "Free"
118+
},
119+
"keywords": [
120+
"LiaScript",
121+
"Markdown",
122+
"OER",
123+
"interactive courses",
124+
"e-learning",
125+
"LMS alternative",
126+
"SCORM",
127+
"text-to-speech",
128+
"live coding",
129+
"animations",
130+
"multimedia",
131+
"decentralized education",
132+
"open source authoring",
133+
"browser-based learning"
134+
],
135+
"publisher": { "@id": "https://liascript.github.io/#publisher" },
136+
"creator": [
137+
{ "@id": "https://liascript.github.io/#person-andre" },
138+
{ "@id": "https://liascript.github.io/#person-sebastian" }
139+
]
140+
},
141+
{
142+
"@type": "FAQPage",
143+
"@id": "https://liascript.github.io/#faq",
144+
"mainEntity": [
145+
{
146+
"@type": "Question",
147+
"name": "Where is the content stored?",
148+
"acceptedAnswer": {
149+
"@type": "Answer",
150+
"text": "With LiaScript, you store your content wherever you like — on your own webspace, GitHub, Nostr, or any static file host. You only share a reference (a URL) to the document, and LiaScript loads it dynamically in the browser."
151+
}
152+
},
153+
{
154+
"@type": "Question",
155+
"name": "Does LiaScript require a server?",
156+
"acceptedAnswer": {
157+
"@type": "Answer",
158+
"text": "No. LiaScript does not require any backend or server. It is a fully static JavaScript web application that fetches content directly and renders it live inside the user’s browser."
159+
}
160+
},
161+
{
162+
"@type": "Question",
163+
"name": "Who owns the content created with LiaScript?",
164+
"acceptedAnswer": {
165+
"@type": "Answer",
166+
"text": "You own your content entirely. LiaScript does not claim any rights — you decide the license, where to publish, and how to share your materials with your audience."
167+
}
168+
},
169+
{
170+
"@type": "Question",
171+
"name": "How is LiaScript different from Moodle or ILIAS?",
172+
"acceptedAnswer": {
173+
"@type": "Answer",
174+
"text": "LiaScript is not a centralized platform but an extensible language with a browser-based viewer. It runs directly in the user’s browser and can be hosted anywhere as static files — meaning it cannot go down or depend on any central server."
175+
}
176+
},
177+
{
178+
"@type": "Question",
179+
"name": "Can I export LiaScript content to SCORM or IMS?",
180+
"acceptedAnswer": {
181+
"@type": "Answer",
182+
"text": "Yes. LiaScript supports exporting your courses to SCORM and IMS formats, as well as to PDF, single-page web projects, and even Android APKs for offline learning."
183+
}
184+
},
185+
{
186+
"@type": "Question",
187+
"name": "Does LiaScript support text-to-speech and live coding?",
188+
"acceptedAnswer": {
189+
"@type": "Answer",
190+
"text": "Yes, and much more. LiaScript supports text-to-speech, live coding environments, interactive quizzes, animations, multimedia embedding, simulations, and narrative content creation with timelines, code execution, and collaborative course design."
191+
}
192+
}
193+
]
194+
},
195+
{
196+
"@type": "Organization",
197+
"@id": "https://liascript.github.io/#publisher",
198+
"name": "Technische Universität Bergakademie Freiberg",
199+
"url": "https://tu-freiberg.de",
200+
"logo": "https://liascript.github.io/favicon.ico",
201+
"contactPoint": [],
202+
"address": {
203+
"@type": "PostalAddress",
204+
"streetAddress": "Akademiestraße 6",
205+
"postalCode": "09599",
206+
"addressLocality": "Freiberg",
207+
"addressCountry": "DE"
208+
}
209+
},
210+
{
211+
"@type": "Person",
212+
"@id": "https://liascript.github.io/#person-andre",
213+
"name": "André Dietrich",
214+
"affiliation": {
215+
"@type": "CollegeOrUniversity",
216+
"name": "Technische Universität Bergakademie Freiberg"
217+
},
218+
"email": "andre.dietrich@informatik.tu-freiberg.de",
219+
"sameAs": [
220+
"https://github.com/andre-dietrich",
221+
"https://www.linkedin.com/in/andr%C3%A9-dietrich-73949415/",
222+
"https://x.com/an_dietrich"
223+
]
224+
},
225+
{
226+
"@type": "Person",
227+
"@id": "https://liascript.github.io/#person-sebastian",
228+
"name": "Sebastian Zug",
229+
"affiliation": {
230+
"@type": "CollegeOrUniversity",
231+
"name": "Technische Universität Bergakademie Freiberg"
232+
},
233+
"email": "sebastian.zug@informatik.tu-freiberg.de",
234+
"sameAs": [
235+
"https://github.com/SebastianZug",
236+
"https://www.linkedin.com/in/sebastian-zug-b2186a279/",
237+
"https://x.com/SebastianZug"
238+
]
239+
}
240+
]
241+
}

layouts/_default/baseof.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!doctype html>
2+
<html
3+
itemscope
4+
class="{{- if not site.Params.theme_switcher -}}
5+
{{- site.Params.theme_default -}}
6+
{{- end -}}"
7+
lang="{{ site.LanguageCode | default `en-US` }}"
8+
itemtype="http://schema.org/WebPage">
9+
<head>
10+
<!-- head (don't cache it) -->
11+
{{ partial "essentials/head.html" . }}
12+
13+
{{ partial "jsonld-home.html" . }}
14+
15+
16+
<!-- style (always cache it) -->
17+
{{ partialCached "essentials/style.html" . }}
18+
19+
{{ if .Params.css }}
20+
{{ range .Params.css }}
21+
<link rel="stylesheet" href="{{ . | relURL }}" />
22+
{{ end }}
23+
{{ end }}
24+
{{ if .Params.js }}
25+
{{ range .Params.js }}
26+
<script src="{{ . | relURL }}"></script>
27+
{{ end }}
28+
{{ end }}
29+
</head>
30+
31+
<body>
32+
<!-- cache partial only in production -->
33+
{{ if hugo.IsProduction }}
34+
{{ partialCached "preloader.html" . }}
35+
{{ partialCached "gtm-noscript.html" . }}
36+
{{ else }}
37+
{{ partial "preloader.html" . }}
38+
39+
40+
<!-- tailwind size indicator -->
41+
{{ partial "components/tw-size-indicator.html" . }}
42+
{{ end }}
43+
44+
45+
<!-- announcement -->
46+
{{ partialCached "announcement.html" . }}
47+
48+
49+
<!-- header (don't cache it) -->
50+
{{ partial "essentials/header.html" . }}
51+
{{ partial "search-modal.html" (dict "Context" . ) }}
52+
53+
54+
<main>
55+
{{ block "main" . }}{{ end }}
56+
</main>
57+
58+
<!-- footer -->
59+
{{ partial "essentials/footer.html" . }}
60+
61+
62+
<!-- script (always cache it) -->
63+
{{ partialCached "essentials/script.html" . }}
64+
</body>
65+
</html>

layouts/partials/jsonld-home.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{/* Inject complex JSON-LD stored in data/meta.json only on homepage */}}
2+
{{ if .IsHome }}
3+
{{ with site.Data.meta }}
4+
<script type="application/ld+json">
5+
{{ . | jsonify (dict "indent" " ") | safeHTML }}
6+
</script>
7+
{{ end }}
8+
{{ end }}

0 commit comments

Comments
 (0)