Support Portal

Tor Support Portal is a static site based on ​Lektor. You can also check ​Support Portal repository.

The Support Portal is hosted at several computers for redundancy, and these computers are together called "the www rotation". Please check the ​static sites help page for more info.

The support portal has a staging environment:

And a production environment:

Content and Translations

The support portal fetches content from the *.lr files under the content folder. This are the pages to update with content, in English.

The contents+<locale>.lr files are generated automatically. Please don't update this pages directly because your work may be lost. The translations are located under the i18n folder: . You can translate them through Transifex (needs login) at

Inside the content folder, each subfolder represents a support topic. In this case the is where the topic title is defined and the control key that decides the order of the topic within all the questions list. Dont edit the locale files, only the file Example:

For each topic folder there will be a number of subfolders representing a question each. For each question there is a .lr file and locale files in the format contents+<locale>.lr. Dont edit the locale files, only the file. Example:

Inside a contents file you will find question title and description in the format:

_model: question
title: Our website is blocked by a censor. Can Tor Browser help users access our website?

Tor Browser can certainly help people access your website in places where it is blocked.
Most of the time, simply downloading the ​<mark><a href="">Tor Browser</a></mark> and then using it to navigate to the blocked site will allow access.
In places where there is heavy censorship we have a number of censorship circumvention options available, including ​<mark><a href="">pluggable transports</a></mark>.

For more information, please see the <mark><a href="">​Tor Browser User Manual</a></mark> section on <mark><a href="">censorship</a></mark>.

When creating a document:

  • Use MarkDown format to generate the layout more cleanly. Try to avoid unnecessary html tags.
  • Add a line break after each period to create a new translation string. 2 linebreaks to create a paragraph.

Compiling a local version of the Support Portal

  1. Get lektor:
  2. Clone the repo:
  3. The translations are imported through a git submodule ( Get the i18n submodule:
cd support
git submodule update --init --recursive
git submodule foreach git checkout *.po
git submodule foreach git pull
  1. Install the i18n plugin:
lektor plugins add lektor-i18n

Then you can make changes to the files, and then

lektor build
lektor server

Update translations ===================

Similarly, if you want to get the last translations, you do:

git submodule foreach git checkout *.po
git submodule foreach git pull
lektor build && lektor build && lektor build

And then you will have some changes on the files, that you can commit to the repo. (lektor is built three times so the .po files get compiled and change the content)

Add a new language to the support portal

To add a new language, it should appear first here:

You will need to edit this files:

- databags/alternatives.ini
- configs/i18n.ini 
- portal.lektorproject

and then, create the files:

export lang=bn_BD
cp databags/menu+en.ini databags/menu+$lang\.ini
cp databags/topics+en.ini databags/topics+$lang\.ini

Support Portal's Ticket Query

Ticket Status Summary Owner Reporter
#29502 new Glossary on the support portal should be moved to the main menu hiro emmapeel
#29075 new Sort support glossary by target language hiro traumschule
#28549 assigned Add missing FAQ questions to support.tpo emmapeel traumschule
#28499 new tb-manual: create redirects for old resources hiro emmapeel
#28488 needs_review Fix absolute paths on phoul traumschule
#27562 new Detect the locale and automatically serve the language specific support portal hiro sukhbir

Last modified 3 months ago Last modified on Nov 17, 2018, 8:12:19 AM