Publish and Share
Three states control who can see content: draft, published, and unlisted. The state lives at the page and skript level (collections are just organizers — they don't have a publish state of their own). Most of the time you'll just toggle Publish and move on — but here's the full picture for when you need it.
The three states
| State | Visible to | Listed in navigation | Use case |
|---|---|---|---|
| Draft | Only you (and collaborators with edit rights) | No | Work in progress |
| Published | Everyone | Yes | Ready for students |
| Unlisted | Anyone with the link | No | Hidden practice exercises, easter eggs, links from a class chat |
Drafts are completely private. Published pages show up in your skript's table of contents, in your collection's index, and on your front page. Unlisted pages skip all of that — you have to know the URL.
When unlisted shines
- A second-attempt practice exercise that should only be reachable from a "try harder" link
- A skript you're field-testing with a small group before unveiling it
- "Solution" pages that you only link to from the question page
- A draft you want a colleague to review without making it public
Publishing at two levels
Publishing happens at the page and skript level — independently. Collections are purely organizational containers; they don't have their own publish state.
Collection (organizational only — no publish state)
├── Skript A (published)
│ ├── Page 1 (published) ← visible
│ ├── Page 2 (draft) ← invisible
│ └── Page 3 (unlisted) ← invisible in nav, visible by URL
│
└── Skript B (draft) ← entire skript invisible regardless of pages
A page is only publicly visible if the page AND its skript are both published. You can take a whole skript offline temporarily by toggling its publish status, without touching any individual page.
Common gotchaA published page inside a draft skript is not visible. Students get a 404. When launching new content, publish from the bottom up: pages first, then the skript. To take content offline, flip the skript to draft — every page inside disappears at once.
How to publish
Three places to toggle the state:
- Top toolbar of the page editor — the Publish dropdown
- Page list in the manage drawer — quick toggle next to each page
- Page builder dashboard — bulk view, drag-and-drop reorder, batch toggles
For skripts, use the skript editor or the dashboard.
In the page list, each page shows a small icon after its title that mirrors the Publish toggle's color coding: a green check for published, an amber dash for draft, and a violet crossed-out eye for unlisted.
Sharing with students
URLs are stable and shareable. Once you've got a published page at eduskript.org/<slug>/<col>/<skript>/<page>, share that URL anywhere:
- Email — paste the link
- LMS (Canvas, Moodle, Schoology, etc.) — add as an external link
- Class chat (Discord, Slack, Teams) — paste, get a preview card with title + description
- Printed handout — generate a QR code from any free service
The share icon in the page toolbar copies the URL to your clipboard. You can also click any heading in the rendered page to copy a link directly to that heading.
Anchor links
Every heading has an automatic ID derived from the heading text. Click a heading in your published page → URL gets a #anchor-name fragment.
eduskript.org/marie/intro-stats/descriptive/measures#mean-and-median
↑ anchor link
When you change a heading's text, its anchor changes too. Old anchor links still land on the page (no 404), but they don't auto-scroll to the right place. So if you rename a heading after sharing the link, students get the page but not the section.
Stable anchors for important sectionsIf you know you'll link to a specific section repeatedly (e.g. from a syllabus), pin the heading text early and don't change it.
OG previews when shared on social
Eduskript generates Open Graph metadata automatically:
- Title — your page title
- Description — your page description, or auto-extracted excerpt
- Image — your page's OG image (set in page settings) or your default front-page OG image
So when someone pastes your link into Slack, Discord, Twitter, etc., they get a preview card. Same for messaging apps that respect OG.
Updating published content
Save and the changes are live — no need to re-publish. Eduskript doesn't have a "stage" environment for published content; the published version IS the live version.
If you want a sandbox to work in before going live, do one of:
- Keep it as a draft until ready, then toggle to published in one go
- Use a separate "drafts" skript for in-progress work, move pages into the live skript when done
- Fork your own skript as a sandbox copy, edit there, then copy changes back
Most teachers find option 1 sufficient.
Taking content offline
Toggle published → draft. The page disappears immediately. Students hitting the URL see "Page not found." If you want to leave a redirect or a "this content has been retired" message, use a published page with that note instead of fully unpublishing.
Publishing cheat sheet
| Goal | Where |
|---|---|
| Toggle a page draft/published | Top toolbar of page editor → Publish dropdown |
| Mark a page as unlisted | Same dropdown → Unlisted |
| Bulk-toggle pages in a skript | Page editor's Manage → page list |
| Publish/unpublish a whole skript | Skript editor or dashboard |
| Share a link | Click the share icon, or copy URL bar |
| Link to a specific section | Click the heading, or paste URL with #anchor |
| Take a section offline temporarily | Toggle the parent skript to draft |