Saving Website Pages from a Repository
Part of the MountDev Ops Websites documentation. Updated November 14, 2026
MountDev Ops Websites documentation | Updated November 14, 2026
Our Commitment
MountDev Ops is built security first. Your business data belongs to you, and you can export all of it at any time. We never use analytics or tracking of any kind inside MountDev Ops.
Every update passes all 4,022 automated checks before it ships, and every screen change is walked through before release.
What It Does
A workflow can keep a website's pages in step with files in your own repository. These steps add or change pages in Websites from text a workflow already read, such as a Markdown file from GitHub (see Reading GitHub From a Workflow). None of them uses AI: the same file or data always makes the same page. If you want AI to rework a loose notes file first, put Use AI between the two steps, and the result is cleaned and held the same way.
The steps run as your account, and a person who saves a workflow with one needs the permission to edit websites. Everything the workflow makes is saved turned off until a person turns the workflow on.
Drafts or Publish
You choose per workflow. Mark Ready off (the start) keeps each page a draft, waiting in the website's list of changes for a person to look at. Turn it on to mark the page ready. Publishing is never hidden inside a save step. Add Publish a website's ready pages (action sites.publish_site) as the last step when you want changes to go live, and an Approval step before it when a person should look first. Publishing is refused while an assistant's change is waiting for a person.
Saving a Page from a File
Save a Website Page From Text (action sites.save_page) takes the website, the repository and file path, the file's text, the folder it lives in, and Mark Ready.
One rule maps any file to a page:
- The folder (for example site) holds one .md or .html file for each page. The path under the folder is the address. site/pricing.md is /pricing, site/services/lawn-care.md is /services/lawn-care, and site/index.md is the home page.
- A docs folder makes docs, so site/docs/start.md is /docs/start. A posts or blog folder makes posts.
- An address can use only lower case letters, digits, dashes, and slashes. Anything else is refused with a plain sentence, never changed.
A few lines at the top of a file can set the page, between two lines of three dashes:
--- title: Pricing address: /pricing description: What each plan costs. ready: false ---
Only those four keys are read. Any other key is ignored and is not an error. Without a title, the page uses the file's first heading, or its name. A file that says ready: false holds its page back even when the workflow marks pages ready.
Markdown becomes the website's own blocks: headings, text, lists, and dividers. A link that is not safe becomes its words, and a picture or raw HTML is not brought in. HTML files are cleaned with the same list as a custom section, with no scripts, event handlers, frames, or outside files. What was removed is listed in the step's answer with the reason.
A repeat for the same file updates the page it made and never makes a second one. The page carries a quiet note of which file it came from, so the next push finds its own page.
A Page Made by Hand Is Never Changed
If a file's address matches a page a person made, the file is refused, the page is kept exactly as it is, and the step's answer says why. The people who manage Websites (anyone who may edit or publish) are told on the bell and in Needs You Today, naming the file and the page, once for each file in each push.
Removed Files
A removed file does nothing at first. Choose When removed to move its page back to a draft instead. A workflow never deletes a page. Deleting is a person's choice, after an export.
Filling Pages from a Data File
Fill Pages From a Data File With a Template (action sites.fill_from_template) reads a data file (JSON), such as a list of service areas, and makes one page for each item from a page template you saved in Websites (see Page Templates).
- Write {{name}} in the template where a value goes. Each item gives its own value.
- Name the list in the file to repeat over, and which values are each page's address and title.
- An item missing a value the template needs, or with an address that cannot be used, is skipped, and the answer says why. Nothing is guessed. A file that is not valid data makes no pages. A run makes up to 500 pages.
- It follows the same rules as saving a page: draft or ready, a page made by hand is never changed, and an item removed from the file follows the removed-files choice.
Custom Sections and Theme Stylesheets
Save a Custom Section (action sites.save_section) changes the HTML, CSS, fields, or name of one custom section of a page. Save a Theme Stylesheet (action sites.save_theme_css) changes a theme's stylesheet. Both clean what they are given the same way as the screens and list what was removed.
