import os import sys from tsdoc.page import MarkdownPage from tsdoc.blocks.html import HTMLPrinter from tsdoc.blocks.pdf import PDFPrinter, CheatSheetTemplate # Main code _ = sys.argv.pop(0) page_path = sys.argv.pop(0) out_path = sys.argv.pop(0) # Destination dir doc_dir = os.path.dirname(page_path) if out_path.endswith('.pdf'): printer = PDFPrinter(False, CheatSheetTemplate) elif out_path.endswith('.html'): printer = HTMLPrinter(os.getenv('TSDOC_HTML_TEMPLATE')) page = MarkdownPage(page_path) page.header = os.getenv('TSDOC_HEADER') page.docspace = None with open(out_path, 'wb') as outf: if printer.single_doc: printer.do_print_pages(outf, page.header, [page]) else: printer.do_print(outf, page.header, page)
doc_suffix = '.creole' printer = CreolePrinter() else: raise ValueError("Invalid documentation format '%s'" % doc_format) pages = defaultdict(OrderedDict) tsdoc_pages = [] if verbose: print 'Parsing ', for page_path in sys.argv: page_name = os.path.basename(page_path) print page_name, if page_path.endswith('.src.md'): page = MarkdownPage(page_path) elif page_path.endswith('.tsdoc'): page = TSDocPage(page_path) tsdoc_pages.append(page) pages[page.docspace][page.name] = page if verbose: print '\nProcessing', for page in tsdoc_pages: print '%s/%s' % (page.docspace, page.name), page.process() if verbose: print '\nBuilding index...'
st = os.stat(mdfile) page_date = time.strftime('%B %Y', time.gmtime(st.st_mtime)) cmd_name, section = manfile.rsplit('.', 1) cmd_name = os.path.basename(cmd_name) header = os.getenv('TSDOC_HEADER') return '.TH {0} {1} "{2}" "{3}"'.format(cmd_name, section, page_date, header) mdfile, manfile = sys.argv[1:] manprinter = GroffPrinter() page = MarkdownPage(mdfile) if isinstance(page.blocks[0].parts[0], Header): # Remove first block which is header of entire page because we already # mentioned command name in the title page.blocks.pop(0) # Add some generic information to man page page.blocks.append( Paragraph([ Header('SEE ALSO', 4), Text( 'For more information, please refer to TSLoad documentation ' 'which may already be installed locally and which is also available ' 'online at ' + os.getenv('TSDOC_MAN_URL') + '.') ]))