Move your site into src/custom/site

Older versions of Arc CMS had no website folder of the app's own, so a site changed its home page, header, footer, templates and styles by editing files in public/. Those are Arc CMS's files now. npm run arc:own-site moves your changes into src/custom/site/ and puts Arc CMS's files back, so later updates merge cleanly.

Is this you?

Yes, if your copy has edits in any of these. npm run check:core lists them, and points here.

You edited or addedIt moves to
public/index.htmlsrc/custom/site/home.html, as a whole HTML page
public/i18n/{lang}/index.htmlsrc/custom/site/home.{lang}.html
public/i18n/{lang}/strings.jsonsrc/custom/site/strings/{lang}.json, only the keys you added or reworded
public/_partials/_header.html, _footer.htmlsrc/custom/site/header.html, footer.html
public/templates/{folder}/…, public/pages/…The same path under src/custom/site/
public/assets/css/main.csssrc/custom/site/site.css, loaded after Arc CMS's own
public/favicon.ico, 403.html, 404.htmlThe same name under src/custom/site/
Any file you added, such as public/assets/images/logo.pngsrc/custom/site/assets/images/logo.png, served at /site/images/logo.png. Links to it in the moved files are updated.

Files you never changed stay Arc CMS's, so you keep getting its improvements to them.

Move it

  1. Merge the newer Arc CMS, as on Upgrade Arc CMS. Leave conflicts in public/ open: the command settles them.

    git merge upstream/main
  2. See the plan. Nothing changes yet:

    npm run arc:own-site

    It lists each file and where it goes, how many of Arc CMS's files it puts back, and what to check by hand.

  3. Do it:

    npm run arc:own-site -- --write

    A file that already exists in src/custom/site/ is never overwritten; the command names it instead.

  4. Look at the site with npm run dev next to the live one, and fix what the plan listed under "Check by hand".

  5. Check and commit:

    npm run check:core

    No file in public/ should be listed now. Finish the merge commit.

  6. Deploy everything, so the published pages are built from the new files. Run the guided deploy and choose Everything:

    npm run deploy

    After the website deploy it publishes every page again by itself. If you deploy the website with options instead (npm run deploy -- --only hosting), it keeps the published pages but does not publish them again: run npm run seed:dev afterwards for the default project, or npm run seed:prod, which always publishes to the production project.

Your home page

The old home page was an Angular template. The command turns it into a plain HTML page (see Build your home page):

Angular syntax with no plain HTML version, such as {{ … }}, (click) or @if, is left in place and listed with its line number. Replace it with plain HTML, a data-arc-t text or your own script.

What it leaves to you

Run it from the newer Arc CMS, after the merge. Before the merge the command is not there yet; if you run an older checkout, it stops and asks you to merge first.

Next

Keep editing the site in its new place: Build your home page and Design templates.