/Umbraco.Headless.Client.NodeJs

NodeJs Client Library and Sample for the Umbraco Headless Cloud Service

Primary LanguageTypeScriptMIT LicenseMIT

Umbraco Heartcore Logo


NodeJS Client Library for Umbraco Heartcore

Umbraco Heartcore is the headless CMS version of Umbraco as a Service.

This repository contains the Node.JS client library for the Umbraco Heartcore REST APIs.

Prerequisites

Install

> npm install @umbraco/headless-client

Usage

Create a client, then call commands on it

// client.ts
import {Client} from '@umbraco/headless-client'

const client = new Client({
  projectAlias: 'your-project-alias',
  apiKey: 'your-api-key'
})

export default client

// rootLinks.ts
async function rootLinks(client: Client) {
  const rootContent = await client.delivery.content.root()

  const childPages = rootContent.map(child => ({
    url: child._url,
    name: child.name
  }))

  return childPages
}

function linkGenerator(links: {url: string, name: string}[]) {
  return links.map(link => {
    return `<a href="${link.url}">${link.name}</a>`
  })
}

async function main() {
  const rootLinks = await rootLinks(require('./client').default)
  const links = linkGenerator(rootLinks)
  console.log(links)
}

Documentation

General documentation for Umbraco Heartcore can be found on our.umbraco.com.

API documentation for the Client library can be generated by running the following

> npm install # install dependencies
> npm run build # build the sourch
> npm run docs # generate the documentation

This will generate markdown files in docs/api that can be openend in any markdown viewer.

A simple way to view them is to use markserv by running

> npx markserv docs/api