From 5c9e21a337685522b8f80a550ee50ef467634f16 Mon Sep 17 00:00:00 2001 From: DW10 Date: Wed, 16 Sep 2026 13:47:20 +0000 Subject: [PATCH 1/7] Remove al-folio demo content and template wording Delete the demo blog posts, news items, books, teaching pages, people page, project template and unused demo media. Replace template site description, keywords, footer and page intros with site-specific text, and stop pulling external demo posts into the blog and search. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01S5SxpTd13oG2xN7EKrnfAJ --- _books/the_godfather.md | 28 - _config.yml | 28 +- _news/announcement_1.md | 8 - _news/announcement_2.md | 33 - _news/announcement_3.md | 8 - _pages/about_einstein.md | 5 - _pages/books.md | 13 - _pages/cv.md | 2 +- _pages/dropdown.md | 13 - _pages/profiles.md | 28 - _pages/publications.md | 2 +- _pages/repositories.md | 2 +- _pages/teaching.md | 15 - _posts/2015-03-15-formatting-and-links.md | 36 - _posts/2015-05-15-images.md | 49 - _posts/2015-07-15-code.md | 98 -- _posts/2015-10-20-disqus-comments.md | 12 - _posts/2015-10-20-math.md | 29 - _posts/2018-12-22-distill.md | 1501 ----------------- _posts/2020-09-28-twitter.md | 24 - _posts/2021-07-04-diagrams.md | 44 - _posts/2022-02-01-redirect.md | 9 - _posts/2022-12-10-giscus-comments.md | 12 - _posts/2023-03-20-table-of-contents.md | 45 - _posts/2023-03-21-tables.md | 120 -- _posts/2023-04-24-videos.md | 33 - _posts/2023-04-25-audios.md | 22 - .../2023-04-25-sidebar-table-of-contents.md | 47 - _posts/2023-05-12-custom-blockquotes.md | 131 -- _posts/2023-07-04-jupyter-notebook.md | 45 - _posts/2023-07-12-post-bibliography.md | 22 - _posts/2023-12-12-tikzjax.md | 19 - _posts/2024-01-26-chartjs.md | 188 --- _posts/2024-01-26-echarts.md | 68 - _posts/2024-01-26-geojson-map.md | 93 - _posts/2024-01-27-advanced-images.md | 35 - _posts/2024-01-27-code-diff.md | 473 ------ _posts/2024-01-27-vega-lite.md | 105 -- _posts/2024-04-15-pseudocode.md | 71 - _posts/2024-04-28-post-citation.md | 11 - _posts/2024-04-29-typograms.md | 85 - _posts/2024-05-01-tabs.md | 122 -- _posts/2024-12-04-photo-gallery.md | 97 -- _posts/2025-03-26-plotly.md | 110 -- _projects/project_template.md | 83 - _teachings/data-science-fundamentals.md | 97 -- .../introduction-to-machine-learning.md | 113 -- assets/audio/epicaly-short-113909.mp3 | Bin 915330 -> 0 bytes assets/bibliography/2018-12-22-distill.bib | 7 - assets/html/relativity.html | 10 - assets/img/1.jpg | Bin 66120 -> 0 bytes assets/img/10.jpg | Bin 47225 -> 0 bytes assets/img/11.jpg | Bin 87841 -> 0 bytes assets/img/12.jpg | Bin 16036 -> 0 bytes assets/img/2.jpg | Bin 91413 -> 0 bytes assets/img/3.jpg | Bin 45858 -> 0 bytes assets/img/4.jpg | Bin 35416 -> 0 bytes assets/img/5.jpg | Bin 36350 -> 0 bytes assets/img/6.jpg | Bin 61427 -> 0 bytes assets/img/7.jpg | Bin 10651 -> 0 bytes assets/img/8.jpg | Bin 29426 -> 0 bytes assets/img/9.jpg | Bin 39678 -> 0 bytes assets/img/book_covers/the_godfather.jpg | Bin 54365 -> 0 bytes assets/img/rhino.png | Bin 1648028 -> 0 bytes assets/pdf/example_pdf.pdf | Bin 15879 -> 0 bytes assets/plotly/demo.html | 71 - ...els-engin-akyurt-6069112-960x540-30fps.mp4 | Bin 1539606 -> 0 bytes assets/video/tutorial_al_folio.mp4 | Bin 25991824 -> 0 bytes 68 files changed, 11 insertions(+), 4311 deletions(-) delete mode 100644 _books/the_godfather.md delete mode 100644 _news/announcement_1.md delete mode 100644 _news/announcement_2.md delete mode 100644 _news/announcement_3.md delete mode 100644 _pages/about_einstein.md delete mode 100644 _pages/books.md delete mode 100644 _pages/dropdown.md delete mode 100644 _pages/profiles.md delete mode 100644 _pages/teaching.md delete mode 100644 _posts/2015-03-15-formatting-and-links.md delete mode 100644 _posts/2015-05-15-images.md delete mode 100644 _posts/2015-07-15-code.md delete mode 100644 _posts/2015-10-20-disqus-comments.md delete mode 100644 _posts/2015-10-20-math.md delete mode 100644 _posts/2018-12-22-distill.md delete mode 100644 _posts/2020-09-28-twitter.md delete mode 100644 _posts/2021-07-04-diagrams.md delete mode 100644 _posts/2022-02-01-redirect.md delete mode 100644 _posts/2022-12-10-giscus-comments.md delete mode 100644 _posts/2023-03-20-table-of-contents.md delete mode 100644 _posts/2023-03-21-tables.md delete mode 100644 _posts/2023-04-24-videos.md delete mode 100644 _posts/2023-04-25-audios.md delete mode 100644 _posts/2023-04-25-sidebar-table-of-contents.md delete mode 100644 _posts/2023-05-12-custom-blockquotes.md delete mode 100644 _posts/2023-07-04-jupyter-notebook.md delete mode 100644 _posts/2023-07-12-post-bibliography.md delete mode 100644 _posts/2023-12-12-tikzjax.md delete mode 100644 _posts/2024-01-26-chartjs.md delete mode 100644 _posts/2024-01-26-echarts.md delete mode 100644 _posts/2024-01-26-geojson-map.md delete mode 100644 _posts/2024-01-27-advanced-images.md delete mode 100644 _posts/2024-01-27-code-diff.md delete mode 100644 _posts/2024-01-27-vega-lite.md delete mode 100644 _posts/2024-04-15-pseudocode.md delete mode 100644 _posts/2024-04-28-post-citation.md delete mode 100644 _posts/2024-04-29-typograms.md delete mode 100644 _posts/2024-05-01-tabs.md delete mode 100644 _posts/2024-12-04-photo-gallery.md delete mode 100644 _posts/2025-03-26-plotly.md delete mode 100644 _projects/project_template.md delete mode 100644 _teachings/data-science-fundamentals.md delete mode 100644 _teachings/introduction-to-machine-learning.md delete mode 100644 assets/audio/epicaly-short-113909.mp3 delete mode 100644 assets/bibliography/2018-12-22-distill.bib delete mode 100644 assets/html/relativity.html delete mode 100644 assets/img/1.jpg delete mode 100644 assets/img/10.jpg delete mode 100644 assets/img/11.jpg delete mode 100644 assets/img/12.jpg delete mode 100644 assets/img/2.jpg delete mode 100644 assets/img/3.jpg delete mode 100644 assets/img/4.jpg delete mode 100644 assets/img/5.jpg delete mode 100644 assets/img/6.jpg delete mode 100644 assets/img/7.jpg delete mode 100644 assets/img/8.jpg delete mode 100644 assets/img/9.jpg delete mode 100644 assets/img/book_covers/the_godfather.jpg delete mode 100644 assets/img/rhino.png delete mode 100644 assets/pdf/example_pdf.pdf delete mode 100644 assets/plotly/demo.html delete mode 100644 assets/video/pexels-engin-akyurt-6069112-960x540-30fps.mp4 delete mode 100644 assets/video/tutorial_al_folio.mp4 diff --git a/_books/the_godfather.md b/_books/the_godfather.md deleted file mode 100644 index cc97f491..00000000 --- a/_books/the_godfather.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: book-review -title: The Godfather -author: Mario Puzo -cover: assets/img/book_covers/the_godfather.jpg -olid: OL43499941M # use Open Library ID to fetch cover (if no `cover` is provided) -isbn: 7539967447 # use ISBN to fetch cover (if no `olid` is provided, dashes are optional) -categories: classics crime historical-fiction mystery novels thriller -tags: top-100 -buy_link: https://www.amazon.com/Godfather-Deluxe-Mario-Puzo/dp/0593542592 -date: 2024-08-23 -started: 2024-08-23 -finished: 2024-09-07 -released: 1969 -stars: 5 -goodreads_review: 6318556633 -status: Finished ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sollicitudin eros sit amet ante aliquet, sit amet vulputate lectus mattis. Aenean ullamcorper pretium nunc, sed egestas lorem elementum id. Nulla id mi id neque ultrices egestas ut in urna. Sed ac ultricies nunc. Nam convallis placerat urna id egestas. Nulla porta, est interdum vestibulum venenatis, lorem odio laoreet sapien, in pulvinar tellus eros a dolor. Vivamus sapien justo, ullamcorper a mi eget, scelerisque euismod nunc. In augue augue, ultrices a ornare non, tincidunt quis justo. Donec sit amet consectetur eros. Nullam neque leo, tincidunt id ipsum ac, volutpat lobortis mi. Phasellus consequat ultricies arcu, eu semper ligula ultrices eget. Ut in fringilla elit, ac tincidunt nisi. - -Nunc commodo elit nec turpis feugiat consectetur. Nullam in nisi egestas, fermentum ligula hendrerit, euismod enim. Nulla eu hendrerit eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin et velit ante. Vestibulum pretium vitae quam et sagittis. Proin eu nunc vel velit accumsan eleifend. Nulla facilisis, diam tempus imperdiet ultrices, massa ipsum consequat orci, sed efficitur eros mi a felis. Cras lobortis turpis sem, sed lobortis nunc ullamcorper tristique. Nam vehicula rhoncus ante, in faucibus sapien scelerisque et. Donec semper libero et tincidunt mattis. In vestibulum, nulla pretium dictum commodo, risus nulla vestibulum felis, at tincidunt massa mi in odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. - -Donec efficitur ultrices purus sit amet imperdiet. Nam consequat metus in erat sodales faucibus. Aliquam maximus fermentum nulla id finibus. Aliquam iaculis sed odio vel rutrum. Curabitur sed odio est. Praesent nec sollicitudin tortor. Praesent pharetra, turpis quis porttitor rhoncus, ante massa fringilla lacus, nec porttitor magna turpis vitae felis. Nullam tristique massa id odio imperdiet, nec sodales massa egestas. Proin nisi metus, euismod sed accumsan vitae, facilisis vel risus. Morbi suscipit auctor erat, nec viverra elit fringilla eu. Mauris congue, purus id tristique facilisis, felis nisi efficitur magna, eu consectetur augue sem vitae lacus. Aliquam erat volutpat. Cras at nibh ultricies, volutpat arcu vitae, dictum est. In ac dolor sagittis, egestas lectus et, semper nisl. Etiam consectetur purus vitae sapien porttitor auctor. - -Nulla sit amet venenatis odio. Suspendisse ac lacus quis augue mollis tempus vel in lorem. Donec augue turpis, eleifend nec nibh eu, elementum dictum metus. Proin ut est ligula. Etiam vehicula facilisis metus, sit amet consectetur risus ullamcorper porttitor. In congue nibh quis sollicitudin iaculis. Donec a mollis lorem, non mollis lacus. Nulla et leo ex. Aliquam erat volutpat. Nam sit amet tincidunt mauris. Vivamus vitae est sit amet nisi semper egestas. Donec in diam pharetra, commodo diam vitae, imperdiet ligula. Cras iaculis ac diam eget vehicula. Proin suscipit ante enim, quis vehicula mi porta bibendum. Aliquam a diam porttitor, sollicitudin justo vitae, tempor odio. - -Cras fermentum dignissim pretium. Donec quis turpis eu neque lacinia facilisis in sit amet nibh. Nulla non tortor ultricies, euismod est in, blandit nibh. Ut a neque metus. Sed convallis condimentum nibh quis finibus. Praesent aliquam sem iaculis eros maximus accumsan. Nulla venenatis mauris id aliquet maximus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at enim vitae ex porttitor vestibulum sed eget nibh. Suspendisse accumsan feugiat quam eget ultricies. diff --git a/_config.yml b/_config.yml index 9bd2e895..b62fa4e4 100644 --- a/_config.yml +++ b/_config.yml @@ -9,11 +9,10 @@ last_name: Whitaker contact_note: > Best reached via email: dylan.whitaker.25[at]ucl.ac.uk description: > # the ">" symbol means to ignore newlines until "footer_text:" - A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design. + Dylan Whitaker is a clinician and PhD researcher at UCL and UCLH using peri-operative health data to make surgical pain care safer. footer_text: > - Powered by Jekyll with al-folio theme. - Hosted by GitHub Pages. -keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your own keywords or leave empty + Built with Jekyll and the al-folio theme. +keywords: Dylan Whitaker, UCL, UCLH, anaesthesia, critical care, opioids, peri-operative medicine, health data science, electronic health records lang: en # the language of your site (for example: en, fr, cn, ru, etc.) icon: favicon.jpg # the emoji used as the favicon (alternatively, provide image name in /assets/img/) @@ -56,7 +55,7 @@ navbar_fixed: true footer_fixed: true search_enabled: true socials_in_search: true -posts_in_search: true +posts_in_search: false bib_search: true # Dimensions @@ -92,8 +91,8 @@ bing_site_verification: # out your bing-site-verification ID (Bing Webmaster) # Blog # ----------------------------------------------------------------------------- -blog_name: al-folio # blog_name will be displayed in your blog page -blog_description: a simple whitespace theme for academics +blog_name: Dylan Whitaker # blog_name will be displayed in your blog page +blog_description: notes on health data, peri-operative care and research permalink: /blog/:year/:title/ lsi: false # produce an index for related posts @@ -122,24 +121,14 @@ giscus: lang: en # Disqus comments (DEPRECATED) -disqus_shortname: al-folio # put your disqus shortname +disqus_shortname: # put your disqus shortname # https://help.disqus.com/en/articles/1717111-what-s-a-shortname # External sources. # If you have blog posts published on medium.com or other external sources, # you can display them in your blog by adding a link to the RSS feed. # Optional: Set default categories and tags for posts from each source. -external_sources: - - name: medium.com - rss_url: https://medium.com/@al-folio/feed - categories: [external-posts] - tags: [medium] - - name: Google Blog - posts: - - url: https://blog.google/technology/ai/google-gemini-update-flash-ai-assistant-io-2024/ - published_date: 2024-05-14 - categories: [external-posts] - tags: [google] +external_sources: [] # ----------------------------------------------------------------------------- # Newsletter @@ -200,7 +189,6 @@ exclude: - lighthouse_results/ - package.json - package-lock.json - - _pages/about_einstein.md - purgecss.config.js - README.md - readme_preview/ diff --git a/_news/announcement_1.md b/_news/announcement_1.md deleted file mode 100644 index e5349ced..00000000 --- a/_news/announcement_1.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -date: 2015-10-22 15:59:00-0400 -inline: true -related_posts: false ---- - -A simple inline announcement. diff --git a/_news/announcement_2.md b/_news/announcement_2.md deleted file mode 100644 index 92693959..00000000 --- a/_news/announcement_2.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: post -title: A long announcement with details -date: 2015-11-07 16:11:00-0400 -inline: false -related_posts: false ---- - -Announcements and news can be much longer than just quick inline posts. In fact, they can have all the features available for the standard blog posts. See below. - ---- - -Jean shorts raw denim Vice normcore, art party High Life PBR skateboard stumptown vinyl kitsch. Four loko meh 8-bit, tousled banh mi tilde forage Schlitz dreamcatcher twee 3 wolf moon. Chambray asymmetrical paleo salvia, sartorial umami four loko master cleanse drinking vinegar brunch. Pinterest DIY authentic Schlitz, hoodie Intelligentsia butcher trust fund brunch shabby chic Kickstarter forage flexitarian. Direct trade cold-pressed meggings stumptown plaid, pop-up taxidermy. Hoodie XOXO fingerstache scenester Echo Park. Plaid ugh Wes Anderson, freegan pug selvage fanny pack leggings pickled food truck DIY irony Banksy. - -#### Hipster list - - - -Hoodie Thundercats retro, tote bag 8-bit Godard craft beer gastropub. Truffaut Tumblr taxidermy, raw denim Kickstarter sartorial dreamcatcher. Quinoa chambray slow-carb salvia readymade, bicycle rights 90's yr typewriter selfies letterpress cardigan vegan. - ---- - -Pug heirloom High Life vinyl swag, single-origin coffee four dollar toast taxidermy reprehenderit fap distillery master cleanse locavore. Est anim sapiente leggings Brooklyn ea. Thundercats locavore excepteur veniam eiusmod. Raw denim Truffaut Schlitz, migas sapiente Portland VHS twee Bushwick Marfa typewriter retro id keytar. - -> We do not grow absolutely, chronologically. We grow sometimes in one dimension, and not in another, unevenly. We grow partially. We are relative. We are mature in one realm, childish in another. -> —Anais Nin - -Fap aliqua qui, scenester pug Echo Park polaroid irony shabby chic ex cardigan church-key Odd Future accusamus. Blog stumptown sartorial squid, gastropub duis aesthetic Truffaut vero. Pinterest tilde twee, odio mumblecore jean shorts lumbersexual. diff --git a/_news/announcement_3.md b/_news/announcement_3.md deleted file mode 100644 index 4d540883..00000000 --- a/_news/announcement_3.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -date: 2016-01-15 07:59:00-0400 -inline: true -related_posts: false ---- - -A simple inline announcement with Markdown emoji! :sparkles: :smile: diff --git a/_pages/about_einstein.md b/_pages/about_einstein.md deleted file mode 100644 index 0a1c4c04..00000000 --- a/_pages/about_einstein.md +++ /dev/null @@ -1,5 +0,0 @@ -Write your biography here. Tell the world about yourself. Link to your favorite [subreddit](https://www.reddit.com). You can put a picture in, too. The code is already in, just name your picture `prof_pic.jpg` and put it in the `img/` folder. - -Put your address / P.O. box / other info right below your picture. You can also disable any these elements by editing `profile` property of the YAML header of your `_pages/about.md`. Edit `_bibliography/papers.bib` and Jekyll will render your [publications page](/al-folio/publications/) automatically. - -Link to your social media connections, too. This theme is set up to use [Font Awesome icons](https://fontawesome.com/) and [Academicons](https://jpswalsh.github.io/academicons/), like the ones below. Add your Facebook, Twitter, LinkedIn, Google Scholar, or just disable all of them. diff --git a/_pages/books.md b/_pages/books.md deleted file mode 100644 index 48ca7af9..00000000 --- a/_pages/books.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: book-shelf -title: bookshelf -permalink: /books/ -nav: false -collection: books ---- - -> What an astonishing thing a book is. It's a flat object made from a tree with flexible parts on which are imprinted lots of funny dark squiggles. But one glance at it and you're inside the mind of another person, maybe somebody dead for thousands of years. Across the millennia, an author is speaking clearly and silently inside your head, directly to you. Writing is perhaps the greatest of human inventions, binding together people who never knew each other, citizens of distant epochs. Books break the shackles of time. A book is proof that humans are capable of working magic. -> -> -- Carl Sagan, Cosmos, Part 11: The Persistence of Memory (1980) - -## Books that I am reading, have read, or will read diff --git a/_pages/cv.md b/_pages/cv.md index 8ef8ec3c..3436bd7a 100644 --- a/_pages/cv.md +++ b/_pages/cv.md @@ -6,7 +6,7 @@ nav: true nav_order: 2 cv_pdf: /assets/pdf/academic_cv.pdf # you can also use external links here cv_format: rendercv # options: rendercv, jsonresume -description: Click the button to the right to download view the one-page PDF. +description: A one-page PDF version is available to download. toc: sidebar: left --- diff --git a/_pages/dropdown.md b/_pages/dropdown.md deleted file mode 100644 index d10c1b5a..00000000 --- a/_pages/dropdown.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: submenus -nav: false -nav_order: 8 -dropdown: true -children: - - title: bookshelf - permalink: /books/ - - title: divider - - title: blog - permalink: /blog/ ---- diff --git a/_pages/profiles.md b/_pages/profiles.md deleted file mode 100644 index ad5b8bb9..00000000 --- a/_pages/profiles.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: profiles -permalink: /people/ -title: people -description: members of the lab or group -nav: false -nav_order: 7 - -profiles: - # if you want to include more than one profile, just replicate the following block - # and create one content file for each profile inside _pages/ - - align: right - image: prof_pic.jpg - content: about_einstein.md - image_circular: false # crops the image to make it circular - more_info: > -

555 your office number

-

123 your address street

-

Your City, State 12345

- - align: left - image: prof_pic.jpg - content: about_einstein.md - image_circular: false # crops the image to make it circular - more_info: > -

555 your office number

-

123 your address street

-

Your City, State 12345

---- diff --git a/_pages/publications.md b/_pages/publications.md index 7e59b4e4..18971f2c 100644 --- a/_pages/publications.md +++ b/_pages/publications.md @@ -2,7 +2,7 @@ layout: page permalink: /publications/ title: publications -description: Publications by categories in reversed chronological order. Click DOI button for link to paper. Click ABS button for abstract (where avaliable) +description: Peer-reviewed papers, preprints and conference abstracts, most recent first. nav: true nav_order: 3 --- diff --git a/_pages/repositories.md b/_pages/repositories.md index 8b263b00..be66a42b 100644 --- a/_pages/repositories.md +++ b/_pages/repositories.md @@ -2,7 +2,7 @@ layout: page permalink: /repositories/ title: repositories -description: Edit the `_data/repositories.yml` and change the `github_users` and `github_repos` lists to include your own GitHub profile and repositories. +description: Open-source code and analysis repositories. nav: false nav_order: 4 --- diff --git a/_pages/teaching.md b/_pages/teaching.md deleted file mode 100644 index 1505aa84..00000000 --- a/_pages/teaching.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: page -permalink: /teaching/ -title: teaching -description: Course materials, schedules, and resources for classes taught. -nav: false -nav_order: 6 -calendar: true ---- - -This page displays a collection of courses with detailed schedules, materials, and resources. You can organize your courses by years, terms, or topics. - -{% include calendar.liquid calendar_id='test@gmail.com' timezone='Asia/Shanghai' %} - -{% include courses.liquid %} diff --git a/_posts/2015-03-15-formatting-and-links.md b/_posts/2015-03-15-formatting-and-links.md deleted file mode 100644 index 0962756d..00000000 --- a/_posts/2015-03-15-formatting-and-links.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: post -title: a post with formatting and links -date: 2015-03-15 16:40:16 -description: march & april, looking forward to summer -tags: formatting links -categories: sample-posts ---- - -Jean shorts raw denim Vice normcore, art party High Life PBR skateboard stumptown vinyl kitsch. Four loko meh 8-bit, tousled banh mi tilde forage Schlitz dreamcatcher twee 3 wolf moon. Chambray asymmetrical paleo salvia, sartorial umami four loko master cleanse drinking vinegar brunch. [Pinterest](https://www.pinterest.com) DIY authentic Schlitz, hoodie Intelligentsia butcher trust fund brunch shabby chic Kickstarter forage flexitarian. Direct trade cold-pressed meggings stumptown plaid, pop-up taxidermy. Hoodie XOXO fingerstache scenester Echo Park. Plaid ugh Wes Anderson, freegan pug selvage fanny pack leggings pickled food truck DIY irony Banksy. - -#### Hipster list - -- brunch -- fixie -- raybans -- messenger bag - -#### Check List - -- [x] Brush Teeth -- [ ] Put on socks - - [x] Put on left sock - - [ ] Put on right sock -- [x] Go to school - -Hoodie Thundercats retro, tote bag 8-bit Godard craft beer gastropub. Truffaut Tumblr taxidermy, raw denim Kickstarter sartorial dreamcatcher. Quinoa chambray slow-carb salvia readymade, bicycle rights 90's yr typewriter selfies letterpress cardigan vegan. - -
- -Pug heirloom High Life vinyl swag, single-origin coffee four dollar toast taxidermy reprehenderit fap distillery master cleanse locavore. Est anim sapiente leggings Brooklyn ea. Thundercats locavore excepteur veniam eiusmod. Raw denim Truffaut Schlitz, migas sapiente Portland VHS twee Bushwick Marfa typewriter retro id keytar. - -> We do not grow absolutely, chronologically. We grow sometimes in one dimension, and not in another, unevenly. We grow partially. We are relative. We are mature in one realm, childish in another. -> —Anais Nin - -Fap aliqua qui, scenester pug Echo Park polaroid irony shabby chic ex cardigan church-key Odd Future accusamus. Blog stumptown sartorial squid, gastropub duis aesthetic Truffaut vero. Pinterest tilde twee, odio mumblecore jean shorts lumbersexual. diff --git a/_posts/2015-05-15-images.md b/_posts/2015-05-15-images.md deleted file mode 100644 index 61f687f8..00000000 --- a/_posts/2015-05-15-images.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: post -title: a post with images -date: 2015-05-15 21:01:00 -description: this is what included images could look like -tags: formatting images -categories: sample-posts -thumbnail: assets/img/9.jpg ---- - -This is an example post with image galleries. - -
-
- {% include figure.liquid loading="eager" path="assets/img/9.jpg" class="img-fluid rounded z-depth-1" %} -
-
- {% include figure.liquid loading="eager" path="assets/img/7.jpg" class="img-fluid rounded z-depth-1" %} -
-
-
- A simple, elegant caption looks good between image rows, after each row, or doesn't have to be there at all. -
- -Images can be made zoomable. -Simply add `data-zoomable` to `` tags that you want to make zoomable. - -
-
- {% include figure.liquid loading="eager" path="assets/img/8.jpg" class="img-fluid rounded z-depth-1" zoomable=true %} -
-
- {% include figure.liquid loading="eager" path="assets/img/10.jpg" class="img-fluid rounded z-depth-1" zoomable=true %} -
-
- -The rest of the images in this post are all zoomable, arranged into different mini-galleries. - -
-
- {% include figure.liquid path="assets/img/11.jpg" class="img-fluid rounded z-depth-1" zoomable=true %} -
-
- {% include figure.liquid path="assets/img/12.jpg" class="img-fluid rounded z-depth-1" zoomable=true %} -
-
- {% include figure.liquid path="assets/img/7.jpg" class="img-fluid rounded z-depth-1" zoomable=true %} -
-
diff --git a/_posts/2015-07-15-code.md b/_posts/2015-07-15-code.md deleted file mode 100644 index 48599385..00000000 --- a/_posts/2015-07-15-code.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: post -title: a post with code -date: 2015-07-15 15:09:00 -description: an example of a blog post with some code -tags: formatting code -categories: sample-posts -featured: true ---- - -This theme implements a built-in Jekyll feature, the use of Rouge, for syntax highlighting. -It supports more than 100 languages. -This example is in C++. -All you have to do is wrap your code in markdown code tags: - -````markdown -```c++ -code code code -``` -```` - -```c++ -int main(int argc, char const \*argv[]) -{ - string myString; - - cout << "input a string: "; - getline(cin, myString); - int length = myString.length(); - - char charArray = new char * [length]; - - charArray = myString; - for(int i = 0; i < length; ++i){ - cout << charArray[i] << " "; - } - - return 0; -} -``` - -For displaying code in a list item, you have to be aware of the indentation, as stated in [this FAQ](https://github.com/planetjekyll/quickrefs/blob/master/FAQ.md#q-how-can-i-get-backtick-fenced-code-blocks-eg--working-inside-lists-with-kramdown). You must indent your code by **(3 \* bullet_indent_level)** spaces. This is because kramdown (the markdown engine used by Jekyll) indentation for the code block in lists is determined by the column number of the first non-space character after the list item marker. For example: - -````markdown -1. We can put fenced code blocks inside nested bullets, too. - 1. Like this: - - ```c - printf("Hello, World!"); - ``` - - 2. The key is to indent your fenced block in the same line as the first character of the line. -```` - -Which displays: - -1. We can put fenced code blocks inside nested bullets, too. - 1. Like this: - - ```c - printf("Hello, World!"); - ``` - - 2. The key is to indent your fenced block in the same line as the first character of the line. - -By default, it does not display line numbers. If you want to display line numbers for every code block, you can set `kramdown.syntax_highlighter_opts.block.line_numbers` to true in your `_config.yml` file. - -If you want to display line numbers for a specific code block, all you have to do is wrap your code in a liquid tag: - -{% raw %} -{% highlight c++ linenos %}
code code code
{% endhighlight %} -{% endraw %} - -The keyword `linenos` triggers display of line numbers. -Produces something like this: - -{% highlight c++ linenos %} - -int main(int argc, char const \*argv[]) -{ -string myString; - - cout << "input a string: "; - getline(cin, myString); - int length = myString.length(); - - char charArray = new char * [length]; - - charArray = myString; - for(int i = 0; i < length; ++i){ - cout << charArray[i] << " "; - } - - return 0; - -} - -{% endhighlight %} diff --git a/_posts/2015-10-20-disqus-comments.md b/_posts/2015-10-20-disqus-comments.md deleted file mode 100644 index cf538840..00000000 --- a/_posts/2015-10-20-disqus-comments.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -title: a post with disqus comments -date: 2015-10-20 11:59:00-0400 -description: an example of a blog post with disqus comments -tags: comments -categories: sample-posts external-services -disqus_comments: true -related_posts: false ---- - -This post shows how to add DISQUS comments. diff --git a/_posts/2015-10-20-math.md b/_posts/2015-10-20-math.md deleted file mode 100644 index 996297c1..00000000 --- a/_posts/2015-10-20-math.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: a post with math -date: 2015-10-20 11:12:00-0400 -description: an example of a blog post with some math -tags: formatting math -categories: sample-posts -related_posts: false ---- - -This theme supports rendering beautiful math in inline and display modes using [MathJax 3](https://www.mathjax.org/) engine. You just need to surround your math expression with `$$`, like `$$ E = mc^2 $$`. If you leave it inside a paragraph, it will produce an inline expression, just like $$ E = mc^2 $$. - -To use display mode, again surround your expression with `$$` and place it as a separate paragraph. Here is an example: - -$$ -\sum_{k=1}^\infty |\langle x, e_k \rangle|^2 \leq \|x\|^2 -$$ - -You can also use `\begin{equation}...\end{equation}` instead of `$$` for display mode math. -MathJax will automatically number equations: - -\begin{equation} -\label{eq:cauchy-schwarz} -\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) -\end{equation} - -and by adding `\label{...}` inside the equation environment, we can now refer to the equation using `\eqref`. - -Note that MathJax 3 is [a major re-write of MathJax](https://docs.mathjax.org/en/latest/upgrading/whats-new-3.0.html) that brought a significant improvement to the loading and rendering speed, which is now [on par with KaTeX](https://www.intmath.com/cg5/katex-mathjax-comparison.php). diff --git a/_posts/2018-12-22-distill.md b/_posts/2018-12-22-distill.md deleted file mode 100644 index 3c16c640..00000000 --- a/_posts/2018-12-22-distill.md +++ /dev/null @@ -1,1501 +0,0 @@ ---- -layout: distill -title: a distill-style blog post -description: an example of a distill-style blog post and main elements -tags: distill formatting -giscus_comments: true -date: 2021-05-22 -featured: true -mermaid: - enabled: true - zoomable: true -code_diff: true -map: true -chart: - chartjs: true - echarts: true - vega_lite: true -tikzjax: true -typograms: true - -authors: - - name: Albert Einstein - url: "https://en.wikipedia.org/wiki/Albert_Einstein" - affiliations: - name: IAS, Princeton - - name: Boris Podolsky - url: "https://en.wikipedia.org/wiki/Boris_Podolsky" - affiliations: - name: IAS, Princeton - - name: Nathan Rosen - url: "https://en.wikipedia.org/wiki/Nathan_Rosen" - affiliations: - name: IAS, Princeton - -bibliography: 2018-12-22-distill.bib - -# Optionally, you can add a table of contents to your post. -# NOTES: -# - make sure that TOC names match the actual section names -# for hyperlinks within the post to work correctly. -# - we may want to automate TOC generation in the future using -# jekyll-toc plugin (https://github.com/toshimaru/jekyll-toc). -toc: - - name: Equations - # if a section has subsections, you can add them as follows: - # subsections: - # - name: Example Child Subsection 1 - # - name: Example Child Subsection 2 - - name: Citations - - name: Footnotes - - name: Code Blocks - - name: Interactive Plots - - name: Mermaid - - name: Diff2Html - - name: Leaflet - - name: Chartjs, Echarts and Vega-Lite - - name: TikZ - - name: Typograms - - name: Layouts - - name: Other Typography? - -# Below is an example of injecting additional post-specific styles. -# If you use this post as a template, delete this _styles block. -_styles: > - .fake-img { - background: #bbb; - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 0 0px 4px rgba(0, 0, 0, 0.1); - margin-bottom: 12px; - } - .fake-img p { - font-family: monospace; - color: white; - text-align: left; - margin: 12px 0; - text-align: center; - font-size: 16px; - } ---- - -## Equations - -This theme supports rendering beautiful math in inline and display modes using [MathJax 3](https://www.mathjax.org/) engine. -You just need to surround your math expression with `$$`, like `$$ E = mc^2 $$`. -If you leave it inside a paragraph, it will produce an inline expression, just like $$ E = mc^2 $$. - -In fact, you can also use a single dollar sign `$` to create inline formulas, such as `$ E = mc^2 $`, which will render as $ E = mc^2 $. This approach provides the same effect during TeX-based compilation, but visually it appears slightly less bold compared to double-dollar signs `$$`, making it blend more naturally with surrounding text. - -To use display mode, again surround your expression with `$$` and place it as a separate paragraph. -Here is an example: - -$$ -\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) -$$ - -Note that MathJax 3 is [a major re-write of MathJax](https://docs.mathjax.org/en/latest/upgrading/whats-new-3.0.html) that brought a significant improvement to the loading and rendering speed, which is now [on par with KaTeX](https://www.intmath.com/cg5/katex-mathjax-comparison.php). - ---- - -## Citations - -Citations are then used in the article body with the `` tag. -The key attribute is a reference to the id provided in the bibliography. -The key attribute can take multiple ids, separated by commas. - -The citation is presented inline like this: (a number that displays more information on hover). -If you have an appendix, a bibliography is automatically created and populated in it. - -Distill chose a numerical inline citation style to improve readability of citation dense articles and because many of the benefits of longer citations are obviated by displaying more information on hover. -However, we consider it good style to mention author last names if you discuss something at length and it fits into the flow well — the authors are human and it’s nice for them to have the community associate them with their work. - ---- - -## Footnotes - -Just wrap the text you would like to show up in a footnote in a `` tag. -The number of the footnote will be automatically generated.This will become a hoverable footnote. - ---- - -## Code Blocks - -Syntax highlighting is provided within `` tags. -An example of inline code snippets: `let x = 10;`. -For larger blocks of code, add a `block` attribute: - - - var x = 25; - function(x) { - return x * x; - } - - -**Note:** `` blocks do not look good in the dark mode. You can instead use the standard Jekyll syntax highlight with the `highlight` liquid tag. - -{% highlight javascript %} -var x = 25; -function(x) { -return x \* x; -} -{% endhighlight %} - -You can also write standard Markdown code blocks in triple ticks with a language tag, for instance: - -```python -def foo(x): - return x -``` - ---- - -## Interactive Plots - -You can add interative plots using plotly + iframes :framed_picture: - -
- -
- -The plot must be generated separately and saved into an HTML file. -To generate the plot that you see above, you can use the following code snippet: - -{% highlight python %} -import pandas as pd -import plotly.express as px -df = pd.read_csv( -'https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv' -) -fig = px.density_mapbox( -df, -lat='Latitude', -lon='Longitude', -z='Magnitude', -radius=10, -center=dict(lat=0, lon=180), -zoom=0, -mapbox_style="stamen-terrain", -) -fig.show() -fig.write_html('assets/plotly/demo.html') -{% endhighlight %} - ---- - -## Details boxes - -Details boxes are collapsible boxes which hide additional information from the user. They can be added with the `details` liquid tag: - -{% details Click here to know more %} -Additional details, where math $$ 2x - 1 $$ and `code` is rendered correctly. -{% enddetails %} - ---- - -## Mermaid - -This theme supports creating diagrams directly in markdown using [Mermaid](https://mermaid.js.org/). Mermaid enables users to render flowcharts, sequence diagrams, class diagrams, Gantt charts, and more. Simply embed the diagram syntax within a mermaid code block. - -To create a Gantt chart, you can use the following syntax: - -````markdown -```mermaid -gantt - dateFormat YYYY-MM-DD - title A Gantt Diagram - - section Section - Task A :a1, 2025-01-01, 30d - Task B :after a1, 20d - Task C :2025-01-10, 12d -``` -```` - -And here’s how it will be rendered: - -```mermaid -gantt - dateFormat YYYY-MM-DD - title A Gantt Diagram - - section Section - Task A :a1, 2025-01-01, 30d - Task B :after a1, 20d - Task C :2025-01-10, 12d -``` - -Similarly, you can also use it to create beautiful class diagrams: - -```` -```mermaid -classDiagram -direction LR - class Animal { - +String species - +int age - +makeSound() - } - class Dog { - +String breed - +bark() - } - class Cat { - +String color - +meow() - } - class Bird { - +String wingSpan - +fly() - } - class Owner { - +String name - +int age - +adoptAnimal(Animal animal) - } - - Animal <|-- Dog - Animal <|-- Cat - Animal <|-- Bird - Owner "1" --> "0..*" Animal - - Dog : +fetch() - Cat : +purr() - Bird : +sing() -``` -```` - -It will be presented as: - -```mermaid -classDiagram -direction LR - class Animal { - +String species - +int age - +makeSound() - } - class Dog { - +String breed - +bark() - } - class Cat { - +String color - +meow() - } - class Bird { - +String wingSpan - +fly() - } - class Owner { - +String name - +int age - +adoptAnimal(Animal animal) - } - - Animal <|-- Dog - Animal <|-- Cat - Animal <|-- Bird - Owner "1" --> "0..*" Animal - - Dog : +fetch() - Cat : +purr() - Bird : +sing() -``` - -With Mermaid, you can easily add clear and dynamic diagrams to enhance your blog content. - ---- - -## Diff2Html - -This theme also supports integrating [Diff2Html](https://github.com/rtfpessoa/diff2html), a tool that beautifully renders code differences (diffs) directly in markdown. Diff2Html is ideal for showcasing code changes, allowing you to clearly present additions, deletions, and modifications. It’s perfect for code reviews, documentation, and tutorials where step-by-step code changes need to be highlighted—you can even introduce changes across multiple files at once. - -````markdown -```diff2html -diff --git a/utils/mathUtils.js b/utils/mathUtils.js -index 3b5f3d1..c7f9b2e 100644 ---- a/utils/mathUtils.js -+++ b/utils/mathUtils.js -@@ -1,8 +1,12 @@ --// Basic math utilities -+// Extended math utilities with additional functions - --export function calculateArea(radius) { -- const PI = 3.14159; -+export function calculateCircleMetrics(radius) { -+ const PI = Math.PI; - const area = PI * radius ** 2; -+ const circumference = 2 * PI * radius; -+ -+ if (!isValidRadius(radius)) throw new Error("Invalid radius"); -+ - return { area, circumference }; - } - --export function validateRadius(radius) { -+export function isValidRadius(radius) { - return typeof radius === 'number' && radius > 0; - } - -diff --git a/main.js b/main.js -index 5f6a9c3..b7d4e8f 100644 ---- a/main.js -+++ b/main.js -@@ -2,9 +2,12 @@ - import { calculateCircleMetrics } from './utils/mathUtils'; - --function displayCircleMetrics(radius) { -- const { area } = calculateCircleMetrics(radius); -+function displayCircleMetrics(radius) { -+ const { area, circumference } = calculateCircleMetrics(radius); - console.log(`Area: ${area}`); -+ console.log(`Circumference: ${circumference}`); - } - --displayCircleMetrics(5); -+try { -+ displayCircleMetrics(5); -+} catch (error) { -+ console.error("Error:", error.message); -+} -``` -```` - -Here’s how it will look when rendered with Diff2Html: - -```diff2html -diff --git a/utils/mathUtils.js b/utils/mathUtils.js -index 3b5f3d1..c7f9b2e 100644 ---- a/utils/mathUtils.js -+++ b/utils/mathUtils.js -@@ -1,8 +1,12 @@ --// Basic math utilities -+// Extended math utilities with additional functions - --export function calculateArea(radius) { -- const PI = 3.14159; -+export function calculateCircleMetrics(radius) { -+ const PI = Math.PI; - const area = PI * radius ** 2; -+ const circumference = 2 * PI * radius; -+ -+ if (!isValidRadius(radius)) throw new Error("Invalid radius"); -+ - return { area, circumference }; - } - --export function validateRadius(radius) { -+export function isValidRadius(radius) { - return typeof radius === 'number' && radius > 0; - } - -diff --git a/main.js b/main.js -index 5f6a9c3..b7d4e8f 100644 ---- a/main.js -+++ b/main.js -@@ -2,9 +2,12 @@ - import { calculateCircleMetrics } from './utils/mathUtils'; - --function displayCircleMetrics(radius) { -- const { area } = calculateCircleMetrics(radius); -+function displayCircleMetrics(radius) { -+ const { area, circumference } = calculateCircleMetrics(radius); - console.log(`Area: ${area}`); -+ console.log(`Circumference: ${circumference}`); - } - --displayCircleMetrics(5); -+try { -+ displayCircleMetrics(5); -+} catch (error) { -+ console.error("Error:", error.message); -+} -``` - ---- - -## Leaflet - -[Leaflet](https://leafletjs.com/) is created by Ukrainian software engineer [Volodymyr Agafonkin](https://agafonkin.com/), allowing interactive maps to be embedded in webpages. With support for [GeoJSON data](https://geojson.org/), Leaflet allows you to highlight specific regions, making it easy to visualize geographical information in detail. - -You can use the following code to load map information on [OpenStreetMap](https://www.openstreetmap.org/): - -````markdown -```geojson -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "name": "Crimea", - "popupContent": "Occupied Crimea" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 33.9, - 45.3 - ], - [ - 36.5, - 45.3 - ], - [ - 36.5, - 44.4 - ], - [ - 33.9, - 44.4 - ], - [ - 33.9, - 45.3 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Donetsk", - "popupContent": "Occupied Donetsk" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 37.5, - 48.5 - ], - [ - 39.5, - 48.5 - ], - [ - 39.5, - 47.5 - ], - [ - 37.5, - 47.5 - ], - [ - 37.5, - 48.5 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Luhansk", - "popupContent": "Occupied Luhansk" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 38.5, - 49.5 - ], - [ - 40.5, - 49.5 - ], - [ - 40.5, - 48.5 - ], - [ - 38.5, - 48.5 - ], - [ - 38.5, - 49.5 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Kherson", - "popupContent": "Occupied Kherson" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 32.3, - 47.3 - ], - [ - 34.3, - 47.3 - ], - [ - 34.3, - 46.3 - ], - [ - 32.3, - 46.3 - ], - [ - 32.3, - 47.3 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Zaporizhzhia", - "popupContent": "Occupied Zaporizhzhia" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 34.3, - 48 - ], - [ - 36.3, - 48 - ], - [ - 36.3, - 47 - ], - [ - 34.3, - 47 - ], - [ - 34.3, - 48 - ] - ] - ] - } - } - ] -} -``` -```` - -The rendered map below highlights the regions of Ukraine that have been illegally occupied by Russia over the years, including Crimea and the four eastern regions: - -```geojson -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "name": "Crimea", - "popupContent": "Occupied Crimea" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 33.9, - 45.3 - ], - [ - 36.5, - 45.3 - ], - [ - 36.5, - 44.4 - ], - [ - 33.9, - 44.4 - ], - [ - 33.9, - 45.3 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Donetsk", - "popupContent": "Occupied Donetsk" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 37.5, - 48.5 - ], - [ - 39.5, - 48.5 - ], - [ - 39.5, - 47.5 - ], - [ - 37.5, - 47.5 - ], - [ - 37.5, - 48.5 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Luhansk", - "popupContent": "Occupied Luhansk" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 38.5, - 49.5 - ], - [ - 40.5, - 49.5 - ], - [ - 40.5, - 48.5 - ], - [ - 38.5, - 48.5 - ], - [ - 38.5, - 49.5 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Kherson", - "popupContent": "Occupied Kherson" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 32.3, - 47.3 - ], - [ - 34.3, - 47.3 - ], - [ - 34.3, - 46.3 - ], - [ - 32.3, - 46.3 - ], - [ - 32.3, - 47.3 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "name": "Zaporizhzhia", - "popupContent": "Occupied Zaporizhzhia" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - 34.3, - 48 - ], - [ - 36.3, - 48 - ], - [ - 36.3, - 47 - ], - [ - 34.3, - 47 - ], - [ - 34.3, - 48 - ] - ] - ] - } - } - ] -} -``` - ---- - -## Chartjs, Echarts and Vega-Lite - -[Chart.js](https://www.chartjs.org/) is a versatile JavaScript library for creating responsive and interactive charts. Supporting multiple chart types like bar, line, pie, and radar, it’s an ideal tool for visualizing data directly in webpages. - -Here’s an example of a JSON-style configuration that creates a bar chart in Chart.js: - -```` -```chartjs -{ - "type": "bar", - "data": { - "labels": ["2017", "2018", "2019", "2020", "2021"], - "datasets": [ - { - "label": "Population (millions)", - "data": [12, 15, 13, 14, 16], - "backgroundColor": "rgba(54, 162, 235, 0.6)", - "borderColor": "rgba(54, 162, 235, 1)", - "borderWidth": 1 - } - ] - }, - "options": { - "scales": { - "y": { - "beginAtZero": true - } - } - } -} -``` -```` - -The rendered bar chart illustrates population data from 2017 to 2021: - -```chartjs -{ - "type": "bar", - "data": { - "labels": ["2017", "2018", "2019", "2020", "2021"], - "datasets": [ - { - "label": "Population (millions)", - "data": [12, 15, 13, 14, 16], - "backgroundColor": "rgba(54, 162, 235, 0.6)", - "borderColor": "rgba(54, 162, 235, 1)", - "borderWidth": 1 - } - ] - }, - "options": { - "scales": { - "y": { - "beginAtZero": true - } - } - } -} -``` - ---- - -[ECharts](https://echarts.apache.org/) is a powerful visualization library from [Apache](https://www.apache.org/) that supports a wide range of interactive charts, including more advanced types such as scatter plots, heatmaps, and geographic maps. - -The following JSON configuration creates a visually enhanced line chart that displays monthly sales data for two products. - -```` -```echarts -{ - "title": { - "text": "Monthly Sales Comparison", - "left": "center" - }, - "tooltip": { - "trigger": "axis", - "backgroundColor": "rgba(50, 50, 50, 0.7)", - "borderColor": "#777", - "borderWidth": 1, - "textStyle": { - "color": "#fff" - } - }, - "legend": { - "data": ["Product A", "Product B"], - "top": "10%" - }, - "xAxis": { - "type": "category", - "data": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - "axisLine": { - "lineStyle": { - "color": "#888" - } - } - }, - "yAxis": { - "type": "value", - "axisLine": { - "lineStyle": { - "color": "#888" - } - }, - "splitLine": { - "lineStyle": { - "type": "dashed" - } - } - }, - "series": [ - { - "name": "Product A", - "type": "line", - "smooth": true, - "data": [820, 932, 901, 934, 1290, 1330, 1320, 1400, 1450, 1500, 1600, 1650], - "itemStyle": { - "color": "#5470C6" - }, - "lineStyle": { - "width": 3 - }, - "areaStyle": { - "color": { - "type": "linear", - "x": 0, - "y": 0, - "x2": 0, - "y2": 1, - "colorStops": [ - { "offset": 0, "color": "rgba(84, 112, 198, 0.5)" }, - { "offset": 1, "color": "rgba(84, 112, 198, 0)" } - ] - } - }, - "emphasis": { - "focus": "series" - } - }, - { - "name": "Product B", - "type": "line", - "smooth": true, - "data": [620, 732, 701, 734, 1090, 1130, 1120, 1200, 1250, 1300, 1400, 1450], - "itemStyle": { - "color": "#91CC75" - }, - "lineStyle": { - "width": 3 - }, - "areaStyle": { - "color": { - "type": "linear", - "x": 0, - "y": 0, - "x2": 0, - "y2": 1, - "colorStops": [ - { "offset": 0, "color": "rgba(145, 204, 117, 0.5)" }, - { "offset": 1, "color": "rgba(145, 204, 117, 0)" } - ] - } - }, - "emphasis": { - "focus": "series" - } - } - ] -} -``` -```` - -The rendered output is shown below, and you can also interact with it using your mouse: - -```echarts -{ - "title": { - "text": "Monthly Sales Comparison", - "left": "center" - }, - "tooltip": { - "trigger": "axis", - "backgroundColor": "rgba(50, 50, 50, 0.7)", - "borderColor": "#777", - "borderWidth": 1, - "textStyle": { - "color": "#fff" - } - }, - "legend": { - "data": ["Product A", "Product B"], - "top": "10%" - }, - "xAxis": { - "type": "category", - "data": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - "axisLine": { - "lineStyle": { - "color": "#888" - } - } - }, - "yAxis": { - "type": "value", - "axisLine": { - "lineStyle": { - "color": "#888" - } - }, - "splitLine": { - "lineStyle": { - "type": "dashed" - } - } - }, - "series": [ - { - "name": "Product A", - "type": "line", - "smooth": true, - "data": [820, 932, 901, 934, 1290, 1330, 1320, 1400, 1450, 1500, 1600, 1650], - "itemStyle": { - "color": "#5470C6" - }, - "lineStyle": { - "width": 3 - }, - "areaStyle": { - "color": { - "type": "linear", - "x": 0, - "y": 0, - "x2": 0, - "y2": 1, - "colorStops": [ - { "offset": 0, "color": "rgba(84, 112, 198, 0.5)" }, - { "offset": 1, "color": "rgba(84, 112, 198, 0)" } - ] - } - }, - "emphasis": { - "focus": "series" - } - }, - { - "name": "Product B", - "type": "line", - "smooth": true, - "data": [620, 732, 701, 734, 1090, 1130, 1120, 1200, 1250, 1300, 1400, 1450], - "itemStyle": { - "color": "#91CC75" - }, - "lineStyle": { - "width": 3 - }, - "areaStyle": { - "color": { - "type": "linear", - "x": 0, - "y": 0, - "x2": 0, - "y2": 1, - "colorStops": [ - { "offset": 0, "color": "rgba(145, 204, 117, 0.5)" }, - { "offset": 1, "color": "rgba(145, 204, 117, 0)" } - ] - } - }, - "emphasis": { - "focus": "series" - } - } - ] -} -``` - ---- - -[Vega-Lite](https://vega.github.io/vega-lite/) is a declarative visualization grammar that allows users to create, share, and customize a wide range of interactive data visualizations. The following JSON configuration generates a straightforward bar chart: - -```` -```vega_lite -{ - "$schema": "https://vega.github.io/schema/vega/v5.json", - "width": 400, - "height": 200, - "padding": 5, - - "data": [ - { - "name": "table", - "values": [ - {"category": "A", "value": 28}, - {"category": "B", "value": 55}, - {"category": "C", "value": 43}, - {"category": "D", "value": 91}, - {"category": "E", "value": 81}, - {"category": "F", "value": 53}, - {"category": "G", "value": 19}, - {"category": "H", "value": 87} - ] - } - ], - - "scales": [ - { - "name": "xscale", - "type": "band", - "domain": {"data": "table", "field": "category"}, - "range": "width", - "padding": 0.1 - }, - { - "name": "yscale", - "type": "linear", - "domain": {"data": "table", "field": "value"}, - "nice": true, - "range": "height" - } - ], - - "axes": [ - {"orient": "bottom", "scale": "xscale"}, - {"orient": "left", "scale": "yscale"} - ], - - "marks": [ - { - "type": "rect", - "from": {"data": "table"}, - "encode": { - "enter": { - "x": {"scale": "xscale", "field": "category"}, - "width": {"scale": "xscale", "band": 0.8}, - "y": {"scale": "yscale", "field": "value"}, - "y2": {"scale": "yscale", "value": 0}, - "fill": {"value": "steelblue"} - }, - "update": { - "fillOpacity": {"value": 1} - }, - "hover": { - "fill": {"value": "orange"} - } - } - } - ] -} -``` -```` - -The rendered output shows a clean and simple bar chart with a hover effect: - -```vega_lite -{ - "$schema": "https://vega.github.io/schema/vega/v5.json", - "width": 400, - "height": 200, - "padding": 5, - - "data": [ - { - "name": "table", - "values": [ - {"category": "A", "value": 28}, - {"category": "B", "value": 55}, - {"category": "C", "value": 43}, - {"category": "D", "value": 91}, - {"category": "E", "value": 81}, - {"category": "F", "value": 53}, - {"category": "G", "value": 19}, - {"category": "H", "value": 87} - ] - } - ], - - "scales": [ - { - "name": "xscale", - "type": "band", - "domain": {"data": "table", "field": "category"}, - "range": "width", - "padding": 0.1 - }, - { - "name": "yscale", - "type": "linear", - "domain": {"data": "table", "field": "value"}, - "nice": true, - "range": "height" - } - ], - - "axes": [ - {"orient": "bottom", "scale": "xscale"}, - {"orient": "left", "scale": "yscale"} - ], - - "marks": [ - { - "type": "rect", - "from": {"data": "table"}, - "encode": { - "enter": { - "x": {"scale": "xscale", "field": "category"}, - "width": {"scale": "xscale", "band": 0.8}, - "y": {"scale": "yscale", "field": "value"}, - "y2": {"scale": "yscale", "value": 0}, - "fill": {"value": "steelblue"} - }, - "update": { - "fillOpacity": {"value": 1} - }, - "hover": { - "fill": {"value": "orange"} - } - } - } - ] -} -``` - ---- - -## TikZ - -[TikZ](https://tikz.net/) is a powerful LaTeX-based drawing tool powered by [TikZJax](https://tikzjax.com/). You can easily port TikZ drawings from papers, posters, and notes. For example, we can use the following code to illustrate Euler’s formula $ e^{i \theta} = \cos \theta + i \sin \theta $: - -```markdown - -``` - -The rendered output is shown below, displayed as a vector graphic: - - - ---- - -## Typograms - -[Typograms](https://google.github.io/typograms/) are a way of combining text and graphics to convey information in a clear and visually engaging manner. Typograms are particularly effective for illustrating simple diagrams, charts, and concept visuals where text and graphics are closely integrated. The following example demonstrates a simple Typogram: - -```` -```typograms - ___________________ - / /| - /__________________/ | - | | | - | Distill | | - | | | - | | / - |__________________|/ -``` -```` - -The rendered output is shown below: - -```typograms - ___________________ - / /| - /__________________/ | - | | | - | Distill | | - | | | - | | / - |__________________|/ -``` - ---- - -## Layouts - -The main text column is referred to as the body. -It is the assumed layout of any direct descendants of the `d-article` element. - -
-

.l-body

-
- -For images you want to display a little larger, try `.l-page`: - -
-

.l-page

-
- -All of these have an outset variant if you want to poke out from the body text a little bit. -For instance: - -
-

.l-body-outset

-
- -
-

.l-page-outset

-
- -Occasionally you’ll want to use the full browser width. -For this, use `.l-screen`. -You can also inset the element a little from the edge of the browser by using the inset variant. - -
-

.l-screen

-
-
-

.l-screen-inset

-
- -The final layout is for marginalia, asides, and footnotes. -It does not interrupt the normal flow of `.l-body` sized text except on mobile screen sizes. - -
-

.l-gutter

-
- ---- - -## Sidenotes - -Distill supports sidenotes, which are like footnotes but placed in the margin of the page. -They are useful for providing additional context or references without interrupting the flow of the main text. - -There are two main ways to create a sidenote: - -**Using the `