tonylaurent/verbal

A minimalist blog engine driven by command line.

dev-master 2018-06-18 12:06 UTC

This package is not auto-updated.

Last update: 2024-04-14 02:02:49 UTC


README

Build Status

About

Verbal is the blog engine for command lines addicts.

Verbal

Requirements

Verbal is built on Laravel and use SQLite as embedded database:

  • PHP >= 7.0.0
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • SQLite 3
  • Composer

Installation

Create your blog project with Composer:

composer create-project --prefer-dist tonylaurent/verbal blog dev-master

Move to your project directory, start the built-in server and go to http://localhost:8000 (only for testing):

php artisan serve

You can populate your blog with fake data:

php artisan db:seed

Set your blog informations in the config file config/blog.php.

Getting started

First, create a tag to categorize your post:

$ php artisan tag:add "Foo" --description="This is my first tag"

Write your first post (the content must be in markdown format):

$ php artisan post:add "My first post" --tag="Foo" --summary="This is my first post" --content="# Hello world!"

If you need a multi-line content, type enter after the first double quote and finish with an other double quote:

$ php artisan post:add "My first post" --tag="Foo" --summary="This is my first post" --content="
> # Hello world!
> This is the first paragraph.
>
> This is the second paragraph.
> "

You can custom the post datetime instead of use the default current timestamp:

$ php artisan post:add "My first post" --datetime="2018-01-01 12:30:00"

Maybe need a picture to illustrate your post?

$ php artisan post:add "My first post" --image="/home/tony/picture.png"

Usage

Posts

Add a new post

$ php artisan post:add TITLE [OPTIONS]

Arguments
"TITLE" The title of the post to add

Options
--summary="SUMMARY" Set the post’s summary
--content="CONTENT" Set the post’s content (markdown format)
--datetime="YYYY-MM-DD MM:HH:SS" Set the post’s datetime
--image="PATH" Set the post’s image
--tag="NAME" Categorize the post with a tag name (multiple values allowed)

Browse all posts

$ php artisan post:browse [OPTIONS]

Options
--show="COLUMN" Show the specified column (multiple values allowed)
--hide="COLUMN" Hide the specified column (multiple values allowed)
--sort="COLUMN" Sort by the specified column
--reverse Reverse sort order

Read an existing post

$ php artisan post:read ID

Arguments
ID The ID of the post to read

Edit an existing post

$ php artisan post:edit ID [OPTIONS]

Arguments
ID The ID of the post to edit

Options
--title="TITLE" Change the post’s title
--summary="SUMMARY" Change the post’s summary
--content="CONTENT" Change the post’s content (markdown format)
--datetime="YYYY-MM-DD MM:HH:SS" Change the post’s datetime
--image="PATH" Change the post’s image
--tag="NAME" Categorize the post with a tag (multiple values allowed)

Delete an existing post

$ php artisan post:delete ID [OPTIONS]

Arguments
ID The ID of the post to delete

Options
--force Skip confirmation

Tag an existing post

$ php artisan post:tag ID [OPTIONS]

Arguments
ID The ID of the post to tag

Options
--tag="NAME" The tag’s name to add (multiple values allowed)

Untag an existing post

$ php artisan post:untag ID [OPTIONS]

Arguments
ID The ID of the post to untag

Options
--tag="NAME" The tag’s name to remove (multiple values allowed)

Tags

Add a new tag

$ php artisan tag:add NAME [OPTIONS]

Arguments
"NAME" The name of the tag to add

Options
--description="DESCRIPTION" Set the tag’s description

Browse all tags

$ php artisan tag:browse [OPTIONS]

Options
--show="COLUMN" Show the specified column (multiple values allowed)
--hide="COLUMN" Hide the specified column (multiple values allowed)
--sort="COLUMN" Sort by the specified column
--reverse Reverse sort order

Read an existing tag

$ php artisan tag:read ID

Arguments
ID The ID of the tag to read

Edit an existing tag

$ php artisan tag:edit ID [OPTIONS]

Arguments
ID The ID of the tag to edit

Options
--name="NAME" Change the tag’s name
--description="DESCRIPTION" Change the tag’s description

Delete an existing tag

$ php artisan tag:delete ID [OPTIONS]

Arguments
ID The ID of the tag to delete

Options
--force Skip confirmation