Changes in / [f2ea95a:dce368f] in sasview
- Files:
-
- 3 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
recdd132 re9df8a5 49 49 /docs/sphinx-docs/source/user/perspectives 50 50 /docs/sphinx-docs/source/user/sasgui 51 /docs/sphinx-docs/katex*.zip 51 52 52 53 -
docs/sphinx-docs/Makefile
r1d5f5c2 r3194371 16 16 PAPEROPT_a4 = -D latex_paper_size=a4 17 17 PAPEROPT_letter = -D latex_paper_size=letter 18 ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 18 ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source-temp 19 19 # the i18n builder cannot share the environment and doctrees with the others 20 20 I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source … … 53 53 rm -rf source/dev/api 54 54 sphinx-apidoc -o source/dev/api -d 8 ../../src 55 55 56 56 html: stubs 57 57 $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html -
docs/sphinx-docs/build_sphinx.py
r01f1e17 r3194371 324 324 print("!!!!NO MODEL DOCS WILL BE BUILT!!!!") 325 325 326 def fetch_katex(version, destination="_static"): 327 from zipfile import ZipFile 328 import urllib2 329 url = "https://github.com/Khan/KaTeX/releases/download/%s/katex.zip" % version 330 cache_path = "katex_%s.zip" % version 331 if not os.path.exists(cache_path): 332 try: 333 fd_in = urllib2.urlopen(url) 334 with open(cache_path, "wb") as fd_out: 335 fd_out.write(fd_in.read()) 336 finally: 337 fd_in.close() 338 with ZipFile(cache_path) as zip: 339 zip.extractall(destination) 326 340 327 341 def retrieve_bumps_docs(): … … 360 374 SASVIEW_BUILD]) 361 375 376 def build_pdf(): 377 """ 378 Runs sphinx-build for pdf. Reads in all .rst files and spits out the final html. 379 """ 380 print("=== Build PDF Docs from ReST Files ===") 381 subprocess.call(["sphinx-build", 382 "-b", "latex", # Builder name. TODO: accept as arg to setup.py. 383 "-d", os.path.join(SPHINX_BUILD, "doctrees"), 384 SPHINX_SOURCE, 385 os.path.join(SPHINX_BUILD, "latex")]) 386 387 LATEXDIR = os.path.join(SPHINX_BUILD, "latex") 388 def pdflatex(): 389 subprocess.call(["pdflatex", "Sasview.tex"], cwd=LATEXDIR) 390 pdflatex() 391 pdflatex() 392 pdflatex() 393 subprocess.call(["makeindex", "-s", "python.ist", "Sasview.idx"], cwd=LATEXDIR) 394 pdflatex() 395 pdflatex() 396 397 print("=== Copy PDF to HTML Directory ===") 398 source = os.path.join(LATEXDIR, "Sasview.pdf") 399 target = os.path.join(SASVIEW_DOCS, "Sasview.pdf") 400 shutil.copyfile(source, target) 401 362 402 def build(): 363 403 """ 364 404 Runs sphinx-build. Reads in all .rst files and spits out the final html. 365 405 """ 366 print("=== Build HTML Docs from Re stFiles ===")406 print("=== Build HTML Docs from ReST Files ===") 367 407 subprocess.call(["sphinx-build", 368 408 "-b", "html", # Builder name. TODO: accept as arg to setup.py. … … 375 415 copy_tree(html, SASVIEW_DOCS) 376 416 377 #We are building latex doc on linux only 378 if "linux" in platform: 379 print "=== Build Latex Docs from Rest Files ===" 380 subprocess.call(["sphinx-build", 381 "-b", "latex", # Builder name. TODO: accept as arg to setup.py. 382 "-d", os.path.join(SPHINX_BUILD, "doctrees"), 383 SPHINX_SOURCE, 384 os.path.join(SPHINX_BUILD, "latex")]) 385 386 print "=== Copy Latex Docs to Build Directory ===" 387 latex = os.path.join(SPHINX_BUILD, "latex") 388 copy_tree(latex, SASVIEW_DOCS) 417 def convert_katex(): 418 print("=== Preprocess HTML, converting latex to html ===") 419 subprocess.call(["node", "convertKaTex.js", SASVIEW_DOCS]) 389 420 390 421 def rebuild(): … … 393 424 retrieve_user_docs() 394 425 retrieve_bumps_docs() 426 fetch_katex(version=KATEX_VERSION, destination=KATEX_PARENT) 395 427 apidoc() 396 428 build() 429 #build_pdf() 430 #convert_katex() 397 431 398 432 print("=== Done ===") -
docs/sphinx-docs/source/conf.py
r959eb01 r28c4a3d 35 35 'sphinx.ext.todo', 36 36 'sphinx.ext.coverage', 37 ' sphinx.ext.mathjax',37 'mathjax', 38 38 'dollarmath', 39 39 'sphinx.ext.viewcode'] 40 41 #STATIC_PATH = '../../_static/' 42 STATIC_PATH = '' 43 mathjax_path = [ 44 STATIC_PATH + 'katex/katex.min.js', 45 STATIC_PATH + 'katex/contrib/auto-render.min.js', 46 STATIC_PATH + 'rendermath.js' 47 ] 48 mathjax_css = STATIC_PATH + 'katex/katex.min.css' 49 40 50 41 51 # Add any paths that contain templates here, relative to this directory. -
src/sas/sasgui/guiframe/documentation_window.py
r959eb01 r9d566b2 16 16 import os 17 17 import logging 18 import wx19 18 import webbrowser 20 19 import urllib 21 20 import sys 22 21 22 import wx 23 try: 24 import wx.html2 as html 25 WX_SUPPORTS_HTML2 = True 26 except ImportError: 27 WX_SUPPORTS_HTML2 = False 28 29 from .gui_manager import get_app_dir 30 23 31 logger = logging.getLogger(__name__) 24 32 25 33 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 26 WX_SUPPORTS_HTML2 = True27 try:28 import wx.html2 as html29 except:30 WX_SUPPORTS_HTML2 = False31 34 35 THREAD_STARTED = False 36 def start_documentation_server(doc_root, port): 37 import thread 38 global THREAD_STARTED 39 if not THREAD_STARTED: 40 thread.start_new_thread(_documentation_server, (doc_root, port)) 41 THREAD_STARTED = True 32 42 33 from gui_manager import get_app_dir 43 def _documentation_server(doc_root, port): 44 from SimpleHTTPServer import SimpleHTTPRequestHandler 45 from SocketServer import TCPServer 34 46 47 os.chdir(doc_root) 48 httpd = TCPServer(("127.0.0.1", port), SimpleHTTPRequestHandler, bind_and_activate=False) 49 httpd.allow_reuse_address = True 50 try: 51 httpd.server_bind() 52 httpd.server_activate() 53 httpd.serve_forever() 54 finally: 55 httpd.server_close() 35 56 36 57 class DocumentationWindow(wx.Frame): … … 70 91 #Note added June 21, 2015 PDB 71 92 file_path = os.path.join(docs_path, path) 72 url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction 73 74 if not os.path.exists(file_path): 93 if path.startswith('http'): 94 url = path 95 elif not os.path.exists(file_path): 96 url = "index.html" 75 97 logger.error("Could not find Sphinx documentation at %s \ 76 98 -- has it been built?", file_path) 77 elif WX_SUPPORTS_HTML2: 99 elif True: 100 start_documentation_server(docs_path, port=7999) 101 url = "http://localhost:7999/" + path.replace('\\', '/') + url_instruction 102 else: 103 url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction 104 105 logger.info("showing url " + url) 106 if WX_SUPPORTS_HTML2: 78 107 # Complete HTML/CSS support! 79 108 self.view = html.WebView.New(self) 80 109 self.view.LoadURL(url) 110 self.Bind(html.EVT_WEBVIEW_ERROR, self.OnError, self.view) 81 111 self.Show() 82 112 else: … … 88 118 webbrowser.open_new_tab(url) 89 119 120 def OnError(self, evt): 121 logger.error("%d: %s", evt.GetInt(), evt.GetString()) 122 90 123 def main(): 91 124 """ 92 125 main loop function if running alone for testing. 93 126 """ 127 url = "index.html" if len(sys.argv) <= 1 else sys.argv[1] 94 128 app = wx.App() 95 DocumentationWindow(None, -1, "index.html", "", "Documentation",)129 DocumentationWindow(None, -1, url, "", "Documentation",) 96 130 app.MainLoop() 97 131
Note: See TracChangeset
for help on using the changeset viewer.