Technical documentation
Tree view of the Data Visualization 2 course, files list and developer notes.
As of October 26, 2025
Tree view
bash
dataviz2/
├── 01_plan_cards.md
├── 02_covid_us_stats_analysis.md
├── 03_technical_doc.md
├── 99_sandbox.md
├── 99_sandbox_bokeh.md
├── session_0.md
├── session_1_a.md
├── session_1_a0_shannon.md
├── session_1_a1_visual.md
├── session_1_b.md
├── session_1_c.md
├── session_1_d.md
├── session_1_e.md
├── session_1_f.md
├── session_2_a.md
├── session_2_b.md
├── session_2_c.md
├── session_2_c0correction.md
├── session_3_a.md
├── session_3_b.md
└── files/
├── 99_test_consistency_codex_jupyter_local.ipynb
├── bertin-livre-couverture-cc-wikipedia.png
├── covid-2timeseries-us-presidency.jpg
├── covid-graphs-correction.ipynb
├── covid-graphs-statement.ipynb
├── covid-maps-correction.ipynb
├── covid-maps-statement.ipynb
├── covid19-states-analysis.png
├── covid_bokeh_10.py
├── covid_bokeh_11.py
├── covid_data_prep.py
├── covid_matplotlib_01.py
├── covid_matplotlib_02.py
├── covid_matplotlib_03.py
├── covid_matplotlib_04.py
├── covid_matplotlib_12.py
├── gdp.csv
├── gdp_exclude_not_country.ipynb
├── language_bits_per_second-original.jpeg
├── language_bits_per_second.webp
├── s1f_a.png
├── s1f_b.png
├── s1f_c.png
├── s1f_d.png
├── session_1_f.ipynb
├── session_1_f.py
├── us-states.csv
└── bokeh_server_apps/
├── 01_simple_slider.py
├── 03_real_time_streaming.py
├── 05_linked_plots.py
├── 06_interactive_presentation.py
├── README.md
├── run_all.sh
├── run_presentation.sh
├── test_import.py
└── visual-vocabulary-ft.png
Accessing all files
- 01_plan_cards.md — Plan Cards
- 02_covid_us_stats_analysis.md — COVID-19 US Stats Analysis
- 03_technical_doc.md — Technical Documentation
- 99_sandbox.md — Sandbox
- 99_sandbox_bokeh.md — Sandbox Bokeh
- session_0.md — Session 0
- session_1_a.md — Session 1a
- session_1_a0_shannon.md — Session 1a0: Shannon
- session_1_a1_visual.md — Session 1a1: Visual
- session_1_b.md — Session 1b
- session_1_c.md — Session 1c
- session_1_d.md — Session 1d
- session_1_e.md — Session 1e
- session_1_f.md — Session 1f
- session_2_a.md — Session 2a
- session_2_b.md — Session 2b
- session_2_c.md — Session 2c
- session_2_c0correction.md — Session 2c0: Correction
- session_3_a.md — Session 3a
- session_3_b.md — Session 3b
- files/
- Download: 99_test_consistency_codex_jupyter_local.ipynb
- Download: bertin-livre-couverture-cc-wikipedia.png
- Download: covid-2timeseries-us-presidency.jpg
- Download: covid-graphs-correction.ipynb
- Download: covid-graphs-statement.ipynb
- Download: covid-maps-correction.ipynb
- Download: covid-maps-statement.ipynb
- Download: covid19-states-analysis.png
- Download: covid_bokeh_10.py
- Download: covid_bokeh_11.py
- Download: covid_data_prep.py
- Download: covid_matplotlib_01.py
- Download: covid_matplotlib_02.py
- Download: covid_matplotlib_03.py
- Download: covid_matplotlib_04.py
- Download: covid_matplotlib_12.py
- Download: gdp.csv
- Download: gdp_exclude_not_country.ipynb
- Download: language_bits_per_second-original.jpeg
- Download: language_bits_per_second.webp
- Download: s1f_a.png
- Download: s1f_b.png
- Download: s1f_c.png
- Download: s1f_d.png
- Download: session_1_f.ipynb
- Download: session_1_f.py
- Download: us-states.csv
- bokeh_server_apps/
- Download: 01_simple_slider.py
- Download: 03_real_time_streaming.py
- Download: 05_linked_plots.py
- Download: 06_interactive_presentation.py
- README.md — README
- Download: run_all.sh
- Download: run_presentation.sh
- Download: test_import.py
- Download: visual-vocabulary-ft.png
Developer notes
Frontend Dependencies
This product (dataviz2) loads the following external dependencies in the HTML <head>:
1. Fonts
- Google Fonts (multiple families):
- Comfortaa (300-700)
- Cormorant Garamond (300-700, italic variants)
- Dancing Script (400-700)
- EB Garamond (400-800, italic variants)
- Inter (100-900, variable font)
- JetBrains Mono (100-800, italic variants)
- Lora (400-700, italic variants)
- Playfair Display (400-900, italic variants)
- Source Serif 4 (200-900, variable font, italic variants)
- Spectral (200-800, italic variants)
- Lexend (100-900)
- Open Dyslexic v1.0.3 (accessibility font)
2. CSS Frameworks
- Tailwind CSS v4.1.16 (browser version via CDN)
- DaisyUI v5 (component library)
3. Custom Stylesheets
/static/css/root.css(domain-level root styles)/static/css/styles.css(domain-level styles)/static/css/styles-alt.css(domain-level alternative styles)/static/products/dataviz2/css/pm.css(product-specific styles)/static/products/dataviz2/css/toc.css(table of contents styles)/static/products/dataviz2/css/dataviz2.css(product-specific styles)
4. JavaScript Libraries
Accessibility:
/static/js/accessibility-manager.js(custom accessibility manager)
Math Rendering:
- KaTeX v0.16.9 (CSS + JS + auto-render extension)
- MathLive v0.105.2 (interactive LaTeX editor)
Code Editor:
- CodeMirror v5.65.16 (CSS + JS + Python mode)
Product-specific:
/static/products/dataviz2/js/bokeh-detector.js(Bokeh plot detection)/static/products/dataviz2/js/main.js(product main script)
5. Configuration Notes
- Tailwind is configured with typography plugin
- KaTeX delimiters:
$$...$$(display),$...$(inline) - Math rendering can be delayed and triggered via
render-math-nowevent - Metadata includes SEO, OpenGraph, and Twitter card properties
6. Page-Specific Dependencies (Dynamic Loading)
Some markdown files include frontmatter that triggers additional JavaScript dependencies to be loaded dynamically. Example from session_3_a.md:
yaml
---
js_dependencies:
- "https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js"
- "https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js"
- "https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js"
---
These dependencies are loaded only when the specific page is rendered, allowing for:
- Conditional loading of heavy libraries (like Bokeh)
- Performance optimization by avoiding global loading of page-specific dependencies
- Flexibility for different pages to require different JavaScript libraries