An interactive markdown graph theme to showcase personal portfolios in a visually engaging way. It's just a side project, and have limited functionality
- Interactive markdown graph visualization
- Physics-based node movement with draggable nodes
- Customizable node shapes, colors, and connections
- Responsive design for both desktop and mobile (Highly Experimental)
- Smooth animations and transitions
-
Create a new Hugo site or navigate to your existing Hugo site
hugo new site my-portfolio cd my-portfolio -
Clone this repository into the themes directory or use submodule
git submodule add https://github.com/shashank-sharma/hugo-constellation
-
Set the theme in your config.toml file
theme = "hugo-constellation"
Example usage can be found here: https://github.com/shashank-sharma/about-me
Ensure your config.toml includes the necessary output formats to generate JSON files:
[outputs]
home = ["HTML", "JSON"]
section = ["HTML", "JSON"]
page = ["HTML", "JSON"]
[outputFormats.JSON]
mediaType = "application/json"
isPlainText = true
notAlternative = trueCreate a directory for your node content:
mkdir -p content/nodesFor each node in your graph, create a Markdown file in the content/nodes directory:
---
title: "Node Title"
type: "nodes"
id: "person" # id and filename must be same to work correctly
shape: "square" # circle, triangle, square etc
parent: "parentid" # Required for nodes which needs to connect with parent
subtitle: "Node Subtitle"
weight: 10
draft: false
connectionLabel: "random label" # Optional when trying to connect
connectionType: "solid" # dashed or solid
---
## Your Content Heading
This is the detailed content for this node. It will be displayed in the sidebar when the node is selected.
You can include:
- Lists
- **Bold text**
- *Italic text*
- [Links](https://example.com)
- And other Markdown features
- Note: Person node, which is person.md must be there to act as a center of this graph. Follow nodes can be dynamic as per your needs
circle: Circular nodessquare: Square nodestriangle: Triangular nodespentagon: Pentagon nodesdiamond: Diamond-shaped nodeshexagon: Hexagonal nodesoctagon: Octagon nodes
solid: Solid line connectiondotted: Dotted line connection
TODO
This theme is licensed under the MIT License - see the LICENSE file for details.


