Code Monkey home page Code Monkey logo

__s's Introduction

Dunders logo

__s

__s, or dunders, is a clean Jekyll Starter Theme.

The name of this project is a tribute to Underscores project.

What a hell is dunder?

Dunder is double underscore, used in Python codes.

Why I create Dunders?

Whenever I search for a Jekyll Theme I found some project with Bootstrap, jQuery or a structure of theme a little disorganized. I dont like disorder. :/

CSS files with several lines of code. HTML not semantic or JavaScript not very good.

This saddens me.

Because this, I made this scaffold to themes Jekyll!!!

Don't have CSS, don't have JS, and the HTML is clean to you add your structure. Is very basic structure, easy to change.

Use your imagination to build a awesome sites with Dunders.

Who should use Dunders

Dunders is for people who want to create themes from zero with a simple initial structure.

Use if you want to implement:

  • BEMCSS
  • Atomic
  • SMACSS
  • SVG
  • Structured Data (Schema.org)
  • etc

It's for you to release your imagination.

How to use

Make a folder of your new awesome Jekyll Theme.

Eg.:

mkdir demo

Enter on theme folder and clone this repo.

git clone [email protected]:woliveiras/__s.git .

Run Bundle, to install dependencies:

bundle

Up the Jekyll Server:

jekyll s

And open localhost:4000 on Browser.

Now, make your GREAT THEME!!! 🙌

Creating draft, posts, pages, publish and unpublish

The __s use a plugin named jekyll-compose, this serves to make our life easier at the time of creation of posts, pages and publish our posts.

To use, is simple:

Listed in help you will see new commands available to you:

draft      # Creates a new draft post with the given NAME
post       # Creates a new post with the given NAME
publish    # Moves a draft into the _posts directory and sets the date
unpublish  # Moves a post back into the _drafts directory
page       # Creates a new page with the given NAME

Create your new page using:

$ bundle exec jekyll page "My New Page"

Create your new post using:

$ bundle exec jekyll post "My New Post"

Create your new draft using:

$ bundle exec jekyll draft "My new draft"

Publish your draft using:

$ bundle exec jekyll publish _drafts/my-new-draft.md
# or specify a specific date on which to publish it
$ bundle exec jekyll publish _drafts/my-new-draft.md --date 2014-01-24

Unpublish your post using:

$ bundle exec jekyll unpublish _posts/2014-01-24-my-new-draft.md

Structure proposed with Dunders (isn't mandatory)

assets

Folder to your images or css or js.

_includes

Some partials of site structure.

  • comments.html: Disqus partial
  • footer.html: the footer of site
  • head.html: head of html document
  • header.html: the header of site
  • navigation-menu.html: a example of navigation menu
  • pagination.html: simple pagination to show posts (if you are making a Blog theme)

_layouts

The scaffolding of Jekyll structure.

Look here for more info of these files.

_sass

If you like Sass writes your styles on this folder!

Other files

  • about.md: about you (or user) page
  • archive.html: posts archive page
  • categories.html: post categories page
  • tags.html: tags page, like a categories or archive pages
  • CNAME: very important for use custom domain on GitHub, look here
  • _config.yml: Theme configuration file, look Dunders Configuration section
  • contact.html: contact page using formspree.io to send messages
  • index.html: the index of site
  • robots.txt: very important for SEO, look here
  • screenshot.png: use this to show a screenshot of your theme on theme sites such as jekylthemes.org

How to write posts

Follow the Jekyll workflow: https://jekyllrb.com/docs/posts/

Dunders configuration

The Jekyll theme is configured by _config.yml file.

It is very important that you configure carefully this file changing the lines for your necessities:

# Site settings

title: Dunders | A Starter Theme for Jekyll # put your blog title
description: Faster to start a new Jekyll theme # put your description for your amazing blog
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site e.g. https://woliveiras.com.br
language: "" # language to set into html tag, default is en
paginate: 5 # Number of posts on each page
paginate_path: "/page/:num" # links format for pagination
date_format: "%b %-d, %Y"  # dateformat of reading list, post date, and more
permalink: /:title/ # use to url friendly
timezone:  # timezone to show in yout sire
display-author-front-page: # True if you need show author name and site on home page
display-author-post-page: true # Very usual for guest posts and the infos of author are writen in header of post.md, by default show infos of user settings

# Useful for translating into other languages.

var_on_the_web: On the web
var_read: Continue...
var_newer: Newers
var_older: Olders
var_next_post: Next
var_previous_post: Previous
var_less_than_a_minute_read: < 1 min read
var_min_read: min read # Text after reading time. Example: 5 min read.
var_post_by: Writed by
var_guest_post_by: Guest post by
var_your_email: Your mail
var_your_message: Your message
var_page_indicator: Page
var_page_indicator_separator: of

# User settings

author: dunders # put your name or a name of principal author of site/blog
email: [email protected]
twitter_username: dunders
github_username:  dunders
gplus_username:  dunders
disqus_shortname: dunders-website

# Navigation menu
links:
  - title: Home
    url: /
  - title: About Me
    url: /about
  - title: Archive
    url: /archive
  - title: Contact
    url: /contact
  - title: Categories
    url: /categories

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/woliveiras/__s/. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The theme is available as open source under the terms of the MIT License.

__s's People

Contributors

kvnol avatar woliveiras 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

__s's Issues

Implement features from jekyll-seo-tag

Check a few features from https://github.com/jekyll/jekyll-seo-tag. We use it at webiwg/webiwg-issues#11. It is whitelisted for github pages. If does not add jekyll-seo-tag, I guess that would be nice to at least add hese twitter cards and facebook stuff.

Also it make use of some _data/* and organize ident the code a little different, like

facebook:
  app_id: 1234
  publisher: 1234
  admins: 1234

instead of

facebook_app_id: 1234
facebook_publisher: 1234
facebook_admins: 1234

I'm not one expert on jekyll/ruby, so maybe my suggestions now are not very good

[i18n] Dates also in portuguese

By default Jekyll have only dates in english. But is possible make it work also with dates.

See https://github.com/webiwg/acessibilidade-web-pt/blob/master/_includes/date-portugues.html

{% assign m = include.date | date: "%-m" %}
{{ include.date | date: "%-d" }} de
{% case m %}
  {% when '1' %}Janeiro
  {% when '2' %}Fevereiro
  {% when '3' %}Março
  {% when '4' %}Abril
  {% when '5' %}Maio
  {% when '6' %}Junho
  {% when '7' %}Julho
  {% when '8' %}Agosto
  {% when '9' %}Setembro
  {% when '10' %}Outubro
  {% when '11' %}Novembro
  {% when '12' %}Dezembro
{% endcase %} de
{{ include.date | date: "%Y" }}

This was used on my comment in #2 (comment)

Demo live site

When we can have a demonstration of the basic template?

Enhance documentation

Need these topics in documentation:

  • how to start a blog with the Dunders theme
  • options of _config.yml
  • how to contribute with the project

Gem not building correctly

The generated package not have files of gemspec.

Because this error, on install the theme gem and run jekyll s, Jekyll returns:

screenshot from 2016-09-02 23 08 34

The Gem package on gem environment is empty to.

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.