open-index/open-npm huggingface dataset:
npm package: @snowdog/alpaca-ui
Description: <p align="center">   <img src="https://alpaca-ui.now.sh/assets/icons/alpaca.svg" alt="Alpaca logo" height="100" /> </p> <br/>
Latest version: 0.5.1

<p align="center">
  <img src="https://alpaca-ui.now.sh/assets/icons/alpaca.svg" alt="Alpaca logo" height="100" />
</p>
<br/>


## Alpaca UI

[![CircleCI](https://circleci.com/gh/SnowdogApps/alpaca-ui/tree/develop.svg?style=svg)](https://circleci.com/gh/SnowdogApps/alpaca-ui/tree/develop)
[![npm version](https://badge.fury.io/js/%40snowdog%2Falpaca-ui.svg)](https://www.npmjs.com/package/@snowdog/alpaca-ui)
[![codecov](https://codecov.io/gh/SnowdogApps/alpaca-ui/branch/develop/graph/badge.svg)](https://codecov.io/gh/SnowdogApps/alpaca-ui)

Highly customizable library of responsive UI components crafted for e-commerce. It is based on Vue.js and Alpaca design system.

> ⚠️ This library is currently in an early stage. Expect things to be broken or APIs to change as this project matures. DO NOT USE IT IN PRODUCTION!

## Features

- High customization and performance
- Possibility to override global variables
- Possibility to override components from partials (HTML/JS/SCSS)
- Semantic and accessible code output
- Ready to use with Vue CLI, Vue Storefornt and Nuxt.js


## Getting Started

### Installation

Add Alpaca UI to your project by using Yarn
```bash
yarn add @snowdog/alpaca-ui
```

or NPM
```bash
npm install @snowdog/alpaca-ui
```

### Usage

Import component in your app using named imports:

`import { AButton } from '@snowdog/alpaca-ui'`

```vue
<template>
  <a-button>
    Alpaca button
  </a-button>
</template>

<script>
import { AButton } from '@snowdog/alpaca-ui'

export default {
  name: 'MyComponent',
  components: AButton
}
</script>
```

If you need more flexibility you can take the source:

```vue
<template src="@snowdog/alpaca-ui/src/atoms/button/Button.html" />

<script>
import AButton from '@snowdog/alpaca-ui/src/atoms/button/Button.js'

export default {
  mixins: [AButton]
}
</script>

<style src="@snowdog/alpaca-ui/src/atoms/button/Button.scss" lang="scss" />
```
For now, to see all possible cases/modifiers, you should clone and run repo as in Development point, or check .stories.js file in component.

## Browser support

Recent versions of Firefox, Chrome, Edge, Opera, Safari and IE11+.

## Contributing

Read our contributing guide and let's build a better components together.
We welcome all contributions. Please read our [CONTRIBUTING.md](https://github.com/SnowdogApps/alpaca-ui/blob/develop/CONTRIBUTING.md) first. You can submit any ideas as GitHub issues.

## Development

```bash
git clone git@github.com:SnowdogApps/alpaca-ui.git
cd alpaca-ui
yarn
yarn dev
```

Open your browser, visit http://127.0.0.1:6006 and have fun.

## License

Code released under MIT license.
Copyright (c), [SNOW.DOG](https://snow.dog).
npm package: @snowdog/pigeon
Description: <p align="center">   <img src="./assets/logo.svg" height="200"> </p>
Latest version: 1.1.1

<p align="center">
  <img src="./assets/logo.svg" height="200">
</p>

# Pigeon
Simple open-source serverless API for sending emails and building forms effortlessly.

## Features
- **Simple** - Designed to remove the necessity of using Wordpress or another big backend just to have a contact form on the landing page
- **Fast and lightweight** - Serverless oriented, no framework, no database or other system-wide requirements
- **Form fields config** - You don't have to hardcode your form fields on front-end anymore, get them from API and build UI on the fly.
- **All well-knows SMTP services support** - Under the hood, we are using [nodemailer](https://github.com/nodemailer/nodemailer) and it supports a bunch of [well-known SMTP services](https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json)
- **No Admin Panel** - You are not limited by the UI or poor UX, just you and one JS config file
- **Front-end agnostic** - Simple REST API can be used by any application

## Demo
[Demo](https://pigeon.now.sh/)

[Source code](/examples/vercel)

## API
### `POST /`
Endpoint used to handle form submits

```js
const form = document.querySelector('#form')
const bodyFormData =  new FormData(form)
axios({
  method: 'post',
  url: '/',
  data: bodyFormData,
  headers: { 'Content-Type': 'multipart/form-data' },
  params: { id: 'myFormId' }
})
```

### `GET /`
Get configuration of form fields

```js
const { data } = axios.get('/', { params: { id: 'myFormId' } })
console.log(data)
// [
//   {
//     id: 'email',
//     type: 'email',
//     name: 'email',
//     label: 'Email',
//     required: true
//   }
// ]
```

## Config file

Defaults
```js
{
  locale: 'en-US',
  dev: {
    port: 8080
  },
  cors: {
    allowedOrigins: []
  },
  transport: {
    service: SERVICE,
    secure: true,
    auth: {
      user: USER,
      pass: PASS
    }
  },
  forms: {
    default: {
      mail: (params) => ({
        from: 'noreply@test.dev',
        to: 'noreply@test.dev',
        subject: 'Default subject',
        text: Object.keys(params).map(key => `${key}: ${params[key]}\n`).join('')
      }),
      fields: []
    }
  }
}
```

You can overwrite each part of this config by creating `pigeon.config.js`.

`transport` is [nodemailer's SMTP transport config object](https://nodemailer.com/smtp/).
By default, we are taking ENV variables `SERVICE`, `USER` and `PASS` to hydrate it.

`cors` is used to set `Access-Control-Allow-Origin` header acordingly to the settings.

`forms` object keys are used as IDs in requests params.

For security reasons you shouldn't keep **user** and **password** directly in the config file, but for example, keep them as a [secret variables](https://vercel.com/docs/environment-variables) if you are using [Vercel](https://vercel.com/).

## Local testing
To test and expose mailer locally on your machine run `yarn dev` / `npm run dev`
Development emails are send via [ethereal.email](https://ethereal.email/) service, instead of your desired SMTP transport, to preview sent messages.
npm package: @snowdog/vuepress-plugin-pdf-export
Description: Vuepress plugin for exporting site as PDF
Latest version: 1.1.0

# @snowdog/vuepress-plugin-pdf-export
Vuepress plugin for exporting site as PDF

## Features
- Exports whole Vuepress based page as a single PDF file
- Applies styles to hide UI elements like navigation or sidebar
- Doesn't other languages like Java to run
- Designed to work well in headless environments like CI runners

## Config options
- `theme` - theme name (default `@vuepress/default`)
- `sorter` - function for changing pages order (default `false`)
- `outputFileName` - name of output file (default `site.pdf`)
- `puppeteerLaunchOptions` - [Puppeteer launch options object](https://github.com/puppeteer/puppeteer/blob/v2.1.1/docs/api.md#puppeteerlaunchoptions) (default `{}`)
- `pageOptions` - [Puppeteer page formatting options object](https://github.com/puppeteer/puppeteer/blob/v2.1.1/docs/api.md#pagepdfoptions) (default `{format: 'A4'}`)

### Usage

Using this plugin:

``` js
// in .vuepress/config.js
module.exports = {
  plugins: ['@snowdog/vuepress-plugin-pdf-export']
}
```

Then run:

``` bash
vuepress export [path/to/your/docs]
```

### Tips
To run this plugin on Gitlab CI you may want to run Chrome with `no-sandbox` flag. [Details](https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md#setting-up-chrome-linux-sandbox)

```js
module.exports = {
  plugins: [
    ['@snowdog/vuepress-plugin-pdf-export', {
      puppeteerLaunchOptions: {
        args: ['--no-sandbox', '--disable-setuid-sandbox']
      }
    }]
  ]
}
```