# gitit wiki configuration file

address: 0.0.0.0
# sets the IP address on which the web server will listen.

port: 5001
# sets the port on which the web server will run.

wiki-title: Wiki
# the title of the wiki.

repository-type: Git
# specifies the type of repository used for wiki content.
# Options are Git, Darcs, and Mercurial.

repository-path: wikidata
# specifies the path of the repository directory.  If it does not
# exist, gitit will create it on startup.

require-authentication: modify
# if 'none', login is never required, and pages can be edited anonymously.
# if 'modify', login is required to modify the wiki (edit, add, delete
# pages, upload files).
# if 'read', login is required to see any wiki pages.

authentication-method: form
# 'form' means that users will be logged in and registered
# using forms in the gitit web interface.  'http' means
# that gitit will assume that HTTP authentication is in
# place and take the logged in username from the "Authorization"
# field of the HTTP request header (in addition,
# the login/logout and registration links will be
# suppressed).  'generic' means that gitit will assume that
# some form of authentication is in place that directly
# sets REMOTE_USER to the name of the authenticated user
# (e.g. mod_auth_cas on apache).  'rpx' means that gitit
# will attempt to log in through https://rpxnow.com.
# This requires that 'rpx-domain', 'rpx-key', and 'base-url'
# be set below, and that 'curl' be in the system path.
# 'github' means that you are redirected to github website and
# need to avail gitit to use your credential from there (github name and
# email). Your email is used to identify you when you push your wiki data
# to git to identify you as the author.

user-file: gitit-users
# specifies the path of the file containing user login information.
# If it does not exist, gitit will create it (with an empty user list).
# This file is not used if 'http' is selected for authentication-method.

session-timeout: 60
# number of minutes of inactivity before a session expires.

static-dir: static
# specifies the path of the static directory (containing javascript,
# css, and images).  If it does not exist, gitit will create it
# and populate it with required scripts, stylesheets, and images.

default-extension: page
# files in the repository path must have this extension in order
# to be recognized as Wiki pages

default-page-type: Markdown
# specifies the type of markup used to interpret pages in the wiki.
# Possible values are Markdown, CommonMark, RST, LaTeX, HTML, Markdown+LHS,
# RST+LHS, LaTeX+LHS, DocBook, Org. (The +LHS variants treat the input as
# literate Haskell. See pandoc's documentation for more details.) If
# Markdown is selected, pandoc's syntax extensions (for footnotes,
# delimited code blocks, etc.) will be enabled. Note that pandoc's
# reStructuredText parser is not complete, so some pages may not be
# rendered correctly if RST is selected. The same goes for LaTeX and
# HTML.

math: mathjax
# specifies how LaTeX math is to be displayed.  Possible values
# are MathML, raw, mathjax, and google.  If mathml is selected,
# gitit will convert LaTeX math to MathML and link in a script,
# MathMLinHTML.js, that allows the MathML to be seen in Gecko browsers, IE +
# mathplayer, and Opera. In other browsers you may get a jumble of characters.
# If raw is selected, the LaTeX math will be displayed as raw LaTeX math.
# If mathjax is selected, gitit will link to the remote mathjax script.
# If google is selected, the google chart API is called to render the formula
# as an image. This requires a connection to google, and might raise a
# technical or a privacy problem.

mathjax-script: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML-full
# specifies the path to MathJax rendering script.
# You might want to use your own MathJax script to render formulas without
# Internet connection or if you want to use some special LaTeX packages.
# Note: path specified there cannot be an absolute path to a script on your hdd, 
# instead you should run your (local if you wish) HTTP server which will 
# serve the MathJax.js script. You can easily (in four lines of code) serve
# MathJax.js using http://happstack.com/docs/crashcourse/FileServing.html
# Do not forget the "http://" prefix (e.g. http://localhost:1234/MathJax.js)

show-lhs-bird-tracks: no
# specifies whether to show Haskell code blocks in "bird style",
# with "> " at the beginning of each line.

templates-dir: templates
# specifies the path of the directory containing page templates.
# If it does not exist, gitit will create it with default templates.
# Users may wish to edit the templates to customize the appearance of
# their wiki. The template files are HStringTemplate templates.
# Variables to be interpolated appear between $'s. Literal $'s must be
# backslash-escaped.

log-file: gitit.log
# specifies the path of gitit's log file.  If it does not exist,
# gitit will create it. The log is in Apache combined log format.

log-level: WARNING
# determines how much information is logged.
# Possible values (from most to least verbose) are DEBUG, INFO,
# NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.

front-page: Front Page
# specifies which wiki page is to be used as the wiki's front page.
# Gitit creates a default front page on startup, if one does not exist
# already.

no-delete: Front Page, Help
# specifies pages that cannot be deleted through the web interface.
# (They can still be deleted directly using git or darcs.)
# A comma-separated list of page names.  Leave blank to allow
# every page to be deleted.

no-edit: Help
# specifies pages that cannot be edited through the web interface.
# Leave blank to allow every page to be edited.

default-summary:
# specifies text to be used in the change description if the author
# leaves the "description" field blank.  If default-summary is blank
# (the default), the author will be required to fill in the description
# field.

delete-summary: Deleted using web interface.
# specifies text to be used in the change description when a page is deleted

table-of-contents: yes
# specifies whether to print a tables of contents (with links to
# sections) on each wiki page.

plugins:
# specifies a list of plugins to load.  Plugins may be specified
# either by their path or by their module name.  If the plugin name
# starts with Gitit.Plugin., gitit will assume that the plugin is
# an installed module and will not try to find a source file.
# Examples:
# plugins: plugins/DotPlugin.hs, CapitalizeEmphasisPlugin.hs
# plugins: plugins/DotPlugin
# plugins: Gitit.Plugin.InterwikiLinks

use-cache: no
# specifies whether to cache rendered pages.  Note that if use-feed
# is selected, feeds will be cached regardless of the value of use-cache.

cache-dir: cache
# directory where rendered pages will be cached

max-upload-size: 100K
# specifies an upper limit on the size (in bytes) of files uploaded
# through the wiki's web interface.
# To disable uploads, set this to 0K.
# This will result in the uploads link disappearing 
# and the _upload url becoming inactive.

max-page-size: 100K
# specifies an upper limit on the size (in bytes) of pages

debug-mode: no
# if "yes", causes debug information to be logged while gitit is running.

compress-responses: yes
# specifies whether HTTP responses should be compressed.

mime-types-file: /etc/mime.types
# specifies the path of a file containing mime type mappings.
# Each line of the file should contain two fields, separated by
# whitespace. The first field is the mime type, the second is a
# file extension.  For example:
# video/x-ms-wmx                    wmx
# If the file is not found, some simple defaults will be used.

use-recaptcha: no
# if "yes", causes gitit to use the reCAPTCHA service
# (http://recaptcha.net) to prevent bots from creating accounts.

recaptcha-private-key:
recaptcha-public-key:
# specifies the public and private keys for the reCAPTCHA service.
# To get these, you need to create an account at http://recaptcha.net.

disable-registration: no
# if "yes", disables registering new users on the wiki

access-question:
access-question-answers:
# specifies a question that users must answer when they attempt to create
# an account, along with a comma-separated list of acceptable answers.
# This can be used to institute a rudimentary password for signing up as
# a user on the wiki, or as an alternative to reCAPTCHA.
# Example:
# access-question:  What is the code given to you by Ms. X?
# access-question-answers:  RED DOG, red dog

rpx-domain:
rpx-key:
# Specifies the domain and key of your RPX account.  The domain is
# just the prefix of the complete RPX domain, so if your full domain
# is 'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.

mail-command: sendmail %s
# specifies the command to use to send notification emails.
# '%s' will be replaced by the destination email address.
# The body of the message will be read from stdin.
# If this field is left blank, password reset will not be offered.

reset-password-message:
  > From: nobody@$hostname$
  > To: $useremail$
  > Subject: Wiki password reset
  >
  > Dear $username$:
  > 
  > To reset your password, please follow the link below:
  > http://$hostname$:$port$$resetlink$
  > 
  > Yours sincerely,
  > The Wiki Master

# gives the text of the message that will be sent to the user should she
# want to reset her password, or change other registration info.
# The lines must be indented, and must begin with '>'.  The initial
# spaces and '> ' will be stripped off. $username$ will be replaced
# by the user's username, $useremail$ by her email address,
# $hostname$ by the hostname on which the wiki is running (as
# returned by the hostname system call), $port$ by the port on
# which the wiki is running, and $resetlink$ by the
# relative path of a reset link derived from the user's existing
# hashed password. If your gitit wiki is being proxied to a location
# other than the root path of $port$, you should change the link to
# reflect this: for example, to
# http://$hostname$/path/to/wiki$resetlink$ or
# http://gitit.$hostname$$resetlink$

use-feed: no
# specifies whether an ATOM feed should be enabled (for the site and for
# individual pages)

base-url:
# the base URL of the wiki, to be used in constructing feed IDs
# and RPX token_urls.
# Set this if use-feed is 'yes' or authentication-method is 'rpx'.

absolute-urls: no
# make wikilinks absolute with respect to the base-url.
# So, for example, in a wiki served at the base URL '/wiki', on a page
# Sub/Page, the wikilink '[Cactus]()' will produce a link to
# '/wiki/Cactus' if absolute-urls is 'yes', and a relative link to 'Cactus'
# (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'.

feed-days: 14
# number of days to be included in feeds.

feed-refresh-time: 60
# number of minutes to cache feeds before refreshing

pandoc-user-data:
# if a directory is specified, this will be searched for pandoc
# customizations.  If no directory is
# specified, $HOME/.pandoc will be searched. See pandoc's README for
# more information.

xss-sanitize: yes
# if yes, all HTML (including that produced by pandoc) is filtered
# through xss-sanitize.  Set to no only if you trust all of your users.

recent-activity-days: 30
# if the activity page receives no 'since' parameter specifiying the time
# thereafter which to show the changes, it will by default show "recent"
# changes. This allows you to specify how recent "recent" means, in days.

[Github]
# replace dummy oauthclientid and oauthclientsecret:
oauthclientid: 01239456789abcdef012
oauthclientsecret: 01239456789abcdef01239456789abcdef012394
oauthcallback: http://mysite/_githubCallback
oauthoauthorizeendpoint: https://github.com/login/oauth/authorize
oauthaccesstokenendpoint: https://github.com/login/oauth/access_token
## Uncomment if you are checking membership against an organization and change
## gitit-testorg to this organization:
# github-org: gitit-testorg
