Skip to content

parameter1/rogue-monkey-media-websites

Repository files navigation

BaseCMS Websites for Rogue Monkey Media, LLC.

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


Requirements

This project supports two development environments:

or

Additional Resources

  • Parameter1 docs - For more details about working with the website framework, check out the docs!
  • MarkoJS - Server-side templates are rendered using the Marko templating engine
  • VueJS - Client-side component templating
  • ExpressJS - The backend HTTP server handling routing for requests

Getting Started

Installation

After cloning the repository, execute one of the following commands from the project root (based on your chosen development environment):

# Docker Compose
docker-compose run --rm yarn install
# Mac/Linux/Windows native
nvm use 10
yarn install

Once complete, the project dependencies will be available and the project will be ready to boot.

Development

To work in this repository, start the application instance for your chosen tenant (such as eqw):

# Docker Compose
docker-compose up eqw
# Mac/Linux native
# Modify variables as needed, see docker-compose.yml

export PORT="80"
export EXPOSED_PORT="9901"
export LIVERELOAD_PORT="19901"
export TENANT_KEY="roguemonkeymedia_all"
export SITE_ID="6176b67ef20045c5348b457f"
export GRAPHQL_URI="https://graphql.virgon.base.parameter1.com"
export OEMBED_URI="https://oembed.virgon.base.parameter1.com"
export RSS_URI="https://rss.virgon.base.parameter1.com"
export SITEMAPS_URI="https://sitemaps.virgon.base.parameter1.com"
export NODE_ENV="development"
export IDENTITYX_GRAPHQL_URI="https://identity-x.parameter1.com/graphql"
export BASE_BROWSE_GRAPHQL_URI="https://base-browse.virgon.base.parameter1.com/graphql"

./node_modules/.bin/basecms-website dev sites/content.nrwa.org
Rem Windows native
Rem Modify variables as needed, see docker-compose.yml

set "PORT=80"
set "EXPOSED_PORT=9901"
set "LIVERELOAD_PORT=19901"
set "TENANT_KEY=roguemonkeymedia_all"
set "SITE_ID=6176b67ef20045c5348b457f"
set "GRAPHQL_URI=https://graphql.virgon.base.parameter1.com"
set "OEMBED_URI=https://oembed.virgon.base.parameter1.com"
set "RSS_URI=https://rss.virgon.base.parameter1.com"
set "SITEMAPS_URI=https://sitemaps.virgon.base.parameter1.com"
set "NODE_ENV=development"
set "IDENTITYX_GRAPHQL_URI=https://identity-x.parameter1.com/graphql"
set "BASE_BROWSE_GRAPHQL_URI=https://base-browse.virgon.base.parameter1.com/graphql"

./node_modules/.bin/basecms-website dev sites/content.nrwa.org

Developing on Microsoft Windows

Due to an issue with Docker for Windows, file watching is not supported inside a container. If you are using Docker Compose with this project on a Microsoft Windows system, you'll need to ensure that one of the following alternate file watching methods are used.

Polling

To enable polling, create a .env file at the root of this project and add the following line:

GULP_POLLING_ENABLED=true

If you need to adjust the polling interval, you can do so by adding GULP_POLLING_INTERVAL=<value in milliseconds> to this file. The default is 1000ms.

Volume Watcher

Alternatively, you can use the Docker Windows Volume Watcher script to monitor changes to files from the host and dispatch update events to your containers. This script requires a working Python and pip install on the host machine.

Testing

Execute one of the following commands to run the project test suite. These tests will be run automatically when changes are submitted or merged, and it's recommended to run the test suite locally before committing.

# Docker Compose
docker-compose run --rm yarn test
# Mac/Linux/Windows native
nvm use 10
yarn test

To run the test suite, execute the ./scripts/test.sh or ./scripts/test.bat script from the project root.