open-index/open-npm huggingface dataset:
npm package: @foliokit/cms-core
Description: Core Firebase services, models, and tokens for FolioKit CMS
Latest version: 1.0.7

# @foliokit/cms-core

Core Firebase services, data models, and injection tokens for the FolioKit CMS.
Provides `provideFolioKit()` — the single-call bootstrapper that sets up Firebase
(Firestore, Storage, Auth) and default service bindings for Angular applications.

Part of the [FolioKit](https://github.com/doug-williamson/foliokit) ecosystem.

## Install

```bash
npm install @foliokit/cms-core
```

## Peer Dependencies

| Package | Version |
|---------|---------|
| `@angular/common` | `^21.2.4` |
| `@angular/core` | `^21.2.4` |
| `firebase` | `^11.10.0` |
| `rxjs` | `~7.8.0` |

## Quick Start

```typescript
// app.config.ts
import { provideFolioKit } from '@foliokit/cms-core';

export const appConfig: ApplicationConfig = {
  providers: [
    provideFolioKit({
      firebaseConfig: {
        apiKey: '...',
        authDomain: '...',
        projectId: '...',
        storageBucket: '...',
        messagingSenderId: '...',
        appId: '...',
      },
    }),
  ],
};
```

`provideFolioKit()` registers:
- Firebase App, Firestore, Storage, and Auth (SSR-safe — returns `null` on the server)
- `PostService` bound to `BLOG_POST_SERVICE`
- `SiteConfigService` bound to `SITE_CONFIG_SERVICE`
- Optional `SITE_ID` token (when `siteId` is provided)

## What's Included

- **`provideFolioKit(config)`** — single-call bootstrapper
- **`provideFirebase(options, useEmulator)`** — lower-level Firebase-only setup
- **Data models** — `BlogPost`, `SiteConfig`, `NavItem`, `Author`, `Tag`, `SeoMeta`, `AboutPageConfig`, `LinksPageConfig`, `HomePageConfig`
- **Services** — `PostService`, `SiteConfigService`, `AuthorService`, `AuthService`, `TagService`
- **DI tokens** — `BLOG_POST_SERVICE`, `SITE_CONFIG_SERVICE`, `SITE_ID`, `FIREBASE_OPTIONS`, `FIRESTORE`, `FIREBASE_STORAGE`, `FIREBASE_AUTH`
- **Pipes** — `TagLabelPipe`

## Full Documentation

[foliokitcms.com/docs/getting-started](https://foliokitcms.com/docs/getting-started)
npm package: @foliokit/cms-markdown
Description: Markdown rendering component with embedded media token resolution for FolioKit CMS
Latest version: 1.0.3

# @foliokit/cms-markdown

Markdown rendering component for Angular with embedded media token resolution.
Wraps `ngx-markdown` and adds support for replacing `![alt](token)` placeholders
with resolved Firebase Storage URLs at render time.

Part of the [FolioKit](https://github.com/doug-williamson/foliokit) ecosystem.

## Install

```bash
npm install @foliokit/cms-markdown
```

## Peer Dependencies

| Package | Version |
|---------|---------|
| `@angular/common` | `^21.2.4` |
| `@angular/core` | `^21.2.4` |
| `@foliokit/cms-core` | `^1.0.0` |
| `ngx-markdown` | `^21.1.0` |

## Quick Start

```typescript
// In your component:
import { MarkdownComponent } from '@foliokit/cms-markdown';

@Component({
  selector: 'app-post',
  standalone: true,
  imports: [MarkdownComponent],
  template: `
    <folio-markdown
      [content]="post.content"
      [embeddedMedia]="post.embeddedMedia"
    />
  `,
})
export class PostComponent {
  post = { content: '## Hello\n\nWorld', embeddedMedia: {} };
}
```

**Important:** You must call `provideMarkdown()` from `ngx-markdown` in your
`app.config.ts` providers for the component to work:

```typescript
import { provideMarkdown } from 'ngx-markdown';

export const appConfig: ApplicationConfig = {
  providers: [
    provideMarkdown(),
    // ...
  ],
};
```

## API

| Input | Type | Required | Description |
|-------|------|----------|-------------|
| `content` | `string` | Yes | Markdown content to render |
| `embeddedMedia` | `Record<string, EmbeddedMediaEntry>` | No | Token-to-URL map for embedded images |

### Embedded Media

When post content contains `![alt](my-token)`, and `embeddedMedia` has a key
`my-token` with a `downloadUrl`, the component replaces the token with the
resolved URL before rendering. This enables storing media references in
Firestore without hardcoding URLs.

## Full Documentation

[foliokitcms.com/docs/components/markdown](https://foliokitcms.com/docs/components/markdown)
npm package: @folk-org/js-dav
Description: jsDAV allows you to easily add WebDAV support to a NodeJS application. jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.
Author: Cyril HAGEGE
Latest version: 1.0.3

# jsDAV

jsDAV allows you to easily add WebDAV support to a NodeJS application.
jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.

## SabreDAV
jsDAV started as a port of [SabreDAV] to NodeJS Javascript, written by Evert Pot
and maintained by Evert and contributors.
[SabreDAV] is regarded as one of the highest quality WebDAV implementations around
and is written entirely in PHP and is the most feature complete implementation
that I've seen to date. I am watching the [SabreDAV] repository closely for changes,
improvements and bugfixes, to see if they can be ported to jsDAV.

## Features

 * Fully WebDAV compliant
 * Supports Windows XP, Windows Vista, Mac OS/X, DavFSv2, Cadaver, Netdrive, Open Office, and probably more
 * Supporting class 1, 2 and 3 Webdav servers
 * Custom property support
 * Locking support
 * Pass all Litmus tests

## Features in development

 * CalDAV (to be tested with Evolution, iCal, iPhone and Lightning).

## Supported RFC's

 * [RFC2617]: Basic/Digest auth
 * [RFC2518]: First WebDAV spec
 * [RFC4709]: DavMount
 * [RFC5397]: current-user-principal
 * [RFC5689]: Extended MKCOL
 * [RFC3744]: ACL
 * CardDAV (to be tested with the iOS addressbook and Evolution)

## RFC's in development

 * [RFC4791]: CalDAV
 * [RFC4918]: WebDAV revision
 * CalDAV ctag, CalDAV-proxy

[SabreDAV]: http://sabre.io/
[RFC2617]: http://www.ietf.org/rfc/rfc2617.txt
[RFC2518]: http://www.ietf.org/rfc/rfc2518.txt
[RFC3744]: http://www.ietf.org/rfc/rfc3744.txt
[RFC4709]: http://www.ietf.org/rfc/rfc4709.txt
[RFC4791]: http://www.ietf.org/rfc/rfc4791.txt
[RFC4918]: http://www.ietf.org/rfc/rfc4918.txt
[RFC5397]: http://www.ietf.org/rfc/rfc5397.txt
[RFC5689]: http://www.ietf.org/rfc/rfc5689.txt

See the [wiki](https://github.com/mikedeboer/jsDAV/wiki) for more information or
ask a question in the [mailing list](https://groups.google.com/d/forum/jsdav)!


Amsterdam, 2010. Mike de Boer.
npm package: @folk-org/react-user-avatar
Description: React component for a user avatar with fallback to colored initials
Author: Will Binns-Smith
Latest version: 1.10.6

# React UserAvatar

A bare-bones user avatar display with support for falling back to using the user's initials on a colored background as the avatar.

![](https://cloud.githubusercontent.com/assets/755844/11612136/7dc28cae-9ba2-11e5-8c6e-999d5d524642.png)

## Installation

`npm install -S react-user-avatar`

## Usage

```js
  <UserAvatar size="48" name="Will Binns-Smith" />
  <UserAvatar size="48" name="Will Binns-Smith" src="https://pbs.twimg.com/profile_images/429442426038538240/6Ac9kykG_400x400.jpeg" />
  <UserAvatar size="48" name="John Doe" colors={['#ccc', '#fafafa', '#ccaabb']}/>
  <UserAvatar size="48" name="Mary Ann Gilligans" />
  <UserAvatar size="48" name="Jane Doe" color="#FFF" />
  <UserAvatar size="48" name="Madonna" />
```

This module uses react-style inline styles to narrow the api, yet allows for reasonable extensibility by exposing
a number of DOM classes. Take a look (or simply use) `example.css` for ideas.

The fallback avatar's color may be set by passing in the `color` prop, or you can customize the range of colors
used by passing in an array of `colors`. The component uses a simple calculation to consistently use the same
color for the same user's name every time.

If the component determines that the color chosen was visually light, it will apply a `UserAvatar--light` class to the root element.
If the color chosen was dark, it will apply `UserAvatar--dark`. Take advantage of these to use the appropriately colored text or border
when styling the component.
npm package: @folkehelseinstituttet/designsystem
Description: The official design system for the Norwegian Institute of Public Health implemented as web components
Author: FHI Designsystem team
Latest version: 0.33.1

# FHI Designsystem

## Kom i gang

### Installering av Node og pnpm

Om du mangler begge, eller en av dem på din maskin:

- Last ned og installer [Node](https://nodejs.org/en)
- Last ned og installer [pnpm](https://pnpm.io/installation)

### Jobbe i lokalt miljø

*Alle kommandoer kjøres fra samme folder som denne README-en.*

#### Installering

1. Kjør `pnpm i`
2. Kjør `pnpm exec playwright install`

#### Utvikling

Kjør `pnpm storybook`

#### Testing

Kjør `pnpm test`

#### Bygg

Kjør `pnpm build`

Mer informasjon om hvordan opprette nye komponenter finnes i vår ["Hvordan hjelpe til"](../../CONTRIBUTING.md#hvordan-utvikle-en-ny-komponent)-guide.
npm package: @folkehelseinstituttet/react-components
Description: Frontend components made with react for use in FHI
Latest version: 7.0.0

# Fhi.Frontend.ReactComponents

Contains frontend React components used by FHI

## Development

Run `npm start` to start storybook, this will let you view the components during development


## Build

Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.

## Running unit tests

Run `npm test` to execute the unit tests via [Jest](https://jestjs.io/).
npm package: @folkehelseinstituttet/style
Description: CSS styling used by Folkehelseinstituttet
Latest version: 6.5.0

# Fhi.Frontend.Style

CSS styling used by Folkehelseinstituttet, based on [Bootstrap](https://getbootstrap.com) frontend framework.

## Dependencies

| Fhi.Frontend.Style | Bootstrap | Node/NPM |
| ------------------ | --------- | -------- |
| 6.x.x              | 5.3.2     | 18/9*    |
| 5.9.x              | 5.3.2     | 18/9*    |
| 5.x.x              | 5.2.x     | 16/8*    |
| 4.x.x              | 5         | 16/8*    |
| 3.x.x              | 5         | 16/8*    |

_* [designsystem.fhi.no](https://designsystem.fhi.no) uses these Node/NPM versions, older versions may work, but then you're on your own_ :wink:

## Changelog

You find the [changelog here](https://github.com/folkehelseinstituttet/Fhi.Frontend.Style/blob/main/CHANGELOG.md)

## Get started

### Install

Install with [npm](https://www.npmjs.com): `npm install @folkehelseinstituttet/style`

### Use in project

If you want the full style library

```scss
@import "@folkehelseinstituttet/style/import/all.scss";
```

If you only need the variables for use in ex. a library

```scss
@import "@folkehelseinstituttet/style/import/all-variables.scss";
```

If you want to use CSS instead of SCSS

1. Run `npm pack`
2. Copy the generated folder `./css` to the folder containing `index.html` (if the script wasn't executed in the same folder)
3. Add the line `<link rel="stylesheet" type="text/css" href="css/styles.min.css" />` to your `index.html`

## Contribute

Read about how to contribute [here](https://github.com/folkehelseinstituttet/Fhi.Frontend.Demo/blob/dev/CONTRIBUTING.md)

## Demo and documentation

Live examples in our demo app: [https://designsystem.fhi.no](https://designsystem.fhi.no)
Repo for demo app: [Fhi.Frontend.Demo](https://github.com/folkehelseinstituttet/Fhi.Frontend.Demo)

## Info about fonts

Only `SourceSansPro` and `CrimsonText` are distributed with this package. `BrandonText` are proprietary, and must be imported in projects where it's a design requirement.
npm package: @folkforms/git-config
Description: Automatically applies Git configuration options based on regex match of repo path
Author: folkforms
Latest version: 0.0.15

# Git Config

## Git commands

```
git config --global alias.amend "commit --amend --no-edit"
git config --global alias.ap "add --patch"
git config --global alias.cb "checkout -b"
git config --global alias.ck "checkout --"
git config --global alias.db "branch --delete"
git config --global alias.diffns "diff --name-status"
git config --global alias.gl "log --all --decorate --oneline --graph -10"
git config --global alias.gl2 "log --decorate --oneline --graph -10"
git config --global alias.signed "log -s --show-signature -1"
git config --global alias.st "status --short"
```

## Git SSH

```
@echo off
call "C:\Program Files\Git\cmd\start-ssh-agent.cmd"
cd /d <starting dir>
```
npm package: @folkforms/recipes-parser
Description: Parses recipe files to JSON.
Author: folkforms
Latest version: 0.0.1

# recipes-parser

Generates JSON files based on recipes and their metadata.

## Input

My typical recipe file looks like this:

    # Cake

    TAGS: sweet
    SHOPPING LIST: flour, sugar, eggs
    FROM: https://www.bakeacake.com
    SERVES: 8
    TIME: 2 hours

    ## Ingredients

    1 kg sugar
    5 eggs
    500g flour

    ## Directions

    - Mix everything
    - Put it in a cake tin
    - Cook at 180 degrees for 1 hour

    ## Notes

    Any notes go here

    ## Leftovers

    - 1 egg

## Output

The above file is parsed into JSON:

    {
      "recipe": "Cake",
      "filename": "recipes/cake.txt",
      "metaData": {
        "tags": [ "sweet" ],
        "shoppingList": [ "flour", "sugar", "eggs" ],
        "from": "https://www.bakeacake.com",
        "serves": "8",
        "time": "2 hours"
      },
      "ingredients": [
        "1 kg sugar",
        "6 eggs",
        "500g flour"
      ],
      "directions": [
        "- Mix everything"
        "- Put it in a cake tin"
        "- Cook at 180 degrees for 1 hour"
      ],
      "notes": "Any notes go here",
      "leftovers": [
        "1 egg"
      ],
      "fullText": [
        "(full text of the recipe for searching etc.)"
      ]
    }
npm package: @folks-finance/algorand-sdk
Description: The official JavaScript SDK for the Folks Finance Protocol
Author: Folks Finance
Latest version: 0.2.3

# @folks-finance/algorand-sdk

[![License: MIT][license-image]][license-url]
[![CI][ci-image]][ci-url]
[![NPM version][npm-image]][npm-url]
[![Downloads][downloads-image]][npm-url]

![Algorand Header](https://github.com/Folks-Finance/algorand-js-sdk/raw/main/media/repo-header.jpg)

The official JavaScript SDK for the Algorand Folks Finance protocol

## Installation

### Package manager

Using npm:

```bash
npm install @folks-finance/algorand-sdk
```

Using yarn:

```bash
yarn add @folks-finance/algorand-sdk
```

Using pnpm:

```bash
pnpm add @folks-finance/algorand-sdk
```

Using bun:

```bash
bun add @folks-finance/algorand-sdk
```

No extra setup is required if you're just using the sdk as a dependency in your project.

## Documentation

Documentation is generated with TypeDoc and available at <https://folks-finance.github.io/algorand-js-sdk/>.

## Running Examples (For Contributors)

If you've forked or cloned this repository, you can run the included examples:

1. Update `examples/config.ts` with your configuration.
2. Run an example, for example:

```bash
pnpm example examples/v2/liquidate.ts
```

[license-image]: https://img.shields.io/badge/License-MIT-brightgreen.svg?style=flat-square
[license-url]: https://opensource.org/licenses/MIT
[ci-image]: https://img.shields.io/github/actions/workflow/status/Folks-Finance/algorand-js-sdk/lint-and-typecheck.yml?branch=main&logo=github&style=flat-square
[ci-url]: https://github.com/Folks-Finance/algorand-js-sdk/actions/workflows/lint-and-typecheck.yml
[npm-image]: https://img.shields.io/npm/v/@folks-finance/algorand-sdk.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@folks-finance/algorand-sdk
[downloads-image]: https://img.shields.io/npm/dm/@folks-finance/algorand-sdk.svg?style=flat-square
npm package: @folks-router/js-sdk
Description: The official JavaScript/TypeScript SDK for Folks Router DEX aggregator.
Author: Folks Finance
Latest version: 0.5.1

# @folks-router/js-sdk

The official JavaScript/TypeScript SDK for Folks Router DEX aggregator.

## Installation

Install using your package manager of choice.

```sh
# npm
npm install @folks-router/js-sdk

# yarn
yarn add @folks-router/js-sdk

# pnpm
pnpm add @folks-router/js-sdk
```

## Documentation

Documentation for this SDK is available at [folksrouter.io](https://folksrouter.io/docs/sdk/overview/).

## Usage

```ts
import { FolksRouterClient, Network, SwapMode, SwapParams } from "@folks-router/js-sdk";
import { Algodv2, decodeUnsignedTransaction, generateAccount } from "algosdk";

const senderAccount = generateAccount();
const algodClient = new Algodv2("", "https://mainnet-api.algonode.cloud/", 443);
const folksRouterClient = new FolksRouterClient(Network.MAINNET);

async function main() {
  // Construct Swap Params
  const swapParams: SwapParams = {
    fromAssetId: 0,
    toAssetId: 31566704,
    amount: BigInt(10e6),
    swapMode: SwapMode.FIXED_INPUT,
  };

  // Fetch Swap Quote
  const swapQuote = await folksRouterClient.fetchSwapQuote(swapParams);

  // Prepare Swap Transactions
  const base64Txns = await folksRouterClient.prepareSwapTransactions(
    swapParams,
    senderAccount.addr,
    BigInt(10),
    swapQuote,
  );
  const unsignedTxns = base64Txns.map((txn) => decodeUnsignedTransaction(Buffer.from(txn, "base64")));
  const signedTxns = unsignedTxns.map((txn) => txn.signTxn(senderAccount.sk));

  // Submit Transaction
  await algodClient.sendRawTransaction(signedTxns).do();
}

main().catch(console.error);
```