siteleaf
siteleaf-gem
Ruby

Command-line interface (CLI) and Ruby interface for the Siteleaf API

Last updated Sep 20, 2024
77
Stars
11
Forks
1
Issues
0
Stars/day
Attention Score
17
Language breakdown
Ruby 100.0%
โ–ธ Files click to expand
README

Siteleaf

Siteleaf v2 Gem & CLI =====================

Prerequisites


Install Ruby and RubyGems: https://jekyllrb.com/docs/installation/

Installation


The Siteleaf gem is available for installation on RubyGems. To install run:

gem install siteleaf Note: the v2 gem only works with v2 sites. For documentation on v1 see: https://github.com/siteleaf/siteleaf-gem/tree/v1

If maintaining sites with multiple versions, we recommend using a Gemfile.

Using the CLI


Important: if using a Gemfile, make sure to prepend all commands with bundle exec (e.g. bundle exec siteleaf auth).

Authorize your account:

siteleaf auth This will create an authorization file located at ~/.siteleaf.yml.

Alternatively, you can also use environment variables: SITELEAFAPIKEY=xxx SITELEAFAPISECRET=yyy siteleaf command

You can also include use a .siteleaf.yml file in the root of your project:

---
api_key: xxx
api_secret: yyy
site_id: zzz

Set up a new site locally:

siteleaf new yoursite.com

This will create a new theme folder called yoursite.com in the directory where you ran this command. It will also create the site for you in your Siteleaf account. If you prefer not to create a new directory, run siteleaf new yoursite.com . instead.

Configure an existing site:

siteleaf config yoursite.com

Upload your files:

To upload your theme to Siteleaf, run the following command:

siteleaf push Download your files:

To download your theme (or the default theme for new sites) from Siteleaf, run the following command:

siteleaf pull Publish your site:

To publish your site changes to your hosting provider, run the following command:

siteleaf publish

Clean unused uploads:

To check for unused uploads and tidy up disk space (runs locally using The Silver Searcher if available):

siteleaf clean _uploads For a full list of commands, run:

siteleaf help

Using this gem in your application


To use this gem in your application, add the following to your Gemfile:

gem 'siteleaf', '~>2'

Using the API


This gem also allows you to interact with the Siteleaf API.

require 'siteleaf'

authentication

Siteleaf.api_key = 'KEY' Siteleaf.api_secret = 'SECRET'

get authenticated user

me = Siteleaf::User.find('me')

get all sites

sites = Siteleaf::Site.all

create new site

site = Siteleaf::Site.create({ :title => 'My Website', :domain => 'mywebsite.com' })

get site by id

site = Siteleaf::Site.find('5196f137cc8591956b000001')

update site

site.title = 'New Title' site.save

publish site

site.publish

delete site

site.delete

get all pages in site

pages = site.pages

create new page in site

page = Siteleaf::Page.create({ :title => 'My Page', :body => 'This is my first page.', :site_id => site.id })

get page by id

page = Siteleaf::Page.find('519719ddcc85910626000001')

delete page by id

Siteleaf::Page.delete('519719ddcc85910626000001')

get posts

posts = site.posts # or Collection.new(path: 'posts', site_id: site.id).documents

create new post

post = Siteleaf::Documents.create({ :title => 'My Post', :body => 'This is my first post.', :collection_path => 'posts', :site_id => site.id })

update post, add metadata

post.title = 'New Title' post.metadata = {'foo' => 'bar'} post.save

delete post

post.delete

get files in "uploads" collection

files = site.uploads # or Collection.new(path: 'uploads', site_id: site.id).files

upload image into "uploads" collection

file = Siteleaf::File.create({ :file => File.new('~/image.png'), :path => 'image.png' :collection_path => 'uploads', :site_id => site.id })

get source files

files = site.source_files

upload source file

file = Siteleaf::SourceFile.create({ :file => File.new('~/foo.html'), :name => '_includes/foo.html', :site_id => site.id })

delete file

file.delete

delete file by name

Siteleaf::SourceFile.new(name: 'includes/foo.html', siteid: site.id).delete

Troubleshooting


I can't install the Gem

Try running:

sudo gem install siteleaf

Contributing


Help us improve this gem:

  • Fork it
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create new Pull Request
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท siteleaf/siteleaf-gem ยท Updated daily from GitHub