Welcome to the second installment of our series on jargons.dev!
Let's get to it!
Following the initial commit, I started working on "the fork script" (wondering what that is?? You'll find out later in the series 😉) but I must confess and as you'll find in the commit history, that I took a long break (3 months+) from working on jargons.dev. Within these times I've had some opportunity to do some subconscious reflection that was great for the project.
Reflection Opportunity
I stopped work on jargons.dev for the while, not intentionally but because I was so embedded in the work I was doing on Hearts, that I didn't even think about jargons.dev. Well, over the course of those months, the new year came (with new goals of-course), I've also experienced and gotten exposed to some new technologies. One technology stood out to me and that was Astro.
Astro Resonating with jargons.dev
In January, I had a goal of "learning new technologies with docs", this was a challenge that got me started with Astro after hearing great stuff about it.
Fast forward March, I found myself working on another entirely different side project (wp-theme), I was watching a Eddie Jaoude YT Stream where I made this known to Eddie but his response would end up pushing me back to working on jargons.dev
You have quite a few side projects... I don't know which one.
This statement got me to think real hard, hence I decided to halt all the lots of side projects and focus on some that mattered right away, jargons.dev easily came back to mind.
At this point, I was already somewhat familiar with Astro, — being a framework for content-driven web apps, with a super simple file system, i18n-ready, SSG with great SEO (important for the project), performant, support for other frontend libraries like ReactJS with islands (I love this one especially); it was a tool made in heaven to build jargons.dev with.
Well, I quickly got to work the next available weekend I had to work on the base dictionary part of the project.
The Base Dictionary
I initialized a new Astro project for this one, as simple as running the command below and follow the prompts...
npm create astro@latest
I also added the tailwindcss integration for styling; mdx integration for content; this was also super easy to config by just running the command respectively
npx astro add tailwind
npx astro add mdx
I went on and completed the following tasks
- Created a boilerplate homepage with static search form
- Temporarily resolved to have the src/pages/worddirectory as the directory that should hold each word in the dictionary as amdxfile.
- Implemented the word.astrolayout, which serves as the frame within where all.mdxfiles' content for words inside of thesrc/pages/word/directory can be rendered using frontmatter.
- Also added a static mini search form to the word layout navbar.
With this feature, we are already able to view dictionary word on the jargons.dev/word/[word]route. This means when the file tuple.mdx is present in the src/pages/word/directory, we will be able to reach the page to get see the dictionary word with a visit to jargons.dev/word/tuple
The PR
    
       feat: implement base dictionary
      
      #4
      
        feat: implement base dictionary
      
      #4
    
  
  This Pull request implements the base dictionary app with AstroJS
- Started new astro project
- Created homepage
- Implemented 2 layouts
- Base - main primary wrapper for all pages and layouts
- Word - layout to be used on the word pages
 
- Implemented static search form triggers on homepage and in Wordlayout
Homepage
Word page
 
![Cover image for Building jargons.dev [#1]: The Base Dictionary](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1wh8ursf4p5hupx7llc.png) 
              
 
    
Top comments (0)