Skip to content

haxtheweb/create

Repository files navigation

License: Apache 2.0 Lit #HAXTheWeb Published on npm build X

HAX The CLI

Rapidly build web components for the Web that work with HAX. HAX The Web's CLI tools empower you to rapidly..

# this allows you to then use hax command
npm install @haxtheweb/create --global
# then run this for interactive prompt
hax start

Commands

Default / global / new context

  • hax start - fun ascii art and interactive CLI (via clack )
  • hax webcomponent my-element --y - Make a new HAX capable, i18n wired, Design system (DDD) driven web component
    • if in a monorepo root, will place in correct location / inherit settings
  • hax site mysite --y - create a new HAXsite (HAXcms, single site)

--help

Run hax help or hax webcomponent --help or hax site --help for up-to-date listing

Usage: hax [options] [command]

Options:
  --
  --v                             Verbose output
  --debug                         Output for developers
  --format <char>                 Output format; json (default), yaml
  --path <char>                   where to perform operation
  --npm-client <char>             npm client to use (must be installed) npm,
                                  yarn, pnpm (default: "npm")
  --y                             yes to all questions
  --skip                          skip frills like animations
  --quiet                         remove console logging
  --auto                          yes to all questions, alias of y
  --no-i                          prevent interactions / sub-process, good for
                                  scripting
  --to-file <char>                redirect command output to a file
  --no-extras                     skip all extra / automatic command processing
  --root <char>                   root location to execute the command from
  --org <char>                    organization for package.json
  --author <char>                 author for site / package.json
  --writeHaxProperties            Write haxProperties for the element
  --import-site <char>            URL of site to import
  --import-structure <char>       import method to use:
                                  pressbooksToSite
                                  elmslnToSite
                                  haxcmsToSite
                                  notionToSite
                                  gitbookToSite
                                  evolutionToSite
                                  htmlToSite
                                  docxToSite
  --node-op <char>                node operation to perform
  --item-id <char>                node ID to operate on
  --name <char>                   name of the project
  --domain <char>                 published domain name
  --title-scrape <char>           CSS Selector for `title` in resource
  --content-scrape <char>         CSS Selector for `body` in resource
  --items-import <char>           import items from a file / site
  --recipe <char>                 path to recipe file
  --custom-theme-name <char>      custom theme name
  --custom-theme-template <char>  custom theme template; (options: base,
                                  polaris-flex, polaris-sidebar)
  -V, --version                   output the version number
  --title <char>                  Title
  --content <char>                Page content
  --slug <char>                   Path (slug)
  --published <char>              Publishing status
  --tags <char>                   Tags
  --parent <char>                 Parent
  --order <char>                  Order
  --theme <char>                  Theme
  --hide-in-menu <char>           Hide in menu
  -h, --help                      display help for command

Commands:
  start                           Select which hax sub-program to run
  site [options] [action]         create or administer a HAXsite
  webcomponent [options] [name]   Create Lit based web components, with HAX
                                  recommendations
  help [command]                  display help for command

Examples

For a detailed list of example commands that you can perform with hax see examples.

Manual

Linux / macOS

Run man hax to get detailed manual.

Alternative Usage

# also this will invoke 1x
npx @haxtheweb/create
# this is same as above, better windows CLI support
npm init @haxtheweb
- Try Hax: https://hax.cloud
- HAXCellence https://haxtheweb.org/what-is-hax
  "scripts": {
    "hax": "hax"
  }
# script creating a new element called my-element w/ all defaults
npm run hax -- --name my-element --y

Windows problems?

Try setting a different cache path to load from npm config set cache C:\tmp\nodejs\npm-cache --global

If you wish to use PowerShell over Command Prompt, you may need to change your execution policy to allow scripts using the Set-ExecutionPolicy command with the -ExecutionPolicy and -Scope parameters. You should not need to do this if you are using Command Prompt.

# To see your current execution policy
Get-ExecutionPolicy

Set-ExecutionPolicy command documentation: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4

Follow the prompts and let's HAX the Web together!

Web component

Step through answering basic install questions to build a HAX capable web component that works anywhere! Features:

  • LitElement based
  • DDDSuper class which adds our design system in
  • Common conventions used to demonstrate and work with property binding
  • Minor CSS variable inclusion for initial learning

HAX Site

Build a HAX site that can be published and transported anywhere. Your users might love it on the front end, now you get the simplicity of building on the CLI.

  • Same HAX sites you can create via front end
  • Templated files that work just like any HAX site
  • End points baked in to do CLI commands for common endpoint operations like adding pages, deleting and editing.
  • Ability to import via URL just like the front-end
  • Theme development starting point to be able to build themes locally
  • Primed to publish to gh-pages, vercel and more

Get Help / Issues / Support

Watch and Learn more about HAX here:

Related links and tech

HAX Traveler: World Changer