Closed TheCedarPrince closed 1 year ago
Not yet clear what's going on here but if you change the def block for
+++
title = "Achieving an Undergraduate Level Understanding of Graph Theory"
slug = "01012023000122-graph-theory-learning"
tags = ["zettel", "ultralearning", "graph", "theory", "project", "archive", "blog"]
description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory."
rss_title = "Achieving an Undergraduate Level Understanding of Graph Theory "
rss_description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory."
rss_pubdate = Date(2022, 12, 31)
+++
it'll work as expected.
So it looks like an issue with the resolving of the @def
; I'll investigate but not too hard as the @def
stuff will be deprecated in favour of the +++
block as above (no need to change everything on your side, maybe just use it for future posts?)
curiously it seems that if you swap the @def title
and @def slug
that works too 🤔 curious.
Hi @tlienart,
Thanks for the speedy response! You are a saint as I totally thought I was losing my sanity here :joy:
Oh thanks for the heads-up about the intended deprecation. Didn't realize that. I hope you don't mind but I did open a small docs PR against the Franklin docs just warning them about this intended deprecation.
And not a problem at all -- I generate all my posts automatically in Franklin syntax so it is not a big deal to upgrade everything on my side.
I'll leave this issue open until I have a chance to make sure everything is open, otherwise, thanks!
Oh thanks for the heads-up about the intended deprecation. Didn't realize that. I hope you don't mind but I did open a small docs PR against the Franklin docs just warning them about this intended deprecation.
thanks! there's quite a bit more to it though (version 0.11
is a rewrite from the ground up which you could already play with https://github.com/tlienart/Xranklin.jl) but 0.10.x
will be supported for as long as I can.
While you're at it the ATX heading style you're using (====
instead of # title
) will also be deprecated 😅 .
Not yet clear what's going on here but if you change the def block for
+++ title = "Achieving an Undergraduate Level Understanding of Graph Theory" slug = "01012023000122-graph-theory-learning" tags = ["zettel", "ultralearning", "graph", "theory", "project", "archive", "blog"] description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory." rss_title = "Achieving an Undergraduate Level Understanding of Graph Theory " rss_description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory." rss_pubdate = Date(2022, 12, 31) +++
it'll work as expected.
So it looks like an issue with the resolving of the
@def
; I'll investigate but not too hard as the@def
stuff will be deprecated in favour of the+++
block as above (no need to change everything on your side, maybe just use it for future posts?)
Hey @tlienart , I have good news -- your work around worked! Just tested it and we are back in business! :smile: However, I did encounter one strange problem shown by this photo:
As you can see, something is going wrong with the Table of Contents command now. It was not expected that the workaround would impact the \toc
command. Here is the raw markdown for that note:
+++
title = "Achieving an Undergraduate Level Understanding of Graph Theory"
slug = "01012023000122-graph-theory-learning"
tags = ["zettel", "ultralearning", "graph", "theory", "project", "archive", "blog"]
description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory."
rss_title = "Achieving an Undergraduate Level Understanding of Graph Theory"
rss_description = "Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory."
rss_pubdate = Date(2022, 12, 31)
+++
Achieving an Undergraduate Level Understanding of Graph Theory
=========
**Date:** December 31 2022
**Summary:** Ultralearning project to learn the equivalent of an undergraduate maths of computer science student understanding of graph theory.
**Keywords:** #zettel #ultralearning #graph #theory #project #archive #blog
Bibliography
==========
Not Available
Table of Contents
=========
\toc
### Motivation
I have always found graph theory interesting ever since I was exposed to it back in my undergraduate studies at Georgia Tech. I found out about it through SIR Modeling but personally found the structure of graphs far more fascinating than its application to SIR models. Furthermore, as I intend to be pursuing graduate studies in applied mathematics, why not get started with trying to understand it?
### Project Goals
This process is adapted from the [Ultralearning framework posited by Scott Young](/07082020163004-ultralearning.md).
#### What Am I Doing?
Gain an undergraduate level of understanding of graph theory on par with maths and computer science students.
##### Core Concepts
* Basic concepts:
* Definition of a graph and its components:
* Understand the components of a graph and the differences between directed and undirected graphs.
* Subgraphs and isomorphism:
* Understand the definitions of subgraphs and isomorphism and be able to identify and compare them in a given graph.
* Directed graphs:
* Understand the definition of a directed graph and be able to represent it using adjacency and incidence matrices.
* Graphs and their properties:
* Understand various properties of graphs and be able to apply them to analyze and classify different types of graphs.
* Connectivity:
* Paths and circuits:
* Understand the definitions of paths and circuits and be able to identify and construct them in a given graph.
* Connectedness and components:
* Understand the concept of connectedness and be able to determine whether a graph is connected or disconnected.
* Understand the concept of graph components and be able to identify them in a given graph.
* Distance in graphs:
* Understand the concept of distance between vertices and be able to compute it using various measures.
* Trees:
* Trees and their properties:
* Understand the definition of a tree and be able to identify and distinguish trees from other types of graphs.
* Rooted trees and binary trees:
* Understand the concept of rooted trees and be able to construct and manipulate them.
* Understand the concept of binary trees and be able to construct and manipulate them.
* Spanning trees
* Matrix representations of graphs:
* Adjacency matrices:
* Understand the concept of an adjacency matrix and be able to represent a graph using an adjacency matrix.
* Incidence matrices:
* Understand the concept of an incidence matrix and be able to represent a graph using an incidence matrix.
* Graph algorithms:
* Breadth-first search:
* Understand the concept of breadth-first search and be able to implement it to traverse a graph.
* Depth-first search:
* Understand the concept of depth-first search and be able to implement it to traverse a graph.
* Planar graphs:
* Planar graphs and their properties:
* Understand the definition of a planar graph and the properties that distinguish planar graphs from other types of graphs.
* Euler's formula:
* Understand Euler's formula and be able to apply it to analyze the structure of planar graphs.
* Dual graphs:
* Understand the concept of a dual graph and be able to construct the dual of a given planar graph.
* Coloring graphs:
* Vertex coloring:
* Understand the concept of vertex coloring and be able to color the vertices of a given graph according to various coloring schemes.
* Edge coloring:
* Understand the concept of edge coloring and be able to color the edges of a given graph according to various coloring schemes.
* Matchings and factors:
* Matchings:
* Understand the concept of a matching in a graph and be able to identify and construct matchings in a given graph.
* Factors:
* Understand the concept of a factor in a graph and be able to identify and construct factors in a given graph.
* More advanced topics:
* Hamiltonian cycles:
* Understand the concept of a Hamiltonian cycle and be able to identify and construct Hamiltonian cycles in a given graph.
* Network flows:
* Understand the concept of network flows and be able to model and analyze flow problems in graphs.
* Graphs and groups:
* Understand the connection between graphs and group theory, and be able to apply group-theoretic techniques to analyze graphs.
* Graphs and logic:
* Understand the connection between graphs and logic, and be able to apply logical techniques to analyze graphs.
* Graphs and geometry:
* Understand the connection between graphs and geometry, and be able to apply geometric techniques to analyze graphs.
##### Facts
* Definition of a graph and its components:
* Vertices (also called nodes).
* Edges.
* Weights.
* Labels.
* Subgraphs and isomorphism.
* Directed graphs and their representations:
* Adjacency matrices.
* Incidence matrices.
* Graph properties:
* Connected/disconnected.
* Bipartite/not bipartite.
* Cyclic/acyclic.
* Paths and circuits.
* Connectedness and components.
* Distance between vertices.
* Trees:
* Definition.
* Unique path between vertices.
* Root vertex.
* Branches.
* Additional topics:
* Matrix representations:
* Adjacency matrices.
* Incidence matrices.
* Graph algorithms:
* Breadth-first search.
* Depth-first search.
* Planar graphs and their properties:
* Definition of a planar graph.
* Properties that distinguish planar graphs from other types of graphs.
* Euler's formula.
* Dual graphs.
* Tree properties:
* Rooted trees.
* Binary trees.
##### Procedures
1. Representing graphs using different notations (e.g. adjacency lists, adjacency matrices, incidence matrices).
2. Traversing graphs using different algorithms (e.g. breadth-first search, depth-first search).
3. Analyzing the properties of graphs (e.g. connectedness, bipartiteness, acyclicity).
4. Finding paths and circuits in graphs.
5. Identifying and constructing different types of trees (e.g. rooted trees, binary trees).
6. Coloring the vertices or edges of a graph according to various coloring schemes (e.g. vertex coloring, edge coloring).
7. Finding matchings and factors in graphs.
8. Identifying and constructing Hamiltonian cycles in graphs.
9. Modeling and analyzing flow problems in graphs using network flows.
10. Applying group-theoretic and logical techniques to analyze graphs.
11. Applying geometric techniques to analyze graphs.
### Roadmap
This is based on the Meta Learning step Young described as well as some additional tweaks of my own:
* **Outcomes:** The knowledge and abilities you’ll need to acquire for success.
* **Rationale:** Know exactly why you want to learn a skill or subject.
* **Resources:** The resources you’ll use when learning.
* **Done:** If this task has been completed (X) or not yet (cell is empty)
| Done | Topic | Resources | Outcomes |
| ----:| ----------------------------------------:| ---------:| ---------------------------------------------------------------------:|
| | Definition of a graph and its components | [1, 2] | Graph components; differences between directed and undirected graphs |
| | Subgraphs and isomorphism | [1, 2] | Subgraphs; isomorphism; identify and compare given graphs |
| | Directed graphs | [1] | Directed graph; representation using adjacency and incidence matrices |
| | Graphs and their properties | [1, 2] | Properties of graphs; analyze; classify different types of graphs |
| | Paths and circuits | [1, 2] | Paths and circuits; identify and construct given graph |
| | Connectedness and components | [1] | Determine if graph is connected; identify graph components |
| | Distance in graphs | [1, 2] | Vertex distances; compute vertex distances |
| | Trees and their properties | [1, 2] | Tree definitions; identify trees; distinguish trees |
| | Rooted trees and binary trees | [1, 2] | Rooted trees; construct and manipulate rooted trees |
| | Adjacency matrices | [1] | Adjacency matrix concept; representation of adjacency matrix |
| | Incidence matrices | [1] | Incidence matrix concept; representation of incidence graphs |
| | Breadth-first search | [1, 2] | Breadth-first search concept; graph traversal |
| | Depth-first search | [1, 2] | Depth-first search concept; graph traversal |
| | Planar graphs and their properties | [1] | Planar graph definition; properties |
| | Euler's formula | [1, 2] | Euler's formula; structure of planar graphs |
| | Dual graphs | [1] | Dual graph concept; construction of dual graph |
| | Vertex coloring | [1, 2] | Vertex coloring concept; coloring of graph vertices |
| | Edge coloring | [1, 2] | Edge coloring concept; coloring of graph edges |
| | Matchings | [1, 2] | Matching concept; identification and construction |
| | Factors | [1] | Factor concept; identification and construction |
| | Hamiltonian cycles | [1, 2] | Hamiltonian cycle concept; identification and construction |
| | Network flows | [1] | Network flow concept; modeling and analysis |
| | Graphs and groups | [2] | Graph and group theory connection; analysis |
| | Graphs and logic | [2] | Graph and logic connection; analysis |
| | Graphs and geometry | [2] | Graph and geometry connection; analysis |
#### Explanations
These are the explanations and information about each column in this roadmap:
* **Outcomes:** The knowledge and abilities I’ll acquire for success.
* **Rationale:** The rationale is the same across every topic: to gain a basic and fundamental understanding of graph theory
* **Resources:** The resources I'll use are as follows:
* [1] R. Trudeau, Introduction to Graph Theory, Dover. DOVER PUBLICATIONS, INC., 1994.
* [2] N. Hartsfield and Ringel, Pearls in Graph Theory A Comprehensive Introduction. DOVER PUBLICATIONS, INC., 1994.
* **Done:** If this task has been completed (X) or not yet (cell is empty)
## References
## References:
[1] R. Trudeau, Introduction to Graph Theory, Dover. DOVER PUBLICATIONS, INC., 1994.
[2] N. Hartsfield and Ringel, Pearls in Graph Theory A Comprehensive Introduction. DOVER PUBLICATIONS, INC., 1994.
## Discussion:
{{ addcomments }}
Did I unintentionally change something here that you can see?
Here are some issues I could think of:
===
titles and ##
titles##
titles are of jumping depths (missing a level) and go beyond level 4both these things should not throw off the engine but clearly they do... adjusting them as follows does seem to do the job.
I should try to work on migrating your site to Xranklin, it would be a good test case to see if it just handles all of it properly.
Let me close this issue for now and I can open a separate issue to keep the discussion going about this: https://github.com/tlienart/Franklin.jl/issues/991#issuecomment-1372100347
Thanks @tlienart !
Background
Hey Franklin folks, I am having the most curious of errors. For the past half year, I have used the following structure for my website:
It has worked perfectly fine with all my content pages being hosted in the
notes/
directory. What I am able to do is generate links to all my content pages on the blog and archive pages that someone can then browse (here is a link to how it looks live: https://jacobzelko.com/archive/ -- if you click on a link, as you can see it'll take you to a page correctly). If I were to visit the page for the post "The Structure of Scientific Revolutions", I can access it here: https://jacobzelko.com/05152022174848-structure-revolutions/ The associated Franklin Markdown file looks like this:Everything is rendered properly and the page is created with the appropriate slug. Looking within
__site
, I can see a folder named after its slug with an expected index.html.Problem
Suddenly, Franklin seems to be failing for this particular page I added to my
notes
directory:I have nearly 250 notes published from the notes directory, but all are rendering correctly except this one. At first, I thought this note wasn't rendering correctly at all, but I discovered Franklin is for some reason treating this page differently than the rest. It seems to be ignoring the
@def slug
setting and creating the page athttps://jacobzelko.com/notes/01012023000122-graph-theory-learning/
instead ofhttps://jacobzelko.com/01012023000122-graph-theory-learning/
Plus, the Franklin content is not rendering properly when I visit the page (however the rest of the markdown looks right still):
Questions
What am I doing wrong here? It was working well for everything else but is now failing for this one page. I am so confused as I do not know how to fix the pathing issue.
Thanks!
Additional information
Julia: 1.8 Franklin: 0.10.79 NodeJS: 1.3.0