@@ -986,9 +986,12 @@ def get_asset_path(path, themes, files_folders={'files': ''}, _themes_dir='theme
986
986
>>> print(get_asset_path('nikola.py', ['bootstrap3', 'base'], {'nikola': ''}))
987
987
/.../nikola/nikola.py
988
988
989
- >>> print(get_asset_path('nikola/nikola .py', ['bootstrap3', 'base'], {'nikola':'nikola'}))
989
+ >>> print(get_asset_path('nikola.py', ['bootstrap3', 'base'], {'nikola': 'nikola'}))
990
990
None
991
991
992
+ >>> print(get_asset_path('nikola/nikola.py', ['bootstrap3', 'base'], {'nikola': 'nikola'}))
993
+ /.../nikola/nikola.py
994
+
992
995
"""
993
996
for theme_name in themes :
994
997
candidate = os .path .join (
@@ -998,9 +1001,11 @@ def get_asset_path(path, themes, files_folders={'files': ''}, _themes_dir='theme
998
1001
if os .path .isfile (candidate ):
999
1002
return candidate
1000
1003
for src , rel_dst in files_folders .items ():
1001
- candidate = os .path .abspath (os .path .join (src , path ))
1002
- if os .path .isfile (candidate ):
1003
- return candidate
1004
+ relpath = os .path .relpath (path , rel_dst )
1005
+ if not relpath .startswith ('..' + os .path .sep ):
1006
+ candidate = os .path .abspath (os .path .join (src , relpath ))
1007
+ if os .path .isfile (candidate ):
1008
+ return candidate
1004
1009
1005
1010
if output_dir :
1006
1011
candidate = os .path .join (output_dir , path )
0 commit comments