Vellum is a Static Content Management System.


Keywords
cms, endjin, static, vellum, vellum-cli
License
Apache-2.0
Install
Install-Package vellum-cli -Version 0.2.14

Documentation

vellum-cli

Build Status GitHub license IMM

Vellum is a Static Content Management System, available as a .NET Global Tool, and is built using Microsoft's System.CommandLine libraries. These packages, while still marked as experimental, are seeing lots of real-world usage, including tools such as BenchmarkDotNet and .NET Interactive. A useful blog post for understanding System.CommandLine is Radu Matei's blog post "Building self-contained, single executable .NET Core 3 CLI tools".

dotnet global tools

vellum-cli is a .NET global tool, which means once installed, it's available on the PATH of your machine.

To list all the global tools installed on your machine, open a command prompt and type:

dotnet tool list -g

To install the vellum-cli global tool use the following command:

dotnet tool install -g vellum-cli

To install a specific version, use:

dotnet tool install -g vellum-cli --version <version-number>

To update to the latest version of the tool, use:

dotnet tool update -g vellum-cli

To uninstall the tool, use:

dotnet tool uninstall -g vellum-cli

dotnet-suggest

vellum-cli supports dotnet suggest, for tab based auto completion.

To install dotnet suggest:

dotnet tool install -g dotnet-suggest

Next check if you have a PowerShell profile configured, by opening a PowerShell prompt and typing the following:

echo $profile

You should see something like:

$ENV:USERPROFILE\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

If you don't see such a file run the following command:

Invoke-WebRequest -Uri https://raw.githubusercontent.com/dotnet/command-line-api/main/src/System.CommandLine.Suggest/dotnet-suggest-shim.ps1 -OutFile $profile

Otherwise, copy the contents of the file above and paste it into your pre-existing profile.

Commands

Once you have dotnet-suggest installed, you can use vellum-cli then TAB to explore the available commands. Here is a detailed list of the available commands:

vellum-cli environment - Manipulate the vellum-cli environment & settings. Will list available sub-commands.

vellum-cli environment init - Initialize the environment & settings.

vellum-cli environment set --username <USER.NAME> - Sets the current User's username.

vellum-cli environment set --workspace-path <PATH> - Sets the path to your vellum workspace.

vellum-cli environment set --publish-path <PATH> - Sets the path to where your artefacts are generated.

vellum-cli environment set --key <KEY> --value <VALUE> - Store key value pairs in configuration.

vellum-cli plugins install --package-id <PACKAGE ID> - Install a vellum-cli plugin.

vellum-cli plugins uninstall --package-id <PACKAGE ID> - Uninstall a vellum-cli plugin.

NOT IMPLEMENTED YET vellum-cli plugins list available - Lists available vellum-cli plugins from the default package repository (nuget.org).

vellum-cli plugins list - Lists installed vellum-cli plugins.

vellum-cli new --template-name <TEMPLATE NAME> [--path <PATH>] - Will create a new file based on the template name selected. The location is derived by convention based on the template content-type, but can be overriden by the --path option.

Plugins

vellum-cli supports external plugins.

Cloudinary

Cloudinary is a Content Delivery Network that also offers sophiticated APIs for manipulating media.

vellum-cli cloudinary settings list - lists the current settings.

vellum-cli cloudinary settings update --cloud <CLOUD> --key <KEY> --secret <SECRET> - update the settings for Cloudinary authentication.

vellum-cli cloudinary upload --file-path <FILE PATH> - uploads the file to assets/images/blog/<YYYY>/<MM>/<lowercase_file_name> and will return you the full public path.

Tinify

Tinify is an API for optimising PNG and JPG image formats.

To use, first you need to register for an API Key, this will allow you to process 500 images per month.

vellum-cli tinify settings update --key <KEY> - updates tinify setting with your API Key.

vellum-cli tinify settings list - lists your tinify settings.

Licenses

GitHub license

vellum.cli is available under the Apache 2.0 open source license.

For any licensing questions, please email licensing@endjin.com

Project Sponsor

This project is sponsored by endjin, a UK based Microsoft Gold Partner for Cloud Platform, Data Platform, Data Analytics, DevOps, and a Power BI Partner. Endjin helps small teams achieve big things.

For more information about our products and services, or for commercial support of this project, please contact us.

We produce two free weekly newsletters; Azure Weekly for all things about the Microsoft Azure Platform, and Power BI Weekly.

Keep up with everything that's going on at endjin via our blog, follow us on Twitter, or LinkedIn.

Our other Open Source projects can be found on GitHub on our endjin, Corvus, Menes, Marain, and AIS.NET Orgs.

Code of conduct

This project has adopted a code of conduct adapted from the Contributor Covenant to clarify expected behavior in our community. This code of conduct has been adopted by many other projects. For more information see the Code of Conduct FAQ or contact hello@endjin.com with any additional questions or comments.

IP Maturity Model (IMM)

The IMM is endjin's IP quality framework.

Shared Engineering Standards

Coding Standards

Executable Specifications

Code Coverage

Benchmarks

Reference Documentation

Design & Implementation Documentation

How-to Documentation

Date of Last IP Review

Framework Version

Associated Work Items

Source Code Availability

License

Production Use

Insights

Packaging

Deployment

OpenChain