About
Open Source Jekyll Template built for Developers, You can host the site for free and customize based on your needs. It's fast.
You can use Devlopr as a starter for building your own Site. we purposely keep the styling minimal and bare to make it easier to add your own flare and markup.
Devlopr Jekyll uses Markdown Files to generate data like Blog Posts, Gallery, Shop Products etc. No external database is required.
Launch your Static Site using Devlopr in minutes :rocket:
To get started follow this Tutorial
or if you want to try fast :
Follow this steps in browser (takes 5-10 mins):
- Fork this Repo with your name as your_username.github.io
- Visit your Fork repo at https://github.com/your_username/your_username.github.io
- Press "." in keyboard (this will open up vs-code editor in browser) of the repo.
- Customize config.yml file according to your needs (eg. change your Name, Email... etc.)
- Commit your changes, and push
- Wait for CI/CD to build your website. Visit Github Actions to see the build process.
- Once Ready, Your website will be ready at https://your_username.github.io :sparkles:
- Happy Hacking your new site ! For Local changes you can clone locally.
Local Development Steps :
Step 1: Fork this repo with your github username.
Step 2: Clone Locally
$ git clone https://github.com/your_github_username/your_github_username.github.io.git
$ cd your_github_username
Step 3: Now follow the below guides based on your OS.
For Linux : (Ubuntu 20.04)
To work locally with ubuntu, follow this commands.
Install Ruby :
$ sudo apt install ruby-full
$ ruby --version
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
$ gem install jekyll bundler
$ bundle update
$ bundle install
$ bundle exec jekyll -v
jekyll 4.2.2
$ bundle exec jekyll serve --livereload
For Windows :
To work locally with windows machine, follow this commands. You might need to download and install ruby (with devkit) and git.
$ ruby -v
(ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [universal.x86_64-darwin21])
$ gem install jekyll bundler
$ bundler -v
Bundler version 2.3.23
$ bundle update
$ bundle install
$ bundle exec jekyll -v
jekyll 4.2.2
$ bundle exec jekyll serve --livereload
If you are running into permission issues running bundler, try the following:
$ sudo rm -rf _site
$ bundle update
$ bundle install
$ bundle exec jekyll serve
Start the server locally at http://127.0.0.1:4000/ or http://localhost:4000/
For MacOS :
Run the following in your terminal :
Option 1. Install ruby using Homebrew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ brew install ruby
Add the below in ~/.zshrc file:
Edit either the ~/.zshrc and ~/.zprofile files:
$ open -e ~/.zshrc
For Mac M1, M2, M3
# override system ruby with homebrew-installed ruby
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
For Mac Intel
On Mac Intel, add this at the end of your ~/.zshrc or ~/.zprofile file.
if [ -d "/usr/local/opt/ruby/bin" ]; then
export PATH=/usr/local/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
fi
Save the file. This sets the Homebrew-installed Ruby to a higher priority than the system Ruby and adds the directory used for Ruby gems.
Reset the shell session
Close and reopen the Terminal window to pick up the changes to the configuration file. Or enter source ~/.zshrc or source ~/.zprofile to reset the shell environment without closing the Terminal window.
$ source ~/.zprofile
$ source ~/.zshrc
The source command reads and executes a shell script file, resetting the shell environment.
You should be able to see this :
$ ruby -v
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]
- Install churby and ruby-install with Homebrew
We will be using ruby-install to install ruby and chruby to change the current ruby version.
brew install chruby ruby-install
Install latest ruby version
ruby-install ruby
This will take a few minutes, and once it’s done, configure your shell to automatically use chruby:
echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc
echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc
echo "chruby ruby-3.3.4" >> ~/.zshrc
If you are facing any problems not getting the version that you just now installed, here is a amazing guide : how to uninstall ruby on mac
If you’re using Bash, replace .zshrc with .bash_profile.
Quit and relaunch Terminal, then check that everything is working:
$ ruby -v
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin23]
- Install latest gems
$ gem install jekyll bundler
$ gem update --system 3.5.15
$ bundler -v
Bundler version 2.5.15
$ bundle update
$ bundle exec jekyll -v
jekyll 4.3.3
$ bundle exec jekyll serve --livereload
Security
We use codeQL and dependabot alerts for vulnerabality analysis & fixes.
$ bundle audit
Github Actions
This Project has actions to auto deploy jekyll to github pages and firebase. The deployment target can be set by editing the DEPLOY_STRATEGY
file. Valid values are:
none
: default value. use this if you don't want to deploy the site.gh-pages
: deploys to github pages. This uses a custom action available in the Marketplace - Jekyll Deploy Actionfirebase
: deploys to firebase. Before you can use this you need to first create a firebase project here. You can signup for a Free Spark Plan. Then, in your github repo's settings, go to the secrets section and add the following:FIREBASE_TOKEN
: your firebase token. you can get this by runningfirebase login:ci
with the firebase cli.FIREBASE_PROJECT_ID
: the project id of the project you just created
Demo (Hosted Apps)
- Github Pages Demo - here
- Firebase Demo - here
- Netlify Demo - here
- Vercel Demo - here
- Heroku Demo - here
- AWS Amplify Demo - here
Features :
- Local CMS Admin Support using Jekyll Admin
- Headless CMS Admin Support using Netlify CMS
- Supports Latest Jekyll 4.x and Bundler
- Stylesheet built using Sass
- Comments using Hyvor and Disqus
- SEO-optimized
- Real Time Search - Algolia
- Sell Stuff (Ecommerce) in your Blog using Snipcart
- Send Newsletters using Mailchimp
- Contact Forms Support for Getform, Formspree
- Coding Activity using Wakatime
- Hosting Support for Github Pages, Netlify, Vercel, Heroku, AWS Amplify, Firebase
- CI/CD Support using Travis CI
Jekyll Admin
You can easily manage the site locally using the Jekyll admin : http://localhost:4000/admin
You can check out for all changelogs here
Pull the latest changes
$ git remote -v
$ git remote add upstream https://github.com/sujaykundu777/devlopr-jekyll.git
$ git fetch upstream
$ git checkout master
$ git merge upstream/master
$ git push
Using Docker :
Building the Image :
$ docker build -t my-devlopr-jekyll-blog .
Running the container :
$ docker run -d -p 4000:4000 -it --volume="$PWD:/srv/jekyll" --name "my_blog" my-devlopr-jekyll-blog:latest jekyll serve --watch
Using Docker Compose :
Development :
You can run the app in development mode : (your changes will be reflected --watch moded)
Serve the site at http://localhost:4000 :
$ docker-compose -f docker-compose-dev.yml up --build --remove-orphans
Production :
You can run the app in production mode : (your changes will be reflected --watch moded)
Serve the site at http://localhost:4000 :
$ docker-compose -f docker-compose-prod.yml up --build --remove-orphans
Stop the app :
docker-compose -f docker-compose-prod.yml down
Once everything is good and ready to go live -
docker-compose -f docker-compose-prod.yml up --build --detach