Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iyashwantsaini/jekyll_master
Jekyll Basics
https://github.com/iyashwantsaini/jekyll_master
jekyll ruby static-site-generator
Last synced: 10 days ago
JSON representation
Jekyll Basics
- Host: GitHub
- URL: https://github.com/iyashwantsaini/jekyll_master
- Owner: iyashwantsaini
- License: mit
- Created: 2020-06-19T18:02:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-06T14:26:11.000Z (over 2 years ago)
- Last Synced: 2024-11-16T06:20:54.365Z (2 months ago)
- Topics: jekyll, ruby, static-site-generator
- Language: Ruby
- Homepage:
- Size: 1.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
## install --on ubuntu
1. sudo apt-get install ruby-full build-essential zlib1g-dev
2. echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
3. echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
4. echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
5. source ~/.bashrc
6. gem install jekyll bundler## crete new site
* jekyll new site_name
## move into site directory
* cd site_name
## serve site
* for 1st run only -- bundle exec jekyll serve
* otherwise -- jekyll serve## frontmatter
* it is the info about our blogpost -- i.e main info
* write either in yaml or json
* changing "category" can change url of post
* we can create our own variables as well## more styling
* we can create files in html instead of md directly## organising
* make sub directories to organise
* it will not effect how jekyll renders pages## drafts
* contains posts that are not yet published
* can be accessed by : jekyll serve --draft
* we may not name the draft with date in front
* it will automatically get last modified date## pages
* 2 types of pages
** 1. general pages
** 2. posts
* eg. donate page in project root
** /donate
* eg. support page in pagesdir folder
** /pagesdir/support## permalink
* permanent url assigned to page of site
* so if date and title changes url remains same always
* eg. permalink: "put_url_here/url_here"
* eg. using some varible in url permalink: "/:categories/:year/:month:/title"## default frontmatter
* defined in config.yml to be set as default to some pages## themes
* many themes available
* https://rubygems.org/search?utf8=%E2%9C%93&query=jekyll-theme
* eg. jekyll-theme-hacker --"add it to GemFile"
* bundle install -- to install the new theme
* change theme in config.yml
* themes may not have the layouts that you are using so update your layouts
## layouts
* we can override already given layouts from the theme
* eg. in layouts/page.html
* we can create levels of layout## variables
* can be accessed using {{}}## includes
* header and footer
* in "_includes" folder
* eg. {% include header.html %}
* eg. {% include header.html color="blue" %} --passing var to header## looping posts
* eg. in home.html
{% for post in site.posts %}
{% endfor %}
## conditionals
* eg. in post.html
* "and" , "or" for more conditions
{% if page.title == "this will override one as title" %}
if condition
{% elsif %}
yo
{% else %}
else condition
{% endif %}
## data files
* simple storage for our static file
* can be json / yml / csv etc.
* inside "_data" folder
## static files
* js, css, images for styling
* we can also give frontmatter to the static files -- in config.yml
## publish on github pages
* modify --config.yml
* baseurl: "your_repo_name"
* or
* baseurl: "put_your_custom_domain_name"
* git checkout -b gh-pages
* git status
* git push all files