Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

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

Latest commit

History

2,382 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DITA Open Toolkit website Netlify Status

This repository contains the source files for the DITA Open Toolkit project website at dita-ot.org.

For details and background information on how we build and maintain the site, visit dita-ot.org/colophon.


If you'd like to set up a local staging environment and build a copy of the site, follow the instructions below.

Environment setup

  1. Clone the DITA-OT and project website repositories:

    git clone https://github.com/dita-ot/dita-ot.git
    git clone https://github.com/dita-ot/website.git
    

    NOTE: The examples below assume the the DITA-OT and project website repositories have been cloned to a common parent directory, such as your home folder. If you clone the repositories to a different location, substitute that path for the tilde symbol ~ in the samples below.

  2. Move to the DITA-OT directory:

    cd dita-ot
    
  3. Fetch the submodules:

    git submodule update --init --recursive
    
  4. In the root directory, run the Gradle wrapper to compile the Java code and install plugins:

    ./gradlew
    
  5. Install the HTML plug-in for the DITA-OT project website: org.dita-ot.html

    src/main/bin/dita --install https://github.com/dita-ot/org.dita-ot.html/archive/master.zip
    

Install prerequisite software

  1. Check if Ruby is installed:

    ruby -v
    

    Ruby is installed on macOS and most Linux distributions by default. If the command above does not respond with information on the installed Ruby version, see Installing Ruby for instructions. (Ruby 3.3 is required.)

  2. Install Bundler:

    gem install bundler
    
  3. Switch to your clone of the project website repository:

    cd ~/dita-ot-website
    
  4. Install all of the required gems from the project’s Gemfile:

    bundle install
    

Running Jekyll

To build a copy of the site locally, use the bundle command to start the Jekyll build:

bundle exec jekyll serve

This runs the Jekyll build process and starts a local web server, so you can view your local clone of the project website at 127.0.0.1:4000.

At this stage, what you see there should be identical to the production version of the site at www.dita-ot.org.

Note: For more details, see Setting up your GitHub Pages site locally with Jekyll.

To refresh the page in your browser whenever source files change, pass the --livereload option:

bundle exec jekyll serve --livereload

Running Jekyll from Docker

Jekyll can also be run from a Docker image. No additional dependencies need to be installed:

docker run -it --rm -v $PWD:/website -e 4000 -p 4000:4000 ruby:$(head -1 .ruby-version) bash -c 'cd /website && bundle install && jekyll serve -H 0.0.0.0'

This runs a local copy of the project website at 127.0.0.1:4000.

Building documentation output

  1. Switch to the docsrc submodule of the local dita-ot clone:

    cd ~/dita-ot/src/main/docsrc
    
  2. Check out the develop branch of the docs repository to update the docsrc submodule pointer to the latest development state (or to another branch if you need to generate output for that):

    git checkout develop
    
  3. Run the site build task with the Gradle wrapper to generate the output for the project website:

    ./gradlew site
    

The output will be generated by default in src/main/docsrc/build/site.

(This appears as unstyled HTML when viewed in place.)

To redirect the output to the dev development folder that Jekyll serves, pass the outputDir parameter to the build script as follows:

./gradlew site -PoutputDir=~/dita-ot-website/dev

After the build completes, you should find the results in the Docs > Development section of the local staging environment 127.0.0.1:4000/dev/.

To automatically regenerate the site output whenever documentation source files change, add the --continuous build option:

./gradlew site -PoutputDir=~/dita-ot-website/dev --continuous

Updating JavaScript

If you need to change any of the JavaScript files in the site repository, you'll need to download & install Node.js and run the npm package manager for JavaScript to perform a clean install of the project dependencies:

npm ci

This will install various Node modules including Parcel, the web application bundler.

To make changes to the JavaScript code, add or edit source files in the _js folder. You can then run the install script to compile the modified JavaScript code to the (ignored) js folder with Parcel:

npm run install

Happy staging!

You can now use the local staging environment to test your changes before committing your work.

When you're ready to share your progress, send us a pull request.

Releases

Packages

Used by

Contributors

Languages