Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

- Add Agency Jekyll Theme. #5

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ _site/
# Ignore folders generated by Bundler
.bundle/
vendor/
._site/
18 changes: 18 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
layout: page
title: Page Not Found
background: grey
---

<section class="page-section">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2 class="section-heading text-uppercase">404 - Page Not Found</h2>
<h3 class="section-subheading text-muted">
The requested page could not be found.
</h3>
</div>
</div>
</div>
</section>
7 changes: 7 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#after any changes to the Gemfile, execute bundle update!
source "https://rubygems.org"
gemspec

# Delete the following lines if not on Windows:
# Performance-booster for watching directories on Windows
gem "wdm", ">= 0.1.0" if Gem.win_platform?
81 changes: 81 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
PATH
remote: .
specs:
jekyll-agency (1.1.0)
jekyll (>= 4.0, < 4.4)

GEM
remote: https://rubygems.org/
specs:
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0)
concurrent-ruby (1.2.2)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.15.5)
forwardable-extended (2.6.0)
google-protobuf (3.23.2-x64-mingw-ucrt)
http_parser.rb (0.8.0)
i18n (1.14.0)
concurrent-ruby (~> 1.0)
jekyll (4.3.2)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.1)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (4.1.2)
safe_yaml (1.0.5)
sass-embedded (1.62.1-x64-mingw-ucrt)
google-protobuf (~> 3.21)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.4.2)
wdm (0.1.1)
webrick (1.8.1)

PLATFORMS
x64-mingw-ucrt

DEPENDENCIES
bundler (~> 2.0)
jekyll-agency!
rake (~> 13.0)
wdm (>= 0.1.0)

BUNDLED WITH
2.4.13
21 changes: 21 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2021 Ravi Riley

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
188 changes: 188 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
# Agency Jekyll Theme
[![RubyGems Downloads](https://img.shields.io/gem/dt/jekyll-agency?label=gem%20downloads)](https://rubygems.org/gems/jekyll-agency)
[![LICENSE](https://img.shields.io/badge/license-MIT-blue)](/LICENSE.txt)
[![Tip Me via PayPal](https://img.shields.io/badge/PayPal-tip_me-green?logo=paypal)](https://www.paypal.me/raviriley)
[![template button](https://img.shields.io/badge/Generate_theme_from_template-2ea44f)][generate]
[![Featured on Jekyll-Themes.com](https://img.shields.io/badge/featured%20on-JekyllThemes-red.svg)](https://jekyll-themes.com/agency-jekyll-theme/)

## Preview - click for live demo

[![screenshot](/screenshot.PNG)][demo-page]

## Warning

> :warning: **Notice for those using legacy Formspree contact forms:** :warning:
>
> Email-based forms are being [phased out](https://help.formspree.io/hc/en-us/articles/360056076314) by Formspree. [#11](https://github.com/raviriley/agency-jekyll-theme/pull/11) updated this theme to use the [new Formspree structure](https://help.formspree.io/hc/en-us/articles/360017735154-How-to-prevent-spam). Click [here](https://help.formspree.io/hc/en-us/articles/360056076314) for instructions on updating your site's form.

## About

This is the [Agency Bootstrap theme](https://startbootstrap.com/themes/agency/), converted to a gem-based Jekyll theme with GitHub Pages support.

While this has been done before, [here](https://github.com/y7kim/agency-jekyll-theme), [here](https://github.com/SotiriosVrachas/jekyll-theme-startbootstrap-agency), and [here](https://github.com/laklau/agency-jekyll-theme/), these are outdated and have not been updated or maintained for years. I built this theme from the most recent Bootstrap source.

I also added a lot of new features that go beyond the original theme's capabilities:

- GitHub Pages support
- [template repo][template] to get up and running in minutes
- contact form functionality powered by [Formspree.io](https://formspree.io)
- multiple language support (currently English, Spanish, & German)
- custom pages
- 404 page
- legal/Privacy Policy page
- Google Analytics support
- Markdown support
- custom images
- logo support (instead of just title text)
- automatically updating copyright years
- custom navigation bar, even without the header image(s)
- customizable footer
- custom accent color and dark/light colors
- horizontal scrolling support for client section
<!--
- custom colors with automatic gradient generation (coming soon)
- site title logo text font customization (coming soon)
- horizontal scrolling support for portfolio section (coming soon)
- about section (different from the timeline) -->

The Jekyll structure of this theme includes:

- `_portfolio` files - what generate the portfolio grid. YAML front matter handles all the details
- the `page` layout allows custom pages, as seen in the legal and 404 pages
- `sitetext.yml` enables complete customization of all site text
- `navigation.yml` enables fully customizable navigation
- `style.yml` enables fully customizable colors, background images, and other style-related things

**If you enjoy this theme, please consider [supporting me](https://www.paypal.me/raviriley) to continue developing and maintaining it.**

<div align="center">

[![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/raviriley)

</div>

## Installation

There are three ways to install this theme:

1. As a gem-based theme
2. Use the [starter template][template] (best for GitHub Pages)
3. As a remote theme

#### 1. Gem-based Theme Installation

Replace the contents of your `_config.yml` file with the sample [\_config.yml](https://raw.githubusercontent.com/raviriley/agency-jekyll-theme/master/_config.yml).

Install the gem with:

```sh
$ bundle add jekyll-agency
```

Or manually.

1. Add this line to your Jekyll site's `Gemfile`:
```ruby
gem "jekyll-agency"
```
2. Then execute:
```sh
$ bundle install
```

#### 2. Using the [Starter Template][template]

This is the fastest and easiest way to get up and running on GitHub Pages.

Simply generate your own repository by clicking the button below. Then replace the sample content with your own and configure for your needs.

<div align="center">

[![Use this template](https://img.shields.io/badge/Generate-Use_this_template-2ea44f?style=for-the-badge)][generate]

</div>

#### 3. Remote Theme Installation

Replace your `_config.yml` file with the starter [\_config.yml](https://raw.githubusercontent.com/raviriley/agency-jekyll-theme-starter/master/_config.yml).

Replace your `Gemfile` with the starter [Gemfile](https://raw.githubusercontent.com/raviriley/agency-jekyll-theme-starter/master/Gemfile).

Then install gems.

```sh
$ bundle install
```

<!--
## Documentation and Usage

**TODO:** Write usage instructions here. Describe available layouts, includes, or assets.

navheader is used only for the home page. nav is used everywhere else.

Layouts:

Includes:

-->

## Contributing

This project is intended to be a welcoming space for collaboration. If you have an idea, suggestion, feature request, etc., feel free to open an issue or pull request.

For bug reports, follow the provided template.

#### Improvements - Up for Grabs

- [x] multiple language support thanks to [@rbenitezpagan](https://github.com/rbenitezpagan)
- [x] Spanish thanks to [@rbenitezpagan](https://github.com/rbenitezpagan)
- [x] German thanks to [@bkfirmen](https://github.com/bkfirmen)
- [ ] Chinese
- [ ] Arabic
- [ ] etc
- [ ] customizable background coloring for each section

## Development

To set up your environment to develop this theme, clone this repo or your fork.

```sh
$ git clone https://github.com/raviriley/agency-jekyll-theme.git
$ cd agency-jekyll-theme
```

Then run:

```sh
$ bundle install
```

To test the theme, run this. (Using the `--trace` flag for verbose errors.)

```sh
$ bundle exec jekyll serve --trace
```

Then open your browser at:

- http://localhost:4000

Add pages, documents, data, etc. like normal to test the theme's contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh.

## License

The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

<!--

## Example Implementations

- [CV Enterprises](https://cventerprises.org)
- [Mortazavi Lab at UC Irvine](https://mortazavilab.github.io/)

-->

[demo-page]: https://raviriley.github.io/agency-jekyll-theme-starter/
[template]: https://github.com/raviriley/agency-jekyll-theme-starter
[generate]: https://github.com/raviriley/agency-jekyll-theme-starter/generate
44 changes: 41 additions & 3 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
theme: tbd
title: Deliberation Lab
description: High-throughput experiments in small-group deliberation
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that.
# This file is *NOT* reloaded automatically when you use 'bundle exec jekyll serve'.
# If you change this file, please restart the server process.

# Site settings
# are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

theme: jekyll-agency

url : "" # the base hostname & protocol for your site, e.g. http://example.com
baseurl: "" # the subpath of your site, e.g. /blog

title : Your Awesome Website
logo : "University"
email : [email protected] #this is also the email contact forms will go to
description: "High-throughput experiments in small-group deliberation"
author : Mika
assets : "/assets/img/university/"
# logo: #optional, defaults to site title
# path: assets\img\clients\creative-market.jpg
# height: 60 #height in px, defaults to 52px

locale: "en-US" # See available languages in _data/sitetext.yml

analytics:
google: #Google Analytics tracking code here

collections:
portfolio:

markdown: kramdown

# Uncomment following line to use Formspree form ID based URL instead of email based URL
# Details: https://help.formspree.io/hc/en-us/articles/360017735154-How-to-prevent-spam
# formspree_form_path: "f/a_form_id"
Loading