city-jekyll

city-jekyll

šŸ¬ City-Jekyll theme and style guide for a fast, sass-y responsive website with postcss superpowers.

šŸ¬ City-Jekyll

Welcome to the city-jekyll theme! This is the theme for City Evangelical Church website. It's built using Jekyll, some clever Github Actions, NPM and Primitive UI. The theme is a design toolkit for developing fast sass-y, responsive websites with browser-consistent styling and postcss superpowers.

Demo available: here

Primitive UI

The original primitive UI and it's documentation is available as a boilerplate/primitive framework for any project and its awesome. The beauty of Primitive is the ease with which you can create unique designs in a beautiful, simple system.

https://github.com/taniarascia/primitive.git

Installation (not ready yet)

Add this line to your Jekyll site's Gemfile:

gem "city-jekyll-theme"

And add this line to your Jekyll site's _config.yml:

theme: city-jekyll-theme

And then execute:

$ bundle

Or install it yourself as:

$ gem install city-jekyll-theme

Since November 2017 you can use this theme by adding: remote_theme: woodcox/city-jekyll to your _config.yml file.

Usage

Project tree:

City-jekyll
ā”‚
ā”œā”€ā”€ā”€ _data
|      ā”œā”€ā”€ā”€ contacts.yml
|      ā”œā”€ā”€ā”€ cookies-used.yml
|      ā””ā”€ā”€ā”€ nav.yml
ā”‚  
ā”œā”€ā”€ā”€ _includes
ā”‚      ā”œā”€ā”€ā”€ components
ā”‚      ā”‚     ā”œā”€ā”€ā”€ accent-accordion.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ accordion.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ action-cards.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ analytics.js
ā”‚      ā”‚     ā”œā”€ā”€ā”€ audio-cards.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ calendar.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ contact-button.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ flip-cards.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ image-cards.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ impact-font.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ lazy-images.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ muted-accordion.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ profile-cards.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ round-accordion.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ sermons-list.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ square-accordion.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ srcset-images.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ table.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ video-cards.html
ā”‚      ā”‚     ā””ā”€ā”€ā”€ youtube-video.html
ā”‚      ā”‚
|      ā”œā”€ā”€ā”€ modules
ā”‚      ā”‚     ā”œā”€ā”€ā”€ breadcrumbs.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ cookies-consent.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ nav-back.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ preloader.html
ā”‚      ā”‚     ā”œā”€ā”€ā”€ scroll-up.html
ā”‚      ā”‚     ā””ā”€ā”€ā”€ search_lunr.html
ā”‚      ā”‚
|      ā”œā”€ā”€ā”€ svg
ā”‚      ā”‚     ā”œā”€ā”€ā”€ cec-building-curved.svg
ā”‚      ā”‚     ā”œā”€ā”€ā”€ city-vector.svg
ā”‚      ā”‚     ā””ā”€ā”€ā”€ fiec.svg
ā”‚      ā”‚
|      ā””ā”€ā”€ā”€ templates
ā”‚            ā”œā”€ā”€ā”€ docs-hero.html
ā”‚            ā”œā”€ā”€ā”€ footer.html
ā”‚            ā”œā”€ā”€ā”€ head.html
ā”‚            ā”œā”€ā”€ā”€ hero.html
ā”‚            ā”œā”€ā”€ā”€ navbar.html
ā”‚            ā”œā”€ā”€ā”€ page-hero.html
ā”‚            ā””ā”€ā”€ā”€ secondary-nav.html
ā”‚  
ā”œā”€ā”€ā”€ _layouts
ā”‚      ā”œā”€ā”€ā”€ compress.html
ā”‚      ā”œā”€ā”€ā”€ default.html
ā”‚      ā”œā”€ā”€ā”€ docs-layout.html
ā”‚      ā”œā”€ā”€ā”€ home.html
ā”‚      ā”œā”€ā”€ā”€ sectioned-page.html
ā”‚      ā””ā”€ā”€ā”€ single-page.html
ā”‚
ā”œā”€ā”€ā”€ _plugins
ā”‚      ā””ā”€ā”€ā”€ inline-sass.rb
ā”‚
ā”œā”€ā”€ā”€ _sass
ā”‚      ā”œā”€ā”€ā”€ base
ā”‚      ā”‚     ā”œā”€ā”€ā”€ _mixins.scss
ā”‚      ā”‚     ā”œā”€ā”€ā”€ _normalize.scss
ā”‚      ā”‚     ā”œā”€ā”€ā”€ _reset.scss
ā”‚      ā”‚     ā””ā”€ā”€ā”€ _variables.scss
ā”‚      ā”‚
ā”‚      ā”œā”€ā”€ā”€ components
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _accordion.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _animation.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _buttons.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _cards.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _colors.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _forms.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _media.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _slider.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _tables.scss
ā”‚      ā”‚      ā””ā”€ā”€ā”€ _timeline.scss
ā”‚      ā”‚
ā”‚      ā”œā”€ā”€ā”€ core
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _grid.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _helpers.scss
ā”‚      ā”‚      ā””ā”€ā”€ā”€ _scaffolding.scss
ā”‚      ā”‚
ā”‚      ā”œā”€ā”€ā”€ fonts
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _fontawesomesvg.scss
ā”‚      ā”‚      ā”œā”€ā”€ā”€ _syntax-highlight.scss
ā”‚      ā”‚      ā””ā”€ā”€ā”€ _webfonts.scss
ā”‚      ā”‚
ā”‚      ā””ā”€ā”€ā”€ layouts
ā”‚             ā”œā”€ā”€ā”€ _footer.scss
ā”‚             ā”œā”€ā”€ā”€ _hero.scss
ā”‚             ā””ā”€ā”€ā”€ _navigation.scss
ā”‚
ā”œā”€ā”€ā”€ assets
ā”‚    ā”‚
ā”‚    ā”œā”€ā”€ā”€ css
ā”‚    ā”‚    ā””ā”€ā”€ā”€ city.scss
ā”‚    ā”œā”€ā”€ā”€ img
ā”‚    ā”‚    ā”œā”€ā”€ā”€ 1000
ā”‚    ā”‚    ā”œā”€ā”€ā”€ 1160
ā”‚    ā”‚    ā”œā”€ā”€ā”€ 400
ā”‚    ā”‚    ā”œā”€ā”€ā”€ 600
ā”‚    ā”‚    ā”œā”€ā”€ā”€ 800
ā”‚    ā”‚    ā”œā”€ā”€ā”€ faicons
ā”‚    ā”‚    ā””ā”€ā”€ā”€ master
ā”‚    ā”œā”€ā”€ā”€ js
ā”‚    ā”‚    ā”œā”€ā”€ā”€ contacts.js
ā”‚    ā”‚    ā”œā”€ā”€ā”€ site.js
ā”‚    ā”‚    ā”œā”€ā”€ā”€ smoothscroll-polyfill.js
ā”‚    ā”‚    ā””ā”€ā”€ā”€ snap-slider.min.js
ā”‚    ā””ā”€ā”€ā”€ webfonts
ā”‚         ā”œā”€ā”€ā”€ icons
ā”‚         ā””ā”€ā”€ā”€ sanchez
ā”‚
ā”œā”€ā”€ā”€ pages
ā”‚      ā”œā”€ā”€ā”€ _docs
ā”‚      ā”œā”€ā”€ā”€ _drafts
ā”‚      ā”œā”€ā”€ā”€ _home
ā”‚      ā”œā”€ā”€ā”€ _media
ā”‚      ā”œā”€ā”€ā”€ _posts
ā”‚      ā”œā”€ā”€ā”€ _sunday
|      ā”œā”€ā”€ā”€ cookies.md
ā”‚      ā”œā”€ā”€ā”€ html-test.html
ā”‚      ā”œā”€ā”€ā”€ primitive.html
ā”‚      ā”œā”€ā”€ā”€ privacy.md
ā”‚      ā”œā”€ā”€ā”€ safeguarding.md
ā”‚      ā”œā”€ā”€ā”€ template.html
ā”‚      ā””ā”€ā”€ā”€ we-beleive.md
ā”‚ 
ā”œā”€ā”€ā”€ .browserslistrc
ā”œā”€ā”€ā”€ .gitignore
ā”œā”€ā”€ā”€ 404.md
ā”œā”€ā”€ā”€ gemfile
ā”œā”€ā”€ā”€ gemfile.lock
ā”œā”€ā”€ā”€ LICENCE.md
ā”œā”€ā”€ā”€ README.md
ā”œā”€ā”€ā”€ SECURITY.md
ā”œā”€ā”€ā”€ _config.yml
ā”œā”€ā”€ā”€ browserconfig.xml
ā”œā”€ā”€ā”€ city-jekyll-theme.gemspec
ā”œā”€ā”€ā”€ index.md
ā”œā”€ā”€ā”€ npm.md
ā”œā”€ā”€ā”€ package-lock.json
ā”œā”€ā”€ā”€ package.json
ā”œā”€ā”€ā”€ postcss.config.js
ā”œā”€ā”€ā”€ robot.txt
ā”œā”€ā”€ā”€ site.webmanifest
ā””ā”€ā”€ā”€ sitemap.xml

Now you can begin modifying variables in variables.scss. This file will define your colors, typography, sizes, breakpoints, buttons, borders, and more. Define all your variables here to keep your project organized.

You can view city-jekyll/docs/html-test/ or city-jekyll/docs/ to see some example elements as you make changes.

This gem offers some main layouts that can be used/edited:

  • The _layouts/default.html, is the skeleton of the pages, where header,footer, assets are called. It should be used in most of the other layouts,
  • The _layouts/home.html is the main layout the will be your home, where your blog posts will be shown;
  • The _layouts/post.html is the layout used to present the blog posts themselves, where they will be rendered.

Inside the _includes/ directory there are the partials that are used inside the layouts.

To edit the current JavaScript functions of the gem, the file you are looking for is in assets/js/site.js.

Your blog posts (*.md files) should be put in the _posts directory.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/woodcox/city-jekyll. This project is welcomes collaboration, but contributors are expected to adhere to the Contributor Covenant code of conduct.

Development

To set up your environment to develop this theme, run bundle install.

Your theme is setup just like a normal Jekyll site! To test your theme, run bundle exec jekyll serve and open your browser at http://localhost:4000. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.

When your theme is released, only the files in _layouts, _includes, and _sass tracked with Git will be released.

Credits

This theme was inspired by:

License

The theme is available as open source under the terms of the MIT License. However the following directory and its content is copyright of City Evangelical Church. You may not reuse anything therein without the church's written permission:

/assets/img