Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
probml
GitHub Repository: probml/pyprobml
Path: blob/master/internal/book_readme_md.py
1191 views
1
import pandas as pd
2
import glob
3
import re
4
5
def get_chapter_titles(fname):
6
df = pd.read_csv(fname, header=None, names=['Title'])
7
dd = {}
8
for i in range(len(df)):
9
chapnum = i + 1
10
chapname = df.loc[i]['Title']
11
dd[chapnum] = chapname
12
return dd
13
14
15
def make_readme(title_dict, outfile, include_colab_output=True):
16
figure_url = 'https://colab.research.google.com/github/probml/pml-book/blob/master/pml1/figure_notebooks'
17
supplements_url = 'https://github.com/probml/pml-book/blob/main/pml1/supplements'
18
19
contents = []
20
contents.append('# "Probabilistic Machine Learning: An Introduction"\n')
21
if include_colab_output:
22
contents.append('|Chapter|Name|Colab for generating figures|Colab with output|Supplementary material|')
23
contents.append('-|-|-|-|-')
24
else:
25
contents.append('|Chapter|Name|Colab for figures|Supplementary material|')
26
contents.append('-|-|-|-')
27
28
for i in range(len(title_dict)):
29
chap_num = i+1
30
chap_name = title_dict[chap_num]
31
simple_name = chap_name.lower()
32
simple_name = simple_name.replace(':', '')
33
simple_name = simple_name.replace(' ', '_')
34
fig_url = f'{figure_url}/chapter{chap_num}_{simple_name}_figures.ipynb'
35
fig_txt = f'[Link]({fig_url})'
36
output_url = f'{figure_url}/chapter{chap_num}_{simple_name}_figures_output.ipynb'
37
output_txt = f'[Link]({output_url})'
38
supp_url = f'{supplements_url}/chap{chap_num}.md'
39
supp_txt = f'[Link]({supp_url})'
40
if include_colab_output:
41
line = f'|{chap_num}|{chap_name}|{fig_txt}|{output_txt}|{supp_txt}|'
42
else:
43
line = f'|{chap_num}|{chap_name}|{fig_txt}|{supp_txt}|'
44
contents.append(line)
45
46
out = '\n'.join(contents)
47
with open(outfile, 'w') as f:
48
f.write(out)
49
50
51
52
root='/Users/kpmurphy/github/pml-book/pml1'
53
54
titles = get_chapter_titles(f'{root}/TOC/chapters.txt')
55
56
make_readme(titles, f'{root}/README2.md')
57