BaseCMS Websites for Bizbash Media

This monorepo contains the codebase for websites managed by Bizbash Media. All sites within this repository utilize the @parameter1/base-cms packages, most notably the marko-web and web-cli.

Copy Method

If you wish to use an existing site as a starting point, begin by copying the site directory (recursively) to the new site name:

cp -R sites/sitetocopy sites/mynewsite

Next, update the following files:

# /docker-compose.yml
# Be sure to increment ports to unused values
+  my-new-site:
+    <<: *node
+    <<: *site-cmd
+    working_dir: /root/sites/mynewsite
+    environment:
+      <<: *env
+      <<: *env-clustername-staging
+      PORT: 80
+      EXPOSED_PORT: 9711
+      LIVERELOAD_PORT: 19711
+      TENANT_KEY: mynewsite_key
+      CDN_IMAGE_HOSTNAME: img.mynewsite.com
+      CDN_ASSET_HOSTNAME: cdn.mynewsite.com
+    ports:
+      - "9711:80"
+      - "19711:19711"
# /travis.yml
+    - stage: deploy
+      name: My New Site
+      script: deploy/index.js mynewsite clustername
+      install: skip
# /sites/mynewsite/package.json
-  "name": "@base-cms-websites/sitetocopy",
+  "name": "@base-cms-websites/mynewsite",
-  "author": "John Doe <johndoe@gmail.com>",
+  "author": "Jack Smith <jacksmith@gmail.com>",
-  "repository": "https://github.com/base-cms-websites/your-repository/tree/master/sites/sitetocopy",
+  "repository": "https://github.com/base-cms-websites/your-repository/tree/master/sites/mynewsite",
# /sites/mynewsite/config/core.js
-  siteName: 'Site to Copy',
+  siteName: 'My New Site',
# /sites/mynewsite/config/gam.js
-  const config = new GAMConfiguration('###########', { basePath: 'OLD' });
+  const config = new GAMConfiguration('###########', { basePath: 'NEW' });

# Add/Remove setAliasAdUnits values as needed
# /sites/mynewsite/config/gcse.js
-  const config = new GCSEConfiguration('#####################:aaaaaaaaaaa');
+  const config = new GCSEConfiguration('#####################:bbbbbbbbbbb');
# /sites/mynewsite/config/native-x.js
# Add/Remove setAliasPlacements values as needed
# /sites/mynewsite/config/navigation.js
# Update values as needed
# /sites/mynewsite/config/site.js
# Update values as needed
# /sites/mynewsite/server/styles/index.scss
# Update values as needed
# /sites/mynewsite/server/public/robots.txt
+  Disallow: /
-  Sitemap: https://www.sitetocopy.com/sitemap.xml
+  Sitemap: https://www.mynewsite.com/sitemap.xml
-  Sitemap: https://www.sitetocopy.com/sitemap-google-news.xml
+  Sitemap: https://www.mynewsite.com/sitemap-google-news.xml
# /sites/mynewsite/server/public
# Replace all icon files

When copying sites, ensure that unused components, templates, and routes are not copied inadvertently.