Skip to content

reed-jones/Neocities-php

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 

Neocities PHP Client Library

Neocities-php is a PHP wrapper of the Neocities.org API. Now with Jigsaw integration

Installation

composer require reed-jones/neocities

Usage

// First we include the library
use ReedJones\Neocities\Neocities;

// Then we log in using either username/password or api key

$neocities = new Neocities([
    'username' => 'YOUR_USERNAME',
    'password' => 'YOUR_PASSWORD'
]);

// or

$neocities = new Neocities([
    'apiKey' => 'YOUR_API_KEY'
]);

Uploading Files

To upload files pass an array with the key being the desired upload name on the server, and the value being the path to the local file.

$result = $neocities->upload([
    'hello.html' => './local.html',
    'about.html' => './AboutMe.html'
]);

var_dump($result);

Deleting Files

To delete files from the server, simply pass an array of the files you wish to delete.

$result = $neocities->delete([
    'hello.html',
    'about.html'
]);

var_dump($result);

Listing All Files On Your Site

$result = $neocities->list();

var_dump($result);

Getting Information About Your Site

$result = $neocities->info();

var_dump($result);

Getting Your API Key

If you are logging in using your username/password, you can use this to retrieve your API key.

$result = $neocities->key();

var_dump($result);

Jigsaw Integration

Neocities-PHP can be integrated with Tighten's Jigsaw. After installing this packing into your jigsaw project, Register the plugin in bootstrap.php

// bootstrap.php
Jigsaw::mixin(new \ReedJones\Neocities\NeocitiesDeployment($container));

With this in place, all that is left to do is add your neocities api key your your .env file (if id doesn't exist, create it)

# .env
NEO_CITIES_API_KEY="YOUR_API_KEY_HERE"

Now to build & deploy from the command line, run the new jigsaw deploy command which accepts the same parameters as the build command.

# Build & deploy your 'local' build
./vendor/bin/jigsaw deploy
# Build & deploy your 'production' build
./vendor/bin/jigsaw deploy production

Jigsaw Programmatic Usage

After following the above instructions for setting up a neocities deployment with jigsaw, a deployToNeocities method is available for programmatic use from bootstrap.php (or elsewhere). An Example:

// Programmatic API Usage
$events->afterBuild(function (Jigsaw $jigsaw) {
    if ($jigsaw->getEnvironment() === 'production') {
        // Automatic deployment after all production builds
        $jigsaw->deployToNeocities();
    }
});

About

A PHP Client Library for the Neocities.org REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages