'prereq',
'quotation',
'solution',
- 'testimonial'
+ 'testimonial',
+ 'warning'
}
# What kinds of code fragments are allowed?
'source',
'language-bash',
'html',
+ 'language-c',
+ 'language-cmake',
+ 'language-cpp',
'language-make',
'language-matlab',
'language-python',
'language-r',
'language-shell',
- 'language-sql'
+ 'language-sql',
+ 'warning'
}
# What fields are required in teaching episode metadata?
result = {}
urls_seen = set()
- with open(ref_path, 'r') as reader:
+ with open(ref_path, 'r', encoding='utf-8') as reader:
for (num, line) in enumerate(reader, 1):
if P_INTERNAL_INCLUDE_LINK.search(line): continue
{path : {'metadata':yaml, 'metadata_len':N, 'text':text, 'lines':[(i, line, len)], 'doc':doc}}
"""
+ all_dirs = [os.path.join(source_dir, d) for d in SOURCE_DIRS]
+ all_patterns = [os.path.join(d, '*.md') for d in all_dirs]
result = {}
- for d in SOURCE_DIRS:
- dpath = os.path.join(source_dir, d)
-
- pattern = os.path.join(dpath, '*.md')
- for filename in glob.glob(pattern):
+ for pat in all_patterns:
+ for filename in glob.glob(pat):
data = read_markdown(parser, filename)
if data:
result[filename] = data
-
return result
(re.compile(r'README\.md'), CheckNonJekyll),
(re.compile(r'index\.md'), CheckIndex),
(re.compile(r'reference\.md'), CheckReference),
- (re.compile(r'_episodes/.*\.md'), CheckEpisode),
+ (re.compile(os.path.join('_episodes', '*\.md')), CheckEpisode),
(re.compile(r'.*\.md'), CheckGeneric)
]