Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

govCMS

Installation

Packaged installation

govCMS exists as packaged versions on both the Github and Drupal.org project pages. These compressed archives are available in both zip and tar.gz format to download and use as needed.

Installation from source

Dependencies

To develop on or patch against govCMS, the source files should be downloaded and the project built.

govCMS source may be downloaded using git

git clone git@github.com:govCMS/govCMS.git

Enter the project root, and run the following commands in order:

cd <project_directory>
composer install --prefer-dist --working-dir=build
build/bin/phing -f build/phing/build.xml build

This will construct a copy of the govCMS Drupal codebase in the docroot directory using instructions from the govcms.make file.

Structure

General

  • docroot - The Drupal root. This can be either a directory or a symlink.
  • README.md - Project documentation written in markdown.
  • build - Project specific files for building and testing govCMS.
  • composer.json - Project specific vendor packages and repositories.
  • composer.lock - Locked in version of vendor packages. To ensure consistency across the project.
  • .gitignore - A list of files to be ignored by git. This is typically used for excluding local development modules and may create files to ignore that an IDE creates.

Behat

  • behat.yml - Provides all project specific behat configuration. Including regions and context configuration.
  • behat.local.yml - Local configuration to override behat.yml. Typically this will only be the url of the current environment.
  • tests/behat - The directory where behat .feature files are stored.

The behat.local.yml file is provided empty and ignored from the repository so changes can be made to run behat in the local environment. The structure of the file follows that of behat.yml, to set the local target URL to http://govcms.local/ for behat, the following may be placed in behat.local.yml:

# Local behat settings.
default:
extensions:
Behat\MinkExtension:
base_url: http://govcms.local/

Behat parameters may also be added by altering the BEHAT_PARAMS variable. This will only affect direct behat runs, rather than those run through Phing.

export BEHAT_PARAMS='{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://govcms.local/"}}}'

Phing

  • build.xml - Contains project specific configuration and tasks that can be executed across this projects team.
  • build.properties - Environment specific configuration. Just like behat.local.yml, typically this will assign the url of the current environment.

The variables that Phing uses are configured at the top of build.xml. If there are alterations to these parameters to allow Phing to run locally, these may be placed in the build.properties file. This file is ignored from git so local modifications will not be committed. To alter the base URL for the Drupal site the following may be added to build.properties.

; local build properties
; The uri of the site.
drupal.base_url='http://govcms.local/'
; The database settings.
; db.host=DB_HOST
; db.name=DB_NAME
; db.username=DB_USER
; db.password=DB_PASS
; db.port=DB_PORT

If you are making changes to the make file, you can tell the build process to build from your local make file, instead of the one in the profile repository.

From the build/phing folder:

../bin/phing build:no-clean

Testing govCMS

The ability to test a govCMS build is built into the repository with all tests run by Travis CI able to be run locally. Any changes made should be added and committed to your local repository and the following commands run:

phing -f build/phing/build.xml build
phing -f build/phing/build.xml run-tests

Individual tests may be run by specifying the target for Phing. If just the behat tests need to be run, the target can be changed:

phing -f build/phing/build.xml test:behat

All tasks in this project can be listed via the command:

phing -f build/phing/build.xml -l

Patching govCMS

Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the govcms.make file.

Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.

It is a requirement for any patches to govCMS to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.

To submit a patch, the govCMS project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS/master and the branch of the fork may be created.

Contributing to govCMS

All contributions to govCMS are welcome. Issues and pull requests may be submitted against the govCMS project on github where they will be addressed by the govCMS team.

More information may be found in CONTRIBUTING.md.

About

Built for the new digital government

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages