• Stars
    star
    350
  • Rank 121,229 (Top 3 %)
  • Language Vue
  • License
    MIT License
  • Created over 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dark themed, SEO friendly: Nuxt Content + TailwindCSS + Firebase + i18n + RSS2 based SPA for procrastinating developers to quickly spin up their own kickass blog and showcase their projects.

Logo

Netlify Status

template.karngyan.com

Dark themed, SEO friendly: Nuxt Content + TailwindCSS + Firebase + i18n based SPA for procrastinating developers to quickly spin up their own kickass blog and showcase their projects.

Product Name Screen Shot

Visit: template.karngyan.com to see all feature enabled version of this template.

Table of Contents
  1. Instructions to make it your own
  2. Other Deployment Options
  3. Contributing
  4. Awesome Forks
  5. License
  6. Contact

Instructions to make it your own

Recommended [more like easiest and quickest way]

  1. Fork the project.
  2. Clone your copy and create your own branch out of it.
# replace <username> with your username
git clone [email protected]:<username>/karngyan.com.git
git checkout -b website
  1. Choose your favorite editor and open the project.
  2. Local development setup:
# install node <= 14 and yarn (highly recommended)
$ npm install --global yarn

# cd into your project and install the dependencies
$ yarn install

# run the dev server
$ yarn dev

# open localhost:3000

Page might not load right now, you can set firebase.enabled = false in karngyan.config.js for now. Read along.

  1. Edit karngyan.config.js to your liking. You can turn on and off sections/pages by changing the enabled value for respective objects.
    • You can add your images to static directory. It matches to root when deployed.
    • Update the strings object accordingly.
  2. To enable comments and likes on blog posts and project posts, we use Firebase. If you don't need that, set firebase.enabled = false in karngyan.config.js, and move to the next step. Otherwise follow these:
    • Create a firebase project.
    • Create a web app and get the firebase config object. (You can follow this video)
    • Enable Authorization (Google Provider supported as of now)
    • Enable Firestore
    • Set the following cloud firestore rules, so that your database is write protected:
      rules_version = '2';
      service cloud.firestore {
        match /databases/{database}/documents {
          match /likes/{id} {
            allow write: if request.auth != null;
            allow read: if true;
          }
          match /comments/{id} {
            allow write: if request.auth != null && 
              request.resourse.data.text.size() > 0 &&
              request.resource.data.slug.size() > 0;
            allow read: if true;
          }
        }
      }
      
    • This actually does open a security loophole of open reads and will increase your firebase bills for too many reads.
    • Only if you'll be testing locally
      • Create a copy of .env.example -> .env and add values from config object.
  3. Deploy to netlify using the following config:
    • Repository: Your forked repository
    • Branch: website
    • Publish Directory: dist
    • Build Command: yarn generate
    • Don't forget to add all the environment variables if you have enabled firebase.
  4. Write your blogs in content/posts and projects in content/projects in markdown or html. There's a couple of samples that come with the template.
  5. Add to staging, Commit and Push.

The code is yours, edit whatever you feel like. Don't forget to star the repository if you liked it.

This project uses nuxt content, you can read about it here

You can also set up forestry to never open code and use a cool editor. I'll add instructions to use that later.

Other Deployment Options

My own website karngyan.com is actually deployed on AWS in an S3 bucket, with Cloudfront. But that comes with a few caveats to configure and maintain. Anyways the gulpfile.js to deploy to AWS is committed with the project if you feel like you want to check it out.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Awesome Forks Awesome

Raise a PR when your website's up to add you here.

Find your alphabetical position, or raise a PR to automate this.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Karn - @gyankarn - [email protected]

For detailed explanation on how things work, check out Nuxt.js docs.

More Repositories

1

covidhelp.ui

The backend is in a private repository. This directly consumes the api. What we expect from developers is to either add information thats publicly available or consume some public API to add on to the info on the website. If you're interested in adding an API. Drop us a message on Slack.
JavaScript
12
star
2

karngyan.com.og

Original Gangster
Vue
7
star
3

basic-color-palette

Basic Color Palette built using React Native (and Expo)
JavaScript
3
star
4

ictlab

ICT Lab Stuff
C++
2
star
5

xmeme

Vue
2
star
6

Profile-chrome-extension

Creates a chrome extension of the profile of a person/company/organisation.
HTML
2
star
7

metatags

Meta tag generator for HTML, Nuxt, (add yours)
Vue
2
star
8

ahana-api

JavaScript
2
star
9

getx

Shitty Go Code XD - Mini (Successful πŸ˜›) Assignment, server - Go, Client - React
TypeScript
1
star
10

fly-dist-sys

Go
1
star
11

mapit

Google Maps location through Command Line
Python
1
star
12

software-product-sprint

Google SPS - Summer 2020
Java
1
star
13

train-schedule

Web Scraper: creates a .json and .xlsx file containing train route/details (requires train number)
Python
1
star
14

karngyan.dev

πŸ˜‚
1
star
15

googleTabIt

Opens few tabs with initial results links on google search.
Python
1
star
16

todo

Django Postgres based a simple To Do list App
Python
1
star
17

karngyan

GitHub Profile
1
star
18

cnslab

CNS Lab - BE/10546/17 - IT6024
C++
1
star
19

tit

personal tweet scheduler - it needs my guidance now for it to work for you - it works on my mac - will release it someday
Go
1
star
20

newsletter

Java
1
star
21

homework

customer.io full stack engineer take home project
Go
1
star
22

xmeme-api

JavaScript
1
star
23

beego-api-firebase-template

Personal starter for backend APIs, use it if you like.
Go
1
star
24

adventofcode

Python
1
star
25

data-hash-api

Lab assignment suff, simple api that responds back with data string and its sha1
JavaScript
1
star
26

cred-swe-intern-java

Java
1
star
27

ERP-Feedback-AutoFill

FeedBack Automation : It's a pain in the ass every end of the sem.
Python
1
star