forked from Ponysearch/Ponysearch
c03e4c86bc
* chg: dev: update standalone_searx parent d8a5df721b33dd8a7cc9e21dba4060f21d629f69 author rachmadaniHaryono <foreturiga@gmail.com> 1603896594 +0800 committer rachmadaniHaryono <foreturiga@gmail.com> 1603896619 +0800 chg: dev: debug engine_shortcuts chg: dev: only initilize if engine is given chg: dev: split main chg: dev: standalone_searx chg: dev: update standalone_searx chg: doc: remove unnecessary log chg: test: differentiate travis chg: test: disable shortcut chg: test: use default engine settings fix: dev: category choices fix: dev: duplicate engine shortcut fix: dev: travis python3 fix: test: use empty string as shortcut fix: test: apkm fix: test: engine shortcut fix: test: mypy fix: test: parameter fix: test: pep8 fix: test: py2 compatibilities fix: test: searx settings fix: test: travis engines new: dev: deduplicate engine new: dev: main receive engines parameter new: dev: parse_argument accept engines parameter new: dev: split search query from get_result func new: test: basic result case Suggestions: use RawTextQuery to make the suggestions URLs. Update all themes accordingly. * new: doc: searx import and init * chg: dev: parse_argument - doc - run on __main__ - simple parse_args * chg: doc: module * chg: dev: import section - remove unused python path modification - new required package * chg: dev: script run - parse_argument func return directly parsed results - main func return dict instead json text - dump directly on sys.stdout.write * chg: dev: get_search_query and get_search_query func * chg: dev: main func - move inner function outside - return dict instead of json text * new: dev: add utils to doc sys path * new: doc: standalone_searx * fix: doc: run script * chg: dev: mypy type hint * chg: dev: SearchQuery don't have attr engines * chg: dev: reset engines __init__ * chg: test: unit test update * chg: dev: pylint and flake8 * new: test: standalone_searx * chg: dev: main func and doc * chg: dev: import and type hint * new: dev: main func - remove get_result func - single func which just translate dict * chg: test: put mypy on dev requirement * chg: doc: update * new: doc: add standalone_searx module member * chg: doc: shell command line * chg: dev: remove mypy * chg: doc: module docstring
128 lines
4.5 KiB
Python
128 lines
4.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import sys, os
|
|
from sphinx_build_tools import load_sphinx_config
|
|
from searx.version import VERSION_STRING
|
|
from pallets_sphinx_themes import ProjectLink
|
|
|
|
from searx.brand import GIT_URL
|
|
GIT_BRANCH = os.environ.get("GIT_BRANCH", "master")
|
|
from searx.brand import SEARX_URL
|
|
from searx.brand import DOCS_URL
|
|
|
|
|
|
# Project --------------------------------------------------------------
|
|
|
|
project = u'searx'
|
|
copyright = u'2015-2020, Adam Tauber, Noémi Ványi'
|
|
author = u'Adam Tauber'
|
|
release, version = VERSION_STRING, VERSION_STRING
|
|
highlight_language = 'none'
|
|
|
|
# General --------------------------------------------------------------
|
|
|
|
master_doc = "index"
|
|
source_suffix = '.rst'
|
|
numfig = True
|
|
|
|
exclude_patterns = ['build-templates/*.rst']
|
|
|
|
from searx import webapp
|
|
jinja_contexts = {
|
|
'webapp': dict(**webapp.__dict__),
|
|
}
|
|
|
|
# usage:: lorem :patch:`f373169` ipsum
|
|
extlinks = {}
|
|
|
|
# upstream links
|
|
extlinks['wiki'] = ('https://github.com/searx/searx/wiki/%s', ' ')
|
|
extlinks['pull'] = ('https://github.com/searx/searx/pull/%s', 'PR ')
|
|
|
|
# links to custom brand
|
|
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://')
|
|
extlinks['patch'] = (GIT_URL + '/commit/%s', '#')
|
|
extlinks['search'] = (SEARX_URL + '/%s', '#')
|
|
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: ')
|
|
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: ')
|
|
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '')
|
|
#extlinks['role'] = (
|
|
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
|
|
extlinks['duref'] = (
|
|
'http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#%s', '')
|
|
extlinks['durole'] = (
|
|
'http://docutils.sourceforge.net/docs/ref/rst/roles.html#%s', '')
|
|
extlinks['dudir'] = (
|
|
'http://docutils.sourceforge.net/docs/ref/rst/directives.html#%s', '')
|
|
extlinks['ctan'] = (
|
|
'https://ctan.org/pkg/%s', 'CTAN: ')
|
|
|
|
extensions = [
|
|
'sphinx.ext.imgmath',
|
|
'sphinx.ext.extlinks',
|
|
'sphinx.ext.viewcode',
|
|
"sphinx.ext.autodoc",
|
|
"sphinx.ext.intersphinx",
|
|
"pallets_sphinx_themes",
|
|
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
|
|
"sphinxcontrib.jinja", # https://github.com/tardyp/sphinx-jinja
|
|
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
|
|
'linuxdoc.kernel_include', # Implementation of the 'kernel-include' reST-directive.
|
|
'linuxdoc.rstFlatTable', # Implementation of the 'flat-table' reST-directive.
|
|
'linuxdoc.kfigure', # Sphinx extension which implements scalable image handling.
|
|
"sphinx_tabs.tabs", # https://github.com/djungelorm/sphinx-tabs
|
|
]
|
|
|
|
intersphinx_mapping = {
|
|
"python": ("https://docs.python.org/3/", None),
|
|
"flask": ("https://flask.palletsprojects.com/", None),
|
|
# "werkzeug": ("https://werkzeug.palletsprojects.com/", None),
|
|
"jinja": ("https://jinja.palletsprojects.com/", None),
|
|
"linuxdoc" : ("https://return42.github.io/linuxdoc/", None),
|
|
"sphinx" : ("https://www.sphinx-doc.org/en/master/", None),
|
|
}
|
|
|
|
issues_github_path = "searx/searx"
|
|
|
|
# HTML -----------------------------------------------------------------
|
|
|
|
sys.path.append(os.path.abspath('_themes'))
|
|
sys.path.insert(0, os.path.abspath("../utils/"))
|
|
html_theme_path = ['_themes']
|
|
html_theme = "searx"
|
|
|
|
# sphinx.ext.imgmath setup
|
|
html_math_renderer = 'imgmath'
|
|
imgmath_image_format = 'svg'
|
|
imgmath_font_size = 14
|
|
# sphinx.ext.imgmath setup END
|
|
|
|
html_theme_options = {"index_sidebar_logo": True}
|
|
html_context = {
|
|
"project_links": [
|
|
ProjectLink("Source", GIT_URL),
|
|
ProjectLink("Wiki", "https://github.com/searx/searx/wiki"),
|
|
ProjectLink("Public instances", "https://searx.space/"),
|
|
ProjectLink("Twitter", "https://twitter.com/Searx_engine"),
|
|
]
|
|
}
|
|
html_sidebars = {
|
|
"**": ["project.html", "relations.html", "searchbox.html"],
|
|
}
|
|
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
|
html_static_path = ["static"]
|
|
html_logo = "static/img/searx_logo_small.png"
|
|
html_title = "Searx Documentation ({})".format("Searx-{}.tex".format(VERSION_STRING))
|
|
html_show_sourcelink = False
|
|
|
|
# LaTeX ----------------------------------------------------------------
|
|
|
|
latex_documents = [
|
|
(master_doc, "searx-{}.tex".format(VERSION_STRING), html_title, author, "manual")
|
|
]
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Since loadConfig overwrites settings from the global namespace, it has to be
|
|
# the last statement in the conf.py file
|
|
# ------------------------------------------------------------------------------
|
|
load_sphinx_config(globals())
|