App-html2wp

 view release on metacpan or  search on metacpan

lib/App/html2wp.pm  view on Meta::CPAN

package App::html2wp;

our $DATE = '2020-05-01'; # DATE
our $VERSION = '0.004'; # VERSION

use 5.010001;
use strict;
use warnings;
use Log::ger;

use POSIX qw(strftime);

our %SPEC;

$SPEC{'html2wp'} = {
    v => 1.1,
    summary => 'Publish HTML document to WordPress as blog post',
    description => <<'_',

To use this program, first create `~/html2wp.conf` containing the API
credentials, e.g.:

    proxy=https://YOURBLOGNAME.wordpress.com/xmlrpc.php
    username=YOURUSERNAME
    password=YOURPASSWORD

You can also put multiple credentials in the configuration file using profile
sections, e.g.:

    [profile=blog1]
    proxy=https://YOURBLOG1NAME.wordpress.com/xmlrpc.php
    username=YOURUSERNAME
    password=YOURPASSWORD

    [profile=blog2]
    proxy=https://YOURBLOG2NAME.wordpress.com/xmlrpc.php
    username=YOURUSERNAME
    password=YOURPASSWORD

and specify which profile you want using command-line option e.g.
`--config-profile blog1`.

then:

    % html2wp post1.html

(You should provide blog post title in your HTML in the `<title>` or `<meta
name="title" content="...">`. You can also put categories in `<meta
name="categories" content="cat1,cat2,...">` and tags in `<meta name="tags"
content="tag1,tag2,...">`.)

The above command will create a draft post. To publish directly:

    % html2wp post1.html ... --publish

Note that this will also modify your HTML file and insert this element at the
beginning of the document:

    <meta name="postid" content="1234">

where 1234 is the post ID retrieved from the server when creating the post.

After the post is created, you can update using the same command:

    % html2wp post1.html

You can use `--publish` to publish the post, or `--no-publish` to revert it to
draft.

To set more attributes:

    % html2wp post1.html ... --comment-status open \ --extra-attr
        ping_status=closed --extra-attr sticky=1

Another example, to schedule a post in the future:

    % html2wp post1.html --schedule 20301225T00:00:00

_
    args => {
        proxy => {
            schema => 'str*', # XXX url
            req => 1,
            description => <<'_',

Example: `https://YOURBLOGNAME.wordpress.com/xmlrpc.php`.

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.490 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )