[PATCH v2 14/15] md2html-add-asset-postfix-arg
Andy Green
andy at warmcat.com
Mon Jun 18 04:58:26 CEST 2018
Extend md2html with a third argument for URL postfix, like "?h=mybranch"
Signed-off-by: Andy Green <andy at warmcat.com>
---
filters/html-converters/md2html | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/filters/html-converters/md2html b/filters/html-converters/md2html
index eb5d977..128a61b 100755
--- a/filters/html-converters/md2html
+++ b/filters/html-converters/md2html
@@ -9,31 +9,36 @@ from urllib.parse import urljoin
class AssetMappingProcessor(markdown.treeprocessors.Treeprocessor):
- def __init__(self, asset_prefix):
+ def __init__(self, asset_prefix, asset_postfix):
self.asset_prefix = asset_prefix
+ self.asset_postfix = asset_postfix
def run(self, root):
asset_prefix = self.asset_prefix
+ asset_postfix = self.asset_postfix
for img in root.iter('img'):
src = img.get('src')
if src is None:
continue
- img.set('src', urljoin(asset_prefix, src))
+ img.set('src', urljoin(urljoin(asset_prefix, src), asset_postfix))
class AssetMappingExtension(markdown.extensions.Extension):
def __init__(self, **kwargs):
- self.config = {'asset_prefix': ['', 'prefix for relative asset URLs']}
+ self.config = {'asset_prefix': ['', 'prefix for relative asset URLs'], 'asset_postfix': ['', 'postfix for relative asset URLs']}
super(AssetMappingExtension, self).__init__(**kwargs)
def extendMarkdown(self, md, md_globals):
asset_prefix = self.getConfig('asset_prefix')
if not asset_prefix:
return
+ asset_postfix = self.getConfig('asset_postfix')
+ if not asset_postfix:
+ return
md.treeprocessors.add('asset_mapping',
- AssetMappingProcessor(asset_prefix),
+ AssetMappingProcessor(asset_prefix, asset_postfix),
'_end')
@@ -333,8 +338,8 @@ extension_configs = {
"markdown.extensions.codehilite":{"css_class":"highlight"}
}
-if len(sys.argv) > 2:
- extensions.append(AssetMappingExtension(asset_prefix=sys.argv[2]))
+if len(sys.argv) > 3:
+ extensions.append(AssetMappingExtension(asset_prefix=sys.argv[2],asset_postfix=sys.argv[3]))
# Note: you may want to run this through bleach for sanitization
markdown.markdownFromFile(output_format="html5", extensions=extensions, extension_configs=extension_configs)
More information about the CGit
mailing list