Skip to content

Commit 7d2334a

Browse files
committed
perf: disable fetchurl if user inputs custom values
fetchurl no longer called if the user inputs custom values for favicon, title, description, etc.
1 parent edc03f5 commit 7d2334a

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

mkdocs_link_embeds_plugin/plugin.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def clean_input( self, val ):
6565
# not work in script. replaced using \bembed\b until it can be investigated.
6666
# ------------------------------------------------------------------------------------------------------------------------------------------
6767

68-
# (?<=)(?=[^`]*?url:? +(?P<url>[^`\n]*))?(?=[^`]*?\n?name:? +(?P<name>[^`\n]*))?(?=[^`]*?\n?image:? +(?P<image>[^`\n]*))?(?=[^`]*?\n?favicon:? +(?P<favicon>[^`\n]*))?(?=[^`]*?\n?favicon_size:? +(?P<favicon_size>[^`\n]*))?(?=[^`]*?\ntarget:? +(?P<target>[^`\n]*))?(?=[^`]*?\n?accent:? +(?P<accent>[^`\n]*))?(?=[^`]*?\n?desc:? +(?P<desc>[^`\n]*))?[^`]*?
6968
#CBLOCK_PATTERN = re.compile( r"(?<=\n)\n```\bembed\b(?=[^`]*?\nurl:(?P<url>[^`\n]+))?(?=[^`]*?\nname:(?P<name>[^`\n]+))?(?=[^`]*?\nbanner:(?P<banner>[^`\n]+))?(?=[^`]*?\nfavicon:(?P<favicon>[^`\n]+))?(?=[^`]*?\nfavicon_size:(?P<favicon_size>[^`\n]+))?(?=[^`]*?\nimage:(?P<image>[^`\n]+))?(?=[^`]*?\ndesc:(?P<desc>[^`\n]+))?[^`]*?```" )
7069
#CBLOCK_PATTERN = re.compile( r"(?<=\n)\n```\bembed\b(?=[^`]*?\nurl:[\s+](?P<url>[^`\n]+))?(?=[^`]*?\nname:[\s+](?P<name>[^`\n]+))?(?=[^`]*?\nbanner:[\s+](?P<banner>[^`\n]+))?(?=[^`]*?\nfavicon:[\s+](?P<favicon>[^`\n]+))?(?=[^`]*?\nfavicon_size:[\s+](?P<favicon_size>[^`\n]+))?(?=[^`]*?\ntarget:[\s+](?P<target>[^`\n]+))?(?=[^`]*?\nimage:[\s+](?P<image>[^`\n]+))?(?=[^`]*?\ndesc:[\s+](?P<desc>[^`\n]+))?[^`]*?```" ) # replace \s with [^\S\n]++
7170
CBLOCK_PATTERN = re.compile( r"(?<=\n)\n```\bembed\b(?=[^`]*?\nurl:? +(?P<url>[^`\n]*))?(?=[^`]*?\nname:? +(?P<name>[^`\n]*))?(?=[^`]*?\nimage:? +(?P<image>[^`\n]*))?(?=[^`]*?\nfavicon:? +(?P<favicon>[^`\n]*))?(?=[^`]*?\nfavicon_size:? +(?P<favicon_size>[^`\n]*))?(?=[^`]*?\ntarget:? +(?P<target>[^`\n]*))?(?=[^`]*?\naccent:? +(?P<accent>[^`\n]*))?(?=[^`]*?\ndesc:? +(?P<desc>[^`\n]*))?[^`]*?```" )
@@ -178,10 +177,10 @@ def on_page_markdown( self, markdown, page, config, files ):
178177
# fetch metadata for website (if available)
179178
# -----------------------------------------------------------------------------------------
180179

181-
box_name = self.fetchurl.get_title( soup, box_name )
182-
box_desc = self.fetchurl.get_description( soup, box_desc, link )
183-
box_image = self.fetchurl.get_image( soup, box_image )
184-
box_favicon = not self.config.get( 'favicon_disabled' ) and self.fetchurl.get_favicon( soup, input_url, box_favicon, input_favicon ) or ""
180+
box_name = not input_name and self.fetchurl.get_title( soup, box_name ) or input_name
181+
box_desc = not input_desc and self.fetchurl.get_description( soup, box_desc, link ) or input_desc
182+
box_image = not input_image and self.fetchurl.get_image( soup, box_image ) or input_image
183+
box_favicon = not self.config.get( 'favicon_disabled' ) and ( not input_favicon and self.fetchurl.get_favicon( soup, input_url, box_favicon, input_favicon ) or input_favicon ) or ""
185184
box_favicon_size = str( self.config[ 'favicon_size' ] )
186185
box_target = str( self.config[ 'target' ] )
187186

0 commit comments

Comments
 (0)