Telerik Documentation Infrastructure
Перейти к файлу
imtodor bae378eea0 chore: Adding API related folder to docker ignore 2018-11-20 08:58:58 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2018-07-27 15:40:13 +03:00
_assets Merge branch 'master' into uwp-migration 2018-11-19 14:21:16 +02:00
_buildApi feat: Move API assets folder to parameter. 2018-11-19 18:21:22 +02:00
_common/root chore: Removing unnecessary test file 2018-10-26 12:02:22 +03:00
_data feat: Added UWP and Xamarin product ids 2018-11-16 15:33:51 +02:00
_includes fix: Enable customers to search anywhere they desire. 2018-11-07 17:42:53 +02:00
_layouts feat: Updating GA tracked info for searched items 2018-11-16 16:02:24 +02:00
_plugins feat: Adding Note and Warning alerts 2018-11-13 10:55:32 +02:00
_templates Jekyll added 2018-02-20 16:38:41 +02:00
docs-watcher fix: Fixed syncronization between docker and host of files and folders with whitespace 2018-06-27 15:03:40 +03:00
fonts fix: Adding API related fonts 2018-09-03 16:01:18 +03:00
styles chore: Moving the loading indicator styles 2018-09-26 16:40:20 +03:00
.contentignore chore: Adding flag for KB portal 2018-11-05 18:21:40 +02:00
.dockerignore chore: Adding API related folder to docker ignore 2018-11-20 08:58:58 +02:00
.editorconfig Jekyll added 2018-02-20 16:38:41 +02:00
.gitignore chore: Updating ignoring files 2018-09-05 18:06:34 +03:00
.ruby-version Jekyll added 2018-02-20 16:38:41 +02:00
Dockerfile feat: Adding build file for docker 2018-07-19 14:34:54 +03:00
Gemfile feat: Sitemap generation added. 2018-09-03 14:33:39 +03:00
Gemfile.lock feat: Sitemap generation added. 2018-09-03 14:33:39 +03:00
README.md add: additional point to prerequisites 2018-10-31 18:18:15 +02:00
bs-config.js Jekyll added 2018-02-20 16:38:41 +02:00
build-docs.sh merge: Merge master branch 2018-10-26 10:45:38 +03:00
copy_content.sh fix: Variable init 2018-06-07 10:59:52 +03:00
copy_local.sh chore: Fixing robocopy command syntax 2018-08-28 17:38:31 +03:00
exclude_dirs.txt feat: Adding build API files 2018-11-15 09:58:50 +02:00
exclude_files.txt feat: Copying site repo to content enable local build 2018-08-28 15:15:05 +03:00
favicon.ico Jekyll added 2018-02-20 16:38:41 +02:00
install-npm.sh Jekyll added 2018-02-20 16:38:41 +02:00
knowledge-base.html fix: Excluding KB portal page if the site hasn't implemented it 2018-11-06 14:39:54 +02:00
robots.txt feat: Sitemap generation added. 2018-09-03 14:33:39 +03:00
search.html fix: Remove search results page from sitemap 2018-09-07 17:46:13 +03:00
start-docs.sh merge: Merge master branch 2018-10-26 10:45:38 +03:00
watch.sh feat: Syncronization between host machine and Docker container added. 2018-06-26 14:02:24 +03:00

README.md

docs-seed repo

Contains the documentation site implementation.

Local Setup

This section describes the best practices about what and how should be done in order to run the documentation locally.

Prerequisites

  • Install Docker (Community Edititon(CE) is enough) - please use the official Docker installation guide. Accept the default installation instructions (use Linux containers, etc.)
    • From the Docker Settings window, share the drive where the documentation repos reside with Docker.
  • Choose a repo you want to contribute to (e.g. https://github.com/telerik/xaml-docs.git, we will refer to that repo later as 'MY-REPO')
  • Pull the repo onto your hard drive (e.g. "D:\Work\xaml-docs")

Instructions

  • Clone the current (seed) repo
git clone git@github.com:telerik/docs-seed.git
  • Go to the directory in which you've pulled it (e.g. D:\Work\docs-seed)
  • Open a terminal of your choice (e.g., gitBash)
  • Run the following command by passing the MY-REPO path (the quotes are mandatory):
sh copy_local.sh "D:\Work\xaml-docs"
  • Go to the MY-REPO directory
  • Open a terminal of your choice (e.g., gitBash)
  • Execute the following bash command in the root folder (where the Dockerfile is located)
sh start-docs.sh
  • This is it! You can find the documentation site on server address which is written in the terminal: http://0.0.0.0:4000/. If you can't open the previous URL, replace the '0.0.0.0' with 'localhost' - http://localhost:4000.

For example, for WPF documentation this would be: http://0.0.0.0:4000/devtools/wpf/

If you want to stop the web site and the container in which it has been served, navigate to the terminal in which you've executed the previous command and press CTRL+C.

For WPF and Silverlight, see how to pass an additional config file.

Troubleshooting

Does Not Serve

You executed sh start-docs.sh but you did not see any Jekyll output. Instead, the command ended with

the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

This happens whtn using Git Bash with the MinTTY console. This console does not allow combinations such as Ctrl+C to pass to the Docker container and so you get such an error.

The easiest way to resolve it is to prefix the command with winpty:

winpty sh start-docs.sh

An alternative is to re-install Git Bash and choose the default Windows terminal this time. You can read more detailes in the following post: Docker for Windows: Interactive Sessions in MinTTY Git Bash.

Ctrl+C Does not Work

When you want to stop serving the docs, you may have to repeat the Ctrl+C command or press Enter after it.

.gitignore is Always Modified

The scripts that copy the seed repo to the content repo (MY-REPO), also update the .gitignore file so as to avoid creating unstanged changes with work files that must not be commited. If you keep getting the .gitignore checked out, see what the change is with the original and commit to your repo the version that matches what the tool generates.

Performance

Docker is a resource-intensive tool. If you are not using it on a daily basis, consider preventing it from running on startup. Right click its tray icon > Settings > General, uncheck "Start Docker when you log in". This can save you time when booting up/logging in, but you will need to explicitly start Docker before working on documentation.

Also, it tends to require a lot of HDD space, which may be an issue if you are running it on an SSD drive with limited capacity. You can reduce its quota by opening the Settings dialog > Advanced and either changing the image location, and/or reducing its max size. This also lets you limit its RAM consumption.

Extra Features

You can benefit from the following features:

Additional Config File

In case you want to add an additional config.yml file, pass it to the above command as follows:

sh start-docs.sh _silverlight.yml

LiveSync

To be able to monitor the changes you are making on the built documentation, execute the following command in a new terminal in the root directory of the site:

sh watch.sh

Prerequisite: If you haven't yet, please install Node.js.

Only Build

To only run jekyll build and not jekyll serve, you need to execute the following bash command:

sh build-docs.sh

This can be useful if you want to (or already have) setup local IIS to point to the _site folder in your documentation repo. This allows you to also test redirects that jekyll serve does not support.