Changes in / [f8b59e3:940d034] in sasview


Ignore:
Files:
4 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    re9df8a5 recdd132  
    4949/docs/sphinx-docs/source/user/perspectives 
    5050/docs/sphinx-docs/source/user/sasgui 
    51 /docs/sphinx-docs/katex*.zip 
    5251 
    5352 
  • docs/sphinx-docs/Makefile

    r3194371 r1d5f5c2  
    1616PAPEROPT_a4     = -D latex_paper_size=a4 
    1717PAPEROPT_letter = -D latex_paper_size=letter 
    18 ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source-temp 
     18ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 
    1919# the i18n builder cannot share the environment and doctrees with the others 
    2020I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 
     
    5353        rm -rf source/dev/api 
    5454        sphinx-apidoc -o source/dev/api -d 8 ../../src 
    55  
     55         
    5656html: stubs 
    5757        $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 
  • docs/sphinx-docs/build_sphinx.py

    rf4771596 r01f1e17  
    324324        print("!!!!NO MODEL DOCS WILL BE BUILT!!!!") 
    325325 
     326 
    326327def retrieve_bumps_docs(): 
    327328    """ 
     
    359360                     SASVIEW_BUILD]) 
    360361 
    361 def build_pdf(): 
    362     """ 
    363     Runs sphinx-build for pdf.  Reads in all .rst files and spits out the final html. 
    364     """ 
    365     print("=== Build PDF Docs from ReST Files ===") 
    366     subprocess.call(["sphinx-build", 
    367                      "-b", "latex", # Builder name. TODO: accept as arg to setup.py. 
    368                      "-d", os.path.join(SPHINX_BUILD, "doctrees"), 
    369                      SPHINX_SOURCE, 
    370                      os.path.join(SPHINX_BUILD, "latex")]) 
    371  
    372     LATEXDIR = os.path.join(SPHINX_BUILD, "latex") 
    373     def pdflatex(): 
    374         subprocess.call(["pdflatex", "Sasview.tex"], cwd=LATEXDIR) 
    375     pdflatex() 
    376     pdflatex() 
    377     pdflatex() 
    378     subprocess.call(["makeindex", "-s", "python.ist", "Sasview.idx"], cwd=LATEXDIR) 
    379     pdflatex() 
    380     pdflatex() 
    381  
    382     print("=== Copy PDF to HTML Directory ===") 
    383     source = os.path.join(LATEXDIR, "Sasview.pdf") 
    384     target = os.path.join(SASVIEW_DOCS, "Sasview.pdf") 
    385     shutil.copyfile(source, target) 
    386  
    387362def build(): 
    388363    """ 
    389364    Runs sphinx-build.  Reads in all .rst files and spits out the final html. 
    390365    """ 
    391     print("=== Build HTML Docs from ReST Files ===") 
     366    print("=== Build HTML Docs from Rest Files ===") 
    392367    subprocess.call(["sphinx-build", 
    393368                     "-b", "html", # Builder name. TODO: accept as arg to setup.py. 
     
    400375    copy_tree(html, SASVIEW_DOCS) 
    401376 
    402 def fetch_katex(version, destination="_static"): 
    403     from zipfile import ZipFile 
    404     import urllib2 
    405     url = "https://github.com/Khan/KaTeX/releases/download/%s/katex.zip" % version 
    406     cache_path = "katex_%s.zip" % version 
    407     if not os.path.exists(cache_path): 
    408         try: 
    409             fd_in = urllib2.urlopen(url) 
    410             with open(cache_path, "wb") as fd_out: 
    411                 fd_out.write(fd_in.read()) 
    412         finally: 
    413             fd_in.close() 
    414     with ZipFile(cache_path) as zip: 
    415         zip.extractall(destination) 
    416  
    417 def convert_katex(): 
    418     print("=== Preprocess HTML, converting latex to html ===") 
    419     subprocess.call(["node", "convertKaTex.js", SASVIEW_DOCS]) 
    420  
    421 def convert_mathjax(): 
    422     print("=== Preprocess HTML, converting latex to html ===") 
    423     subprocess.call(["node", "convertMathJax.js", SASVIEW_DOCS]) 
    424  
    425 def fetch_mathjax(): 
    426     subprocess.call(["npm", "install", "mathjax-node-page"]) 
    427     # TODO: copy fonts from node_modules/mathjax/fonts/HTML-CSS/Tex into static 
     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) 
    428389 
    429390def rebuild(): 
     
    432393    retrieve_user_docs() 
    433394    retrieve_bumps_docs() 
    434     #fetch_katex(version=KATEX_VERSION, destination=KATEX_PARENT) 
    435     #fetch_mathjax() 
    436395    apidoc() 
    437396    build() 
    438     #build_pdf() 
    439     #convert_katex() 
    440     #convert_mathjax() 
    441397 
    442398    print("=== Done ===") 
  • docs/sphinx-docs/source/conf.py

    rf4771596 r959eb01  
    3636              'sphinx.ext.coverage', 
    3737              'sphinx.ext.mathjax', 
    38               #'mathjax',  # replacement mathjax that allows a list of paths 
    3938              'dollarmath', 
    4039              'sphinx.ext.viewcode'] 
    41  
    42 mathjax_path = ( 
    43     'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?' 
    44     'config=TeX-MML-AM_CHTML') 
    45  
    46 # For katex uncomment the following 
    47 """ 
    48 #STATIC_PATH = '../../_static/' 
    49 STATIC_PATH = '' 
    50 mathjax_path = [ 
    51     STATIC_PATH + 'katex/katex.min.js', 
    52     STATIC_PATH + 'katex/contrib/auto-render.min.js', 
    53     STATIC_PATH + 'rendermath.js' 
    54 ] 
    55 mathjax_css = STATIC_PATH + 'katex/katex.min.css' 
    56 """ 
    57  
    5840 
    5941# Add any paths that contain templates here, relative to this directory. 
     
    219201# -- Options for LaTeX output -------------------------------------------------- 
    220202 
    221 # TODO: seems like angstroms is defined twice. 
    222203LATEX_PREAMBLE=r""" 
     204\renewcommand{\AA}{\text{\r{A}}} % Allow \AA in math mode 
    223205\usepackage[utf8]{inputenc}      % Allow unicode symbols in text 
    224 \usepackage{underscore}          % Allow underscore outside math mode 
    225 \usepackage[T1]{fontenc}         % Use underscore character from font 
    226 \newcommand{\lt}{<}              % HTML needs \lt rather than < 
    227 \newcommand{\gt}{>}              % HTML needs \gt rather than > 
    228 \renewcommand{\AA}{\text{\r{A}}} % Allow \AA in math mode 
    229 \DeclareUnicodeCharacter {212B} {\AA}                  % Angstrom 
     206\usepackage[T1]{fontenc}      % Taking care of underscores 
     207\catcode`\_=12                % Moving underscore to category 12 
     208\newcommand{\lt}{<}           %lower than symbol handling 
     209\newcommand{\gt}{>}           %greater than symbol handling 
    230210\DeclareUnicodeCharacter {00B7} {\ensuremath{\cdot}}   % cdot 
    231211\DeclareUnicodeCharacter {00B0} {\ensuremath{^\circ}}  % degrees 
     212\DeclareUnicodeCharacter {212B} {\AA}                  % Angstrom 
    232213""" 
    233214latex_elements = { 
  • src/sas/sasgui/guiframe/documentation_window.py

    r35ddae5 r959eb01  
    1616import os 
    1717import logging 
     18import wx 
    1819import webbrowser 
    1920import urllib 
    2021import sys 
    2122 
    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  
    3123logger = logging.getLogger(__name__) 
    3224 
    3325SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 
     26WX_SUPPORTS_HTML2 = True 
     27try: 
     28    import wx.html2 as html 
     29except: 
     30    WX_SUPPORTS_HTML2 = False 
    3431 
    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 
    4232 
    43 def _documentation_server(doc_root, port): 
    44     from SimpleHTTPServer import SimpleHTTPRequestHandler 
    45     from SocketServer import TCPServer 
     33from gui_manager import get_app_dir 
    4634 
    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() 
    5635 
    5736class DocumentationWindow(wx.Frame): 
     
    9170        #Note added June 21, 2015     PDB 
    9271        file_path = os.path.join(docs_path, path) 
    93         if path.startswith('http'): 
    94             url = path 
    95         elif not os.path.exists(file_path): 
    96             url = "index.html" 
     72        url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction 
     73 
     74        if not os.path.exists(file_path): 
    9775            logger.error("Could not find Sphinx documentation at %s \ 
    9876            -- has it been built?", file_path) 
    99         elif False: 
    100             start_documentation_server(docs_path, port=7999) 
    101             url = "http://127.0.0.1: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: 
     77        elif WX_SUPPORTS_HTML2: 
    10778            # Complete HTML/CSS support! 
    10879            self.view = html.WebView.New(self) 
    10980            self.view.LoadURL(url) 
    110             self.Bind(html.EVT_WEBVIEW_ERROR, self.OnError, self.view) 
    11181            self.Show() 
    11282        else: 
     
    11888            webbrowser.open_new_tab(url) 
    11989 
    120     def OnError(self, evt): 
    121         logger.error("%d: %s", evt.GetInt(), evt.GetString()) 
    122  
    12390def main(): 
    12491    """ 
    12592    main loop function if running alone for testing. 
    12693    """ 
    127     url = "index.html" if len(sys.argv) <= 1 else sys.argv[1] 
    12894    app = wx.App() 
    129     DocumentationWindow(None, -1, url, "", "Documentation",) 
     95    DocumentationWindow(None, -1, "index.html", "", "Documentation",) 
    13096    app.MainLoop() 
    13197 
Note: See TracChangeset for help on using the changeset viewer.