Verbal is the blog engine for command lines addicts.
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
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.
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"
$ 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)
$ 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
$ php artisan post:read ID
Arguments
ID The ID of the post to read
$ 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)
$ php artisan post:delete ID [OPTIONS]
Arguments
ID The ID of the post to delete
Options
--force Skip confirmation
$ 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)
$ 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)
$ php artisan tag:add NAME [OPTIONS]
Arguments
"NAME" The name of the tag to add
Options
--description="DESCRIPTION" Set the tag’s description
$ 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
$ php artisan tag:read ID
Arguments
ID The ID of the tag to read
$ 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
$ php artisan tag:delete ID [OPTIONS]
Arguments
ID The ID of the tag to delete
Options
--force Skip confirmation
