Giter Club home page Giter Club logo

my-website's Introduction

About this Website

The website currently has three different types of posts - articles, poems, and notes. All three are implemented with gatsby-plugin-mdx and I curate links on /articles and /poetry respectively. On the backend I write my notes using Dendron

πŸ“ Notes

Dendron notes use wikilinks, are hierarchical, and context aware. Currently I use gatsby-remark-double-brackets-link to handle the wikilinks and gatsby-remark-copy-linked-files to display when these notes are referenced by another note.

πŸ“˜ Articles

Implemented in gatsby-plugin-mdx. The slug is drawn from slug in the frontmatter, title, and excerpt are also important values. A list of all tags used in articles can be viewed at /articles/tags. These tags will also list links to any note pages that are tagged as well.

πŸ“œ Poems

Like Articles, all the poems on the site can be seen at /poetry/all. Much of the frontmatter for articles and poems are the same, the exception is the recording element which takes the location of an MP3 file and will generate a player at the top of the poem if one exists. Poems have the same tagging system as Articles.

πŸ“„ Pages

Make sure to import a layout if you're creating an .mdx page in src/pages

πŸ“ Directory Structure

.
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ content
β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”œβ”€β”€ notes <-- Note .mdx or .md files go here
β”‚Β Β  β”œβ”€β”€ poems <-- Poem .mdx or .md files go here
β”‚Β Β  β”‚Β Β  └── seasons-of-thought
β”‚Β Β  └── posts <-- Article .mdx or .md files go here
β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ @aengusm / gatsby-theme-brain
β”‚Β Β  β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ layout <-- General Layout
β”‚   β”‚   β”œβ”€β”€ notes <-- Modified layout for the notes
β”‚   β”‚   β”œβ”€β”€ poems <-- Modified layout for poems
β”‚   β”‚   β”œβ”€β”€ posts <-- Modified layout for articles
β”‚   β”‚   └── tags <-- information on generating tags
β”‚Β Β  └── pages <-- Pages (often .mdx) go here
β”œβ”€β”€ static <-- It might not be optimized but its sometimes easier to link to images stored here.
β”œβ”€β”€ gatsby-config.js
β”œβ”€β”€ gatsby-node.js
└── yarn.lock

↔️ Bidirectional Links / Link Previews

Link Previews are implemented using Tippy JS Tooltips. gatsby-theme-brain provides native bidirectional linking and the information to easily implement link previews (with a slightly modified GraphQL query); however, in order to get this working across the site I added an MDX component that cycles through every single mdx page and puts the childMdx.body value inside of a tooltip if the slugs match.

Link Previews only show up on larger screen size so make sure to check out the website on your desktop.

πŸ•ΊπŸΌ Styling

This site uses emotion for CSS in JS styling as well as some vanilla CSS. The CSS is inspired and adapted from Tufte's CSS.

my-website's People

Contributors

chapmands1 avatar dschapman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

my-website's Issues

Add goodreads page

Use Goodread API and graphql to get the books I've reviewed recently and display on a page. Add a link to this on my home page. Probably not on the NavBar.

Create a Second, "Reading" Page type

On Blogs, or project pages we don't want to encourage navigation away so the Navbar should be less evident.

  • Perhaps fading until they scroll up
  • or only appearing when a button is selected

Re-Style Email Subscription Box

Restyle the subscription box on the about page.

  • Include disclaimer about how I plan on using email addresses.
  • Include the response data from mail chimp so that the user receives feedback when the submission is successful
  • Maybe something like "Thanks for subscribing" fades in on the screen replacing the disclaimer

Import Blog Posts

Create a Shell Script that parses through WordPress and creates blogposts from past wordpress blogposts

Doom Emacs mixing fonts note issue

Hey! Your note is high on Google results for Doom Emacs variable pitch font. Congrats! There's one issue there though. Namely, it has the following snippet:

(use-package mixed-pitch
  :hook
  ;; If you want it in all text modes:
  (text-mode . mixed-pitch-mode))

The proper mechanism in Doom Emacs is use-package! (note the bang), I believe.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.