Code Monkey home page Code Monkey logo

jekyll-indieweb's Introduction

Jekyll-IndieWeb

Welcome to Jekyll-Indieweb. The goal of this project was to provide someone without a web presence a quick and easy way to start using the basics of the Indieweb. It has now evolved into a formal Jekyll theme, with a companion repository for demonstrating how to use the theme (and eventually, include GitHub Actions and/or Netlify for deploy.)

Visit Steal This Repo if you would like a starter repository you can fork and customize while benefiting from improvements in this theme.

Motivation

I've followed along a few IndieWeb Camps and observed a few people new to both the indieweb as well as having their own web presence. I wanted to provide another option for those users to have a fairly simple method to easily get up and going with with a web site ready for indieweb and be able to dive in.

Installation

If you have never set up Jekyll or Ruby in your local environment, we recommend the Jekyll docs for installing on your platform.

We use the latest stable Ruby version for development

We also use Gulp for our build tool. Though Jekyll has support for Sass, we have opted to write plain CSS for 2019 browsers and let the tools backfill for compatibility. If you haven't worked with Gulp before, we recommend their getting started docs which includes a link to Node install steps

Clone the repository

git clone https://github.com/miklb/jekyll-indieweb.git

navigate to the directory

cd jekyll-indieweb

install the Jekyll dependencies

bundle install

install the Gulp dependencies

npm i

Gulpfile has two main tasks: build and watch

build does just that - builds the _site directory.

watch watches both assets/css/_inc directory to check for CSS changes as well as Jekyll file changes and rebuilds the appopriate files.

A note about the CSS All CSS is in the _inc directory is plain CSS. Current browser support for variables is strong, but we use PostCSS to fill in browser compatibility. PostCSS also compiles assets/css/_inc/main.css into assets/css/main.css. You should never need to edit assets/css/main.css file directly.

Note The Jekyll Gulp task replaces the need to use bundle exec jekyll serve. Instead, use gulp watch.

Reminder that this is a Jekyll theme, not a stand alone site.

We optimized the build tools in this project with three goals:

  • quick deploy.
  • provide an out-of-the-box experience when using the theme as is.
  • allow overriding main.css in the individual response site for event specific customizations.

When submitting a new Pull Request with CSS changes, make sure to edit a file in _inc and commit all file changes with your PR.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

History

2.0.0 beta initial release as a theme gem. 0.2.1 minor changes in preparation for 2.0 milestone 0.2 Initial Support for Micropub posts 0.1 Initial release

Credits

Inspiration for the general aesthetics came from the Jekyll Type theme

svg social icons on CodePen.

Pelle Wessman - for his work on Jekyll & IndieWeb, particularly Micropub

License

See the LICENSE file.

jekyll-indieweb's People

Contributors

dependabot[bot] avatar egoexpress avatar herestomwiththeweather avatar infominer33 avatar miklb 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  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jekyll-indieweb's Issues

Customize Home Page

Trying to decide if just document the index template or add a new home page template so that a user could copy the template and rearrange sections as desired.

Webmentions

Have you considered including web mentions for a post when the site builds—rather than adding them in on the client-side?

Reassess site config and gh-pages for urls

At some point there was an issue with GitHub pages hosted sites and local development that required the use of site.github.url

The question is – is that still necessary?

Page template

confirm page layout and add content info about project to about page.

multiple layout options

Using a body or article class & css-grid multiple layouts can be provided and use Front Matter to pick the layout.

Example

layout: featured-image-right

and then pass that class to the wrapper. Same could be done with sidebar left/right etc.

Switch to Bulma CSS Framework

I have become enamored with the Bulma framework, basically a lighter version of Bootstrap w/ an aesthetic that fits my eye.

What are your thoughts @herestomwiththeweather ? I would keep the same basic layout. Would give a little more flexibility in design options without having to do a lot with the Liquid syntax, and a better responsive design.

Navigation as Data File

Since Bulma supports dropdown navigation and several navbar areas, a series of loops for each section would be handy and easier to manage.

Example solution

That idea will need to be expanded to handle the different sections, but shouldn't be difficult.

u-photo on single posts outside h-card

Seems I misunderstood and thought the author_img u-photo would implicitly be picked up into the h-card. I was wrong. Need to change markup to maintain same UI but get image into h-card

Utilize Jekyll Avatar

Currently a config setting to link to a profile image is used. Jekyll Avatar allows you to link to your your GitHub page profile image instead.

Probably should have some kind of override.

H-Card in Firefox

something funky going on with how FF is interpreting the h-card height. Real funky.

short notes break layout

If a note is too short the flex fails to keep the header in column. Possibly needs a min-width?

for the mystified :)

https://infominer.id/jekyll-indieweb/

I successfully deployed! Yay !

Small win, but I was seriously mystified.


First: I forked the repo, changed over to the gh-pages branch and ran bundle update, bundle install, and bundle exec jekyll serve.

It built beautifully without changing anything, but I got a warning to change the config file’s reference of gems to plugins.

Once I pushed the updated Gemfile.lock and the references to gems in the config file

Update Config

Deprecation: The 'gems' configuration option has been renamed to 'plugins'. Please update your config file accordingly.

Minimal Mistakes SEO include. (for twitter cards specifically)

The Jekyll-SEO tag never seems to work right for me, and doesn't seem to include support for twitter images.

However, I just dropped this Minimal Mistakes SEO include into Jekyll-Indieweb and it works great!

Associated (not extremely thorough) documentation:

eventually I need to figure out the part of making an actual header appear on site, not just on twitter.

edit: I'll have to take a closer look, because it seems enabled in jekyll-seo
https://github.com/jekyll/jekyll-seo-tag/blob/master/lib/template.html

probably just an operator error

PWA

<!---TODO: PWA
<link rel="manifest" href="site.webmanifest">
-->
<link rel="stylesheet" href= "{{ site.github.url }}/assets/css/main.css">
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.github.url | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.github.url | prepend: site.url }}">


This issue was generated by todo based on a TODO comment in 9726b54. It's been assigned to @miklb because they committed the code.

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.