open-index/open-npm huggingface dataset:
npm package: @goulvenc/typescript-table
Description: Project 14 of the OpenClassrooms - Front End Developer - course 
Latest version: 0.0.8

#  HRnet - Table plugin

HRnet is an online application for managing your team. Project 14 of the OpenClassrooms "Front End Developer" course. For this project I'm using [TypeScript](https://www.typescriptlang.org/), [React](https://reactjs.org/) and [React Router](https://reactrouter.com/) in a [statically typed](https://fr.wikipedia.org/wiki/Typage_statique) [functional](https://en.wikipedia.org/wiki/Functional_programming) paradigm.

I had to refactor an [old JQuery site](https://github.com/OpenClassrooms-Student-Center/P12_Front-end) into a modern React app. I published independently this custom HTML Table as a [new NPM package](https://www.npmjs.com/package/@goulvenc/typescript-table), but most of the work is in the [HRnet website main repository](https://github.com/GoulvenC/GoulvenClech_14_101221_website).

**Useful links:**
- [Live demo 🌍](https://oc-p14.goulven-clech.dev) 
- [HRnet repository 📖](https://github.com/GoulvenC/GoulvenClech_14_101221_website)
- [Table plugin repository 📖](https://github.com/GoulvenC/GoulvenClech_14_101221)

## Installation

1 - Install [Yarn](https://yarnpkg.com/) on your system

2 - Download this project and open the folder

3 - Install the dependencies with `yarn install`

4 - To obtain a production version do `yarn build`

## License

This project is part of the OpenClassrooms [Front-End Developer](https://openclassrooms.com/fr/paths/314-developpeur-front-end) course. The code is freely reusable.

If you are also an OC student, you can freely draw inspiration from my work, but I obviously do not recommend copying parts of it.
npm package: @goulvenclech/astropi
Description: Build beautiful and accessible API documentations with Astro 🪐
Author: Goulven Clec'h
Latest version: 0.3.0

# Astropi - Let's make a better doc 🪐

> [!WARNING]
> Astropi is in early development and is not ready for public use... but new contributors are welcome!

[Astropi](https://astropi.goulven-clech.dev/) is a free and open-source project that helps you build beautiful and accessible API documentation for your projects. It's built with [Astro](https://astro.build/), a fast and modern Static Site Generator.

This core package contains the components, styles, and utilities that power the project.

## How to install

Create a new Astropi project by running the following command:

```bash
# If you use pnpm
pnpm create astro --template github:goulvenclech/astropi/starter
# If you use npm
npm create astro --template github:goulvenclech/astropi/starter
# If you use yarn
yarn create astro --template github:goulvenclech/astropi/starter
```

Or add Astropi to an existing Astro project:

```bash
# If you use pnpm
pnpm astro add @goulvenclech/astropi
# If you use npm
npx astro add @goulvenclech/astropi
# If you use yarn
yarn astro add @goulvenclech/astropi
```

## How to use

Check out the [Astropi documentation](https://astropi.goulven-clech.dev/) for more information. Here are some quick links:

- [Getting Started](https://astropi.goulven-clech.dev/learn/2-getting-started)
- [Creating a blog](https://astropi.goulven-clech.dev/learn/3-create-a-blog)

## How to contribute

Astropi is a community-driven project, and we welcome contributions of all kinds. If you experience any problem with our project, please [open an issue](https://github.com/goulvenclech/astropi/issues). If you have any suggestions, please [open a discussion](https://github.com/goulvenclech/astropi/discussions).

If you want to contribute to Astropi, please read the [Contributing Guide](./CONTRIBUTING.md) (work in progress) and the [Code of Conduct](./CODE_OF_CONDUCT.md) before submitting a pull request. You can find more technical information about the project in the `README.md` files of each main directory:

- `./packages/astropi/` contains the core of Astropi, including the components, styles, and utilities that power the project.

- `./docs/` contains the Astropi documentation website (built with Astropi!)

- `./packages/astropi-starter/` contains the Astropi starter template, which is cloned when you create a new Astropi project.

## License

Astropi is licensed under the [MIT License](./LICENSE.md). You are free to use, modify, and distribute this project. You must include the original license in any fork of this project. Attribution is appreciated.

## Aknowledgements

Thanks [Astro](https://astro.build/) for being the core of Astropi and an amazing Static Site Generator.

Thanks [Starlight](https://starlight.astro.build) for being the main inspiration for Astropi, alongside other documentation tools like [Readme.com](https://readme.com/), [GitBook](https://docs.gitbook.com/), [VitePress](https://vitepress.vuejs.org/), etc.
npm package: @gountzjs/icon-svg
Description: Simple component managment svg element
Author: Gountz
Latest version: 1.0.6

# SVG Component

A lightweight, modern Web Component library for rendering SVG icons with ease. This library uses Shadow DOM for style encapsulation and `isomorphic-dompurify` for security.

## Installation

You can install the library using your favorite package manager:

```bash
npm install @gountzjs/icon-svg
```

## How to Use

### 1. Register your icons manually

This library does **not** come with pre-included icons. You must manually register the icons you want to use in your application's entry file (e.g., `main.ts` or `app.ts`).

Import the `registry` and use `addIcons` to provide your SVG icon functions:

```typescript
import { registry, Icons } from '@gountzjs/icon-svg';

const myIcons: Icons = {
  'arrow-right': (color: string) => `
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
      <line x1="5" y1="12" x2="19" y2="12"></line>
      <polyline points="12 5 19 12 12 19"></polyline>
    </svg>
  `,
  'user': (color: string) => `
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
      <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
      <circle cx="12" cy="7" r="4"></circle>
    </svg>
  `
}

registry.addIcons(myIcons);
```

> **Note:** The icon functions receive a `color` argument that you should inject into your SVG string (e.g., in the `fill` or `stroke` attribute).

### 2. Use the component

Once registered, you can use the `<icon-svg>` element anywhere in your HTML or templates:

```html
<!-- Default: 24px, color #fff -->
<icon-svg name="arrow-right"></icon-svg>
```

```html
<!-- Custom color and size -->
<icon-svg name="user" color="#ff4500" size="32px"></icon-svg>
```

## Component API

The `<icon-svg>` component supports the following attributes:

| Attribute | Required | Default | Description                             |
|-----------|----------|---------|-----------------------------------------|
| `name`    | Yes      | -       | The name of the registered icon.        |
| `color`   | No       | `#fff`  | The color to pass to the icon function. |
| `size`    | No       | `24px`  | The width and height of the component.  |

## Development

If you want to contribute or build the library locally:

```bash
# Install dependencies
pnpm install
```

```bash
# Build the library
pnpm run build
```

## License

[MIT](./LICENSE)