亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? __init__.py

?? Requirement =====================================================================================
?? PY
字號:
# Author: Chris Liechti# Contact: cliechti@gmx.net# Author: David Goodger# Contact: goodger@python.org# Revision: $Revision: 4223 $# Date: $Date: 2005-12-18 00:52:30 +0100 (Sun, 18 Dec 2005) $# Copyright: This module has been placed in the public domain."""S5/HTML Slideshow Writer."""__docformat__ = 'reStructuredText'import sysimport osimport reimport docutilsfrom docutils import frontend, nodes, utilsfrom docutils.writers import html4css1from docutils.parsers.rst import directivesthemes_dir_path = utils.relative_path(    os.path.join(os.getcwd(), 'dummy'),    os.path.join(os.path.dirname(__file__), 'themes'))def find_theme(name):    # Where else to look for a theme?    # Check working dir?  Destination dir?  Config dir?  Plugins dir?    path = os.path.join(themes_dir_path, name)    if not os.path.isdir(path):        raise docutils.ApplicationError(            'Theme directory not found: %r (path: %r)' % (name, path))    return pathclass Writer(html4css1.Writer):    settings_spec = html4css1.Writer.settings_spec + (        'S5 Slideshow Specific Options',        'For the S5/HTML writer, the --no-toc-backlinks option '        '(defined in General Docutils Options above) is the default, '        'and should not be changed.',        (('Specify an installed S5 theme by name.  Overrides --theme-url.  '          'The default theme name is "default".  The theme files will be '          'copied into a "ui/<theme>" directory, in the same directory as the '          'destination file (output HTML).  Note that existing theme files '          'will not be overwritten (unless --overwrite-theme-files is used).',          ['--theme'],          {'default': 'default', 'metavar': '<name>',           'overrides': 'theme_url'}),         ('Specify an S5 theme URL.  The destination file (output HTML) will '          'link to this theme; nothing will be copied.  Overrides --theme.',          ['--theme-url'],          {'metavar': '<URL>', 'overrides': 'theme'}),         ('Allow existing theme files in the ``ui/<theme>`` directory to be '          'overwritten.  The default is not to overwrite theme files.',          ['--overwrite-theme-files'],          {'action': 'store_true'}),         ('Keep existing theme files in the ``ui/<theme>`` directory; do not '          'overwrite any.  This is the default.',          ['--keep-theme-files'],          {'dest': 'overwrite_theme_files', 'action': 'store_false'}),         ('Enable the current slide indicator ("1 / 15").  '          'The default is to disable it.',          ['--current-slide'],          {'action': 'store_true'}),         ('Disable the current slide indicator.  This is the default.',          ['--no-current-slide'],          {'dest': 'current_slide', 'action': 'store_false'}),))    settings_default_overrides = {'toc_backlinks': 0}    config_section = 's5_html writer'    config_section_dependencies = ('writers', 'html4css1 writer')    def __init__(self):        html4css1.Writer.__init__(self)        self.translator_class = S5HTMLTranslatorclass S5HTMLTranslator(html4css1.HTMLTranslator):    doctype = (        '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"'        ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n')    s5_stylesheet_template = """\<!-- configuration parameters --><meta name="defaultView" content="slideshow" /><meta name="controlVis" content="hidden" /><!-- style sheet links --><script src="%(path)s/slides.js" type="text/javascript"></script><link rel="stylesheet" href="%(path)s/slides.css"      type="text/css" media="projection" id="slideProj" /><link rel="stylesheet" href="%(path)s/outline.css"      type="text/css" media="screen" id="outlineStyle" /><link rel="stylesheet" href="%(path)s/print.css"      type="text/css" media="print" id="slidePrint" /><link rel="stylesheet" href="%(path)s/opera.css"      type="text/css" media="projection" id="operaFix" />\n"""    # The script element must go in front of the link elements to    # avoid a flash of unstyled content (FOUC), reproducible with    # Firefox.    disable_current_slide = """<style type="text/css">#currentSlide {display: none;}</style>\n"""    layout_template = """\<div class="layout"><div id="controls"></div><div id="currentSlide"></div><div id="header">%(header)s</div><div id="footer">%(title)s%(footer)s</div></div>\n"""# <div class="topleft"></div># <div class="topright"></div># <div class="bottomleft"></div># <div class="bottomright"></div>    default_theme = 'default'    """Name of the default theme."""    base_theme_file = '__base__'    """Name of the file containing the name of the base theme."""    direct_theme_files = (        'slides.css', 'outline.css', 'print.css', 'opera.css', 'slides.js')    """Names of theme files directly linked to in the output HTML"""    indirect_theme_files = (        's5-core.css', 'framing.css', 'pretty.css', 'blank.gif', 'iepngfix.htc')    """Names of files used indirectly; imported or used by files in    `direct_theme_files`."""    required_theme_files = indirect_theme_files + direct_theme_files    """Names of mandatory theme files."""    def __init__(self, *args):        html4css1.HTMLTranslator.__init__(self, *args)        #insert S5-specific stylesheet and script stuff:        self.theme_file_path = None        self.setup_theme()        self.stylesheet.append(self.s5_stylesheet_template                               % {'path': self.theme_file_path})        if not self.document.settings.current_slide:            self.stylesheet.append(self.disable_current_slide)        self.add_meta('<meta name="version" content="S5 1.1" />\n')        self.s5_footer = []        self.s5_header = []        self.section_count = 0        self.theme_files_copied = None    def setup_theme(self):        if self.document.settings.theme:            self.copy_theme()        elif self.document.settings.theme_url:            self.theme_file_path = self.document.settings.theme_url        else:            raise docutils.ApplicationError(                'No theme specified for S5/HTML writer.')    def copy_theme(self):        """        Locate & copy theme files.        A theme may be explicitly based on another theme via a '__base__'        file.  The default base theme is 'default'.  Files are accumulated        from the specified theme, any base themes, and 'default'.        """        settings = self.document.settings        path = find_theme(settings.theme)        theme_paths = [path]        self.theme_files_copied = {}        required_files_copied = {}        # This is a link (URL) in HTML, so we use "/", not os.sep:        self.theme_file_path = '%s/%s' % ('ui', settings.theme)        if settings._destination:            dest = os.path.join(                os.path.dirname(settings._destination), 'ui', settings.theme)            if not os.path.isdir(dest):                os.makedirs(dest)        else:            # no destination, so we can't copy the theme            return        default = 0        while path:            for f in os.listdir(path):  # copy all files from each theme                if f == self.base_theme_file:                    continue            # ... except the "__base__" file                if ( self.copy_file(f, path, dest)                     and f in self.required_theme_files):                    required_files_copied[f] = 1            if default:                break                   # "default" theme has no base theme            # Find the "__base__" file in theme directory:            base_theme_file = os.path.join(path, self.base_theme_file)            # If it exists, read it and record the theme path:            if os.path.isfile(base_theme_file):                lines = open(base_theme_file).readlines()                for line in lines:                    line = line.strip()                    if line and not line.startswith('#'):                        path = find_theme(line)                        if path in theme_paths: # check for duplicates (cycles)                            path = None         # if found, use default base                        else:                            theme_paths.append(path)                        break                else:                   # no theme name found                    path = None         # use default base            else:                       # no base theme file found                path = None             # use default base            if not path:                path = find_theme(self.default_theme)                theme_paths.append(path)                default = 1        if len(required_files_copied) != len(self.required_theme_files):            # Some required files weren't found & couldn't be copied.            required = list(self.required_theme_files)            for f in required_files_copied.keys():                required.remove(f)            raise docutils.ApplicationError(                'Theme files not found: %s'                % ', '.join(['%r' % f for f in required]))    files_to_skip_pattern = re.compile(r'~$|\.bak$|#$|\.cvsignore$')    def copy_file(self, name, source_dir, dest_dir):        """        Copy file `name` from `source_dir` to `dest_dir`.        Return 1 if the file exists in either `source_dir` or `dest_dir`.        """        source = os.path.join(source_dir, name)        dest = os.path.join(dest_dir, name)        if self.theme_files_copied.has_key(dest):            return 1        else:            self.theme_files_copied[dest] = 1        if os.path.isfile(source):            if self.files_to_skip_pattern.search(source):                return None            settings = self.document.settings            if os.path.exists(dest) and not settings.overwrite_theme_files:                settings.record_dependencies.add(dest)            else:                src_file = open(source, 'rb')                src_data = src_file.read()                src_file.close()                dest_file = open(dest, 'wb')                dest_dir = dest_dir.replace(os.sep, '/')                dest_file.write(src_data.replace(                    'ui/default', dest_dir[dest_dir.rfind('ui/'):]))                dest_file.close()                settings.record_dependencies.add(source)            return 1        if os.path.isfile(dest):            return 1    def depart_document(self, node):        header = ''.join(self.s5_header)        footer = ''.join(self.s5_footer)        title = ''.join(self.html_title).replace('<h1 class="title">', '<h1>')        layout = self.layout_template % {'header': header,                                         'title': title,                                         'footer': footer}        self.fragment.extend(self.body)        self.body_prefix.extend(layout)        self.body_prefix.append('<div class="presentation">\n')        self.body_prefix.append(            self.starttag({'classes': ['slide'], 'ids': ['slide0']}, 'div'))        if not self.section_count:            self.body.append('</div>\n')        self.body_suffix.insert(0, '</div>\n')        # skip content-type meta tag with interpolated charset value:        self.html_head.extend(self.head[1:])        self.html_body.extend(self.body_prefix[1:] + self.body_pre_docinfo                              + self.docinfo + self.body                              + self.body_suffix[:-1])    def depart_footer(self, node):        start = self.context.pop()        self.s5_footer.append('<h2>')        self.s5_footer.extend(self.body[start:])        self.s5_footer.append('</h2>')        del self.body[start:]    def depart_header(self, node):        start = self.context.pop()        header = ['<div id="header">\n']        header.extend(self.body[start:])        header.append('\n</div>\n')        del self.body[start:]        self.s5_header.extend(header)    def visit_section(self, node):        if not self.section_count:            self.body.append('\n</div>\n')        self.section_count += 1        self.section_level += 1        if self.section_level > 1:            # dummy for matching div's            self.body.append(self.starttag(node, 'div', CLASS='section'))        else:            self.body.append(self.starttag(node, 'div', CLASS='slide'))    def visit_subtitle(self, node):        if isinstance(node.parent, nodes.section):            level = self.section_level + self.initial_header_level - 1            if level == 1:                level = 2            tag = 'h%s' % level            self.body.append(self.starttag(node, tag, ''))            self.context.append('</%s>\n' % tag)        else:            html4css1.HTMLTranslator.visit_subtitle(self, node)    def visit_title(self, node, move_ids=0):        html4css1.HTMLTranslator.visit_title(self, node, move_ids=move_ids)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人悠悠色影视| 欧美一卡在线观看| 日韩美女视频19| 色偷偷久久一区二区三区| 一区二区在线免费| 欧美日韩免费观看一区二区三区| 性感美女久久精品| 91精品国产aⅴ一区二区| 精品无人区卡一卡二卡三乱码免费卡 | 中文字幕巨乱亚洲| 99这里都是精品| 亚洲成人av一区二区三区| 欧美日韩国产系列| 国产一区二区三区免费看| 欧美国产禁国产网站cc| 在线一区二区观看| 久久成人久久爱| 一色桃子久久精品亚洲| 欧美自拍偷拍一区| 另类小说一区二区三区| 亚洲欧美中日韩| 欧美挠脚心视频网站| 美国av一区二区| 中文字幕一区二区三区不卡 | 日本免费在线视频不卡一不卡二| 337p日本欧洲亚洲大胆色噜噜| 粉嫩蜜臀av国产精品网站| 亚洲一区欧美一区| 久久久久久毛片| 欧美精品日日鲁夜夜添| 国产不卡视频在线观看| 日本欧美一区二区| 国产精品久久久久久久蜜臀| 538prom精品视频线放| 成人av网站免费观看| 美女视频黄a大片欧美| 日韩美女精品在线| 久久视频一区二区| 欧美精品黑人性xxxx| 成人的网站免费观看| 另类小说欧美激情| 夜夜爽夜夜爽精品视频| 欧美国产一区在线| 日韩欧美一级二级| 色一情一乱一乱一91av| 国产麻豆一精品一av一免费| 婷婷中文字幕一区三区| 亚洲欧洲无码一区二区三区| 久久噜噜亚洲综合| 7777精品伊人久久久大香线蕉的| 91网站在线播放| 国产白丝精品91爽爽久久| 免费视频一区二区| 天堂一区二区在线免费观看| 亚洲桃色在线一区| 国产女同互慰高潮91漫画| 日韩精品最新网址| 制服丝袜av成人在线看| 欧美在线观看视频一区二区三区 | 亚洲欧美日韩国产一区二区三区| 久久综合九色综合欧美98| 777a∨成人精品桃花网| 欧美在线观看视频在线| 日本道色综合久久| 成人国产精品视频| 粉嫩aⅴ一区二区三区四区 | 久久综合久久久久88| 欧美一区二区三区婷婷月色| 欧美色图第一页| 在线视频国内自拍亚洲视频| 91视频免费观看| 色综合一区二区三区| 91美女片黄在线观看| 91麻豆免费观看| 色素色在线综合| 一本到一区二区三区| 91视视频在线观看入口直接观看www| 成人激情视频网站| 91香蕉国产在线观看软件| 色噜噜狠狠成人中文综合| 色综合天天在线| 欧美影视一区在线| 欧美精品久久天天躁| 欧美一区二区免费观在线| 日韩一区二区三区视频在线| 日韩一级欧美一级| 337p日本欧洲亚洲大胆色噜噜| 国产亚洲成年网址在线观看| 欧美激情一二三区| 亚洲日本在线天堂| 亚洲一区在线观看免费观看电影高清| 一区二区三区丝袜| 午夜电影网一区| 老司机精品视频线观看86| 免费成人在线观看视频| 精品一二三四在线| 成人av动漫网站| 色诱视频网站一区| 6080yy午夜一二三区久久| 日韩欧美高清在线| 国产女人18毛片水真多成人如厕 | 亚洲r级在线视频| 久久精品国产在热久久| 国产精品资源网| 91久久精品国产91性色tv| 在线电影一区二区三区| 欧美精品一区二区三区久久久| 国产清纯白嫩初高生在线观看91 | 8x福利精品第一导航| 欧美精品一区在线观看| 日韩理论片中文av| 蜜臀av国产精品久久久久 | 亚洲最新在线观看| 麻豆精品久久精品色综合| 成人h版在线观看| 6080午夜不卡| 中文字幕一区二区视频| 欧美96一区二区免费视频| 成人小视频在线观看| 欧美人体做爰大胆视频| 中文字幕av一区二区三区高| 午夜成人免费视频| 成人动漫av在线| 日韩精品中文字幕一区| 亚洲男人电影天堂| 国产美女在线精品| 在线这里只有精品| 欧美经典一区二区三区| 亚洲成人一区在线| 成av人片一区二区| 精品成人一区二区三区| 一区二区三区在线影院| 国产成人在线免费| 欧美一级片免费看| 亚洲日本va午夜在线影院| 国产精品亚洲午夜一区二区三区| 91首页免费视频| 欧美国产在线观看| 精品午夜久久福利影院| 欧美日韩aaaaa| 亚洲综合久久久久| 99re8在线精品视频免费播放| 欧美刺激午夜性久久久久久久| 一区二区视频免费在线观看| 懂色av一区二区夜夜嗨| 欧美精品一区二区三区在线| 日本午夜精品一区二区三区电影| 欧美综合天天夜夜久久| 亚洲男人天堂av| 成人av资源在线观看| 久久嫩草精品久久久久| 久久电影国产免费久久电影| 欧美久久免费观看| 亚洲成人资源在线| 欧美日韩中文一区| 亚洲1区2区3区视频| 91成人在线观看喷潮| 一区二区三区四区亚洲| 91伊人久久大香线蕉| 国产精品国产自产拍在线| 成人一级片在线观看| 国产精品女同互慰在线看| 国产精品夜夜嗨| 国产亚洲精品bt天堂精选| 国产一区 二区| 国产日韩欧美在线一区| 粉嫩绯色av一区二区在线观看| 天天综合网天天综合色| 日本乱人伦aⅴ精品| 一级中文字幕一区二区| 日本韩国欧美在线| 一级女性全黄久久生活片免费| 一本大道久久a久久综合| 一区二区欧美国产| 欧美三级一区二区| 日韩国产成人精品| 精品国产成人在线影院| 国产精品自拍三区| 国产精品久久久久久久久动漫| 成人免费看视频| 一区二区成人在线观看| 欧美日韩成人一区| 青青草精品视频| 久久网站最新地址| 成人精品免费看| 伊人夜夜躁av伊人久久| 欧美精品丝袜中出| 国产在线视视频有精品| 亚洲国产成人一区二区三区| 91美女在线看| 日本成人在线一区| 国产日韩一级二级三级| 91久久精品一区二区| 麻豆精品一区二区三区| 中文字幕不卡三区| 欧美日韩和欧美的一区二区| 麻豆久久久久久| 亚洲人精品午夜| 日韩视频一区二区三区在线播放 | 日韩视频永久免费|