All Projects → jekyll → Jekyll Compose

jekyll / Jekyll Compose

Licence: mit
📝 Streamline your writing in Jekyll with these commands.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Jekyll Compose

jekyll-watch
👀 Rebuild your Jekyll site when a file changes with the `--watch` switch.
Stars: ✭ 87 (-82.97%)
Mutual labels:  jekyll-plugin
jekyll-pwa-workbox
A Jekyll plugin using Workbox to make your PWA / Website available offline.
Stars: ✭ 22 (-95.69%)
Mutual labels:  jekyll-plugin
Amp Jekyll
Build Accelerated Mobile Page versions of your Jekyll posts
Stars: ✭ 278 (-45.6%)
Mutual labels:  jekyll-plugin
jekyll-rdf
📃 A Jekyll plugin to include RDF data in your static site or build a complete site for your RDF graph
Stars: ✭ 46 (-91%)
Mutual labels:  jekyll-plugin
jekyll-pwa
Jekyll plugin for PWA
Stars: ✭ 95 (-81.41%)
Mutual labels:  jekyll-plugin
japr
Jekyll Asset Pipeline Reborn - Powerful asset pipeline for Jekyll that collects, converts and compresses JavaScript and CSS assets.
Stars: ✭ 52 (-89.82%)
Mutual labels:  jekyll-plugin
jekyll-loading-lazy
🧙🏽‍♀️ Automatically adds loading="lazy" to <img> and <iframe> tags. Load images on your sites lazily without JavaScript.
Stars: ✭ 41 (-91.98%)
Mutual labels:  jekyll-plugin
Jekyll Paginate V2
Pagination Generator for Jekyll 3 (enhanced replacement for the old built-in jekyll-paginate gem) ⛺
Stars: ✭ 412 (-19.37%)
Mutual labels:  jekyll-plugin
jekyll-ideal-image-slider
Add image sliders to Jekyll with Ideal Image Slider. Ruby plugin version. (This repository is archived. Issues are disabled. Pull requests will be ignored.)
Stars: ✭ 17 (-96.67%)
Mutual labels:  jekyll-plugin
jekyll-commonmark
CommonMark generator for Jekyll
Stars: ✭ 28 (-94.52%)
Mutual labels:  jekyll-plugin
jekyll-lab-notebook
📓 A full-featured electronic lab notebook theme (with plugins!) for Jekyll
Stars: ✭ 47 (-90.8%)
Mutual labels:  jekyll-plugin
jekyll-imgix
A plugin for integrating imgix into Jekyll sites
Stars: ✭ 49 (-90.41%)
Mutual labels:  jekyll-plugin
jekyll-stickyposts
Jekyll Stickyposts - move selected posts to the top of the list
Stars: ✭ 23 (-95.5%)
Mutual labels:  jekyll-plugin
jekyll-json-feed
A Jekyll plugin to generate a JSON (RSS-like) feed of your Jekyll posts
Stars: ✭ 18 (-96.48%)
Mutual labels:  jekyll-plugin
Jekyll Gallery Generator
A Jekyll plugin that generates photo galleries from directories full of images.
Stars: ✭ 315 (-38.36%)
Mutual labels:  jekyll-plugin
jekyll-figure
A liquid tag for Jekyll that generates <figure> elements
Stars: ✭ 47 (-90.8%)
Mutual labels:  jekyll-plugin
jekyll-manager
A repackaged Jekyll Admin fork with some alterations.
Stars: ✭ 48 (-90.61%)
Mutual labels:  jekyll-plugin
Jekyll Import
📥 The "jekyll import" command for importing from various blogs to Jekyll format.
Stars: ✭ 424 (-17.03%)
Mutual labels:  jekyll-plugin
Jekyll Archives
📚 Archive pages for your Jekyll tags and categories.
Stars: ✭ 353 (-30.92%)
Mutual labels:  jekyll-plugin
jekyll-default-layout
Silently sets default layouts for Jekyll pages and posts
Stars: ✭ 45 (-91.19%)
Mutual labels:  jekyll-plugin

Jekyll::Compose

Streamline your writing in Jekyll with some commands.

Linux Build Status Windows Build status

Installation

Add this line to your application's Gemfile:

gem 'jekyll-compose', group: [:jekyll_plugins]

And then execute:

$ bundle

Usage

After you have installed (see above), run bundle exec jekyll help and you should see:

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
  rename     # Moves a draft to a given NAME and sets the title
  compose    # Creates a new file 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"
    # or specify a custom format for the date attribute in the yaml front matter
    $ bundle exec jekyll post "My New Post" --timestamp-format "%Y-%m-%d %H:%M:%S %z"
    # or by using the compose command
    $ bundle exec jekyll compose "My New Post"
    # or by using the compose command with post specified
    $ bundle exec jekyll compose "My New Post" --post
    # or by using the compose command with the posts collection specified
    $ bundle exec jekyll compose "My New Post" --collection "posts"

Create your new draft using:

    $ bundle exec jekyll draft "My new draft"
    # or by using the compose command with draft specified
    $ bundle exec jekyll compose "My new draft" --draft
    # or by using the compose command with the drafts collection specified
    $ bundle exec jekyll compose "My new draft" --collection "drafts"

Rename your draft using:

$ bundle exec jekyll rename _drafts/my-new-draft.md "My Renamed Draft"
# or rename it back
$ bundle exec jekyll rename _drafts/my-renamed-draft.md "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
    # or specify a custom format for the date attribute in the yaml front matter
    $ bundle exec jekyll publish _drafts/my-new-draft.md --timestamp-format "%Y-%m-%d %H:%M:%S %z"

Rename your post using:

$ bundle exec jekyll rename _posts/2014-01-24-my-new-draft.md "My New Post"
# or specify a specific date
$ bundle exec jekyll rename _posts/2014-01-24-my-new-post.md "My Old Post" --date "2012-03-04"
# or specify the current date
$ bundle exec jekyll rename _posts/2012-03-04-my-old-post.md "My New Post" --now

Unpublish your post using:

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

Create your new file in a collection using:

    $ bundle exec jekyll compose "My New Thing" --collection "things"

Configuration

To customize the default plugin configuration edit the jekyll_compose section within your jekyll config file.

auto-open new drafts or posts in your editor

  jekyll_compose:
    auto_open: true

and make sure that you have EDITOR, VISUAL or JEKYLL_EDITOR environment variable set. For instance if you wish to open newly created Jekyll posts and drafts in Atom editor you can add the following line in your shell configuration:

export JEKYLL_EDITOR=atom

JEKYLL_EDITOR will override default EDITOR or VISUAL value. VISUAL will override default EDITOR value.

Set default front matter for drafts and posts

If you wish to add default front matter to newly created posts or drafts, you can specify as many as you want under default_front_matter config keys, for instance:

jekyll_compose:
  default_front_matter:
    drafts:
      description:
      image:
      category:
      tags:
    posts:
      description:
      image:
      category:
      tags:
      published: false
      sitemap: false

This will also auto add:

  • The creation timestamp under the date attribute.
  • The title attribute under the title attribute

For collections, you can add default front matter to newly created collection files using default_front_matter and the collection name as a config key, for instance for the collection things:

jekyll_compose:
  default_front_matter:
    things:
      description:
      image:
      category:
      tags:

Contributing

  1. Fork it ( http://github.com/jekyll/jekyll-compose/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run the specs and our linter (script/cibuild)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Submitting a Pull Request based on an existing proposal

When submitting a pull request that uses code from an unmerged pull request, please be aware of the following:

  • Changes proposed in the older pull request is still the original author's property. Moving forward from where they left it means that you're a co-author.
  • GitHub allows attributing credit to multiple authors However, pull requests in this project are automatically squashed and then merged onto the base branch. So, only authors and co-authors of the opening commit gets credit once the pull request gets merged.
  • If the original pull request contained multiple commits, you may squash them into a single commit but ensure that you list any additional authors (and yourselves) as co-authors of that commit.
  • Use appropriate keywords in your pull request post to link to the existing pull request or issue-ticket so that they're automatically closed when your pull request gets merged.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].