-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
300 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"recommendations": ["astro-build.astro-vscode"], | ||
"unwantedRecommendations": [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# build output | ||
dist/ | ||
# generated types | ||
.astro/ | ||
|
||
# dependencies | ||
node_modules/ | ||
|
||
# logs | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
pnpm-debug.log* | ||
|
||
|
||
# environment variables | ||
.env | ||
.env.production | ||
|
||
# macOS-specific files | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Starlight Starter Kit: Basics | ||
|
||
[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build) | ||
|
||
``` | ||
npm create astro@latest -- --template starlight | ||
``` | ||
|
||
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/starlight/tree/main/examples/basics) | ||
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/starlight/tree/main/examples/basics) | ||
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/withastro/starlight&create_from_path=examples/basics) | ||
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fwithastro%2Fstarlight%2Ftree%2Fmain%2Fexamples%2Fbasics&project-name=my-starlight-docs&repository-name=my-starlight-docs) | ||
|
||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun! | ||
## 🚀 Project Structure | ||
|
||
Inside of your Astro + Starlight project, you'll see the following folders and files: | ||
|
||
``` | ||
. | ||
├── public/ | ||
├── src/ | ||
│ ├── assets/ | ||
│ ├── content/ | ||
│ │ ├── docs/ | ||
│ │ └── config.ts | ||
│ └── env.d.ts | ||
├── astro.config.mjs | ||
├── package.json | ||
└── tsconfig.json | ||
``` | ||
|
||
Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. | ||
|
||
Images can be added to `src/assets/` and embedded in Markdown with a relative link. | ||
|
||
Static assets, like favicons, can be placed in the `public/` directory. | ||
|
||
## 🧞 Commands | ||
|
||
All commands are run from the root of the project, from a terminal: | ||
|
||
| Command | Action | | ||
| :------------------------ | :----------------------------------------------- | | ||
| `npm install` | Installs dependencies | | ||
| `npm run dev` | Starts local dev server at `localhost:4321` | | ||
| `npm run build` | Build your production site to `./dist/` | | ||
| `npm run preview` | Preview your build locally, before deploying | | ||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | | ||
| `npm run astro -- --help` | Get help using the Astro CLI | | ||
|
||
## 👀 Want to learn more? | ||
|
||
Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// @ts-check | ||
import { defineConfig } from 'astro/config' | ||
import starlight from '@astrojs/starlight' | ||
|
||
// https://astro.build/config | ||
export default defineConfig({ | ||
integrations: [ | ||
starlight({ | ||
title: 'Softnetics RBAC', | ||
social: { | ||
github: 'https://github.com/softnetics/rbac', | ||
}, | ||
sidebar: [ | ||
{ | ||
label: 'Getting Started', | ||
autogenerate: { directory: 'getting-started' }, | ||
// items: [ | ||
// // Each item here is one entry in the navigation menu. | ||
// { label: 'Introduction', slug: 'getting-started/introduction' }, | ||
// ], | ||
}, | ||
{ | ||
label: 'Reference', | ||
autogenerate: { directory: 'reference' }, | ||
}, | ||
], | ||
}), | ||
], | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"name": "docs", | ||
"type": "module", | ||
"version": "0.0.1", | ||
"scripts": { | ||
"dev": "astro dev", | ||
"start": "astro dev", | ||
"build": "astro check && astro build", | ||
"preview": "astro preview", | ||
"astro": "astro" | ||
}, | ||
"dependencies": { | ||
"@astrojs/starlight": "^0.29.2", | ||
"astro": "^4.16.10", | ||
"sharp": "^0.32.5", | ||
"@astrojs/check": "^0.9.4", | ||
"typescript": "^5.7.2" | ||
} | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import { createIdentity } from '@softnetics/rbac' | ||
|
||
const identity = createIdentity({ | ||
policies: [policy], | ||
identities: { | ||
student: ['todo.viewer'], | ||
teacher: ['todo.editor', 'todo.viewer'], | ||
}, | ||
}) |
12 changes: 12 additions & 0 deletions
12
apps/docs/src/content/code-example/policy-with-wildcard.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
createPolicy({ | ||
name: 'todo', | ||
permissions: { | ||
todo: ['create', 'read', 'update', 'delete'], | ||
comment: ['create', 'read', 'delete'], | ||
}, | ||
roles: { | ||
viewer: ['todo.read', 'comment.read'], | ||
editor: ['todo.*', 'comment.delete'], | ||
admin: '*', | ||
}, | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
import { createPolicy } from '@softnetics/rbac' | ||
|
||
const policy = createPolicy({ | ||
name: 'todo', | ||
permissions: { | ||
todo: ['create', 'read', 'update', 'delete'], | ||
comment: ['create', 'read', 'update'], | ||
}, | ||
roles: { | ||
viewer: ['todo.read', 'comment.read'], | ||
editor: ['todo.create', 'todo.update', 'comment.create', 'comment.update'], | ||
}, | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import { defineCollection } from 'astro:content'; | ||
import { docsSchema } from '@astrojs/starlight/schema'; | ||
|
||
export const collections = { | ||
docs: defineCollection({ schema: docsSchema() }), | ||
}; |
67 changes: 67 additions & 0 deletions
67
apps/docs/src/content/docs/getting-started/introduction.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
title: Introduction | ||
description: introduction what is Softnetics RBAC. | ||
--- | ||
|
||
import { Tabs, TabItem , Code, Aside } from '@astrojs/starlight/components'; | ||
import PolicyExample from '../../code-example/policy?raw'; | ||
import PolicyWithWildcardExample from '../../code-example/policy-with-wildcard?raw'; | ||
import IdentityExample from '../../code-example/identity?raw'; | ||
|
||
Softnetics RBAC is a role-based access control system that allows you to control access to your application based on user roles and permissions implemented with Lookup Table and Type-safety. | ||
|
||
## Quick Start | ||
|
||
### Install Dependencies | ||
|
||
Install the dependencies with either `pnpm`, `yarn`, or `bun`: | ||
|
||
<Tabs syncKey="pkg"> | ||
<TabItem label="pnpm"> | ||
|
||
```sh | ||
pnpm add @softnetics/rbac | ||
``` | ||
|
||
</TabItem> | ||
<TabItem label="yarn"> | ||
|
||
```sh | ||
yarn add @softnetics/rbac | ||
``` | ||
|
||
</TabItem> | ||
<TabItem label="bun"> | ||
|
||
```sh | ||
bun add @softnetics/rbac | ||
``` | ||
|
||
</TabItem> | ||
</Tabs> | ||
|
||
### Create a Policy | ||
|
||
|
||
<Code code={PolicyExample} lang="ts" title={'policy.ts'} /> | ||
|
||
permissions are defined as a map of resource to actions | ||
roles are defined as a map of role to permissions | ||
|
||
<Aside type='tip'> | ||
You also can use * to match all resources and actions | ||
<Code code={PolicyWithWildcardExample} lang="ts" /> | ||
</Aside> | ||
|
||
### Create identity | ||
|
||
<Code code={IdentityExample} lang="ts" title={'identity.ts'} /> | ||
|
||
### Use RBAC | ||
|
||
enforce a permission | ||
|
||
```ts | ||
identity.enforce(['student'], ['todo.todo.read']) // true | ||
identity.enforce(['student'], ['todo.todo.create']) // false | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
title: Example Guide | ||
description: A guide in my new Starlight docs site. | ||
--- | ||
|
||
Guides lead a user through a specific task they want to accomplish, often with a sequence of steps. | ||
Writing a good guide requires thinking about what your users are trying to do. | ||
|
||
## Further reading | ||
|
||
- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: Welcome to Starlight | ||
description: Get started building your docs site with Starlight. | ||
template: splash | ||
hero: | ||
tagline: Congrats on setting up a new Starlight project! | ||
image: | ||
file: ../../assets/houston.webp | ||
actions: | ||
- text: Getting Started | ||
link: /getting-started/introduction/ | ||
icon: right-arrow | ||
- text: Read the Starlight docs | ||
link: https://starlight.astro.build | ||
icon: external | ||
variant: minimal | ||
--- | ||
|
||
import { Card, CardGrid } from '@astrojs/starlight/components'; | ||
|
||
## Next steps | ||
|
||
<CardGrid stagger> | ||
<Card title="Update content" icon="pencil"> | ||
Edit `src/content/docs/index.mdx` to see this page change. | ||
</Card> | ||
<Card title="Add new content" icon="add-document"> | ||
Add Markdown or MDX files to `src/content/docs` to create new pages. | ||
</Card> | ||
<Card title="Configure your site" icon="setting"> | ||
Edit your `sidebar` and other config in `astro.config.mjs`. | ||
</Card> | ||
<Card title="Read the docs" icon="open-book"> | ||
Learn more in [the Starlight Docs](https://starlight.astro.build/). | ||
</Card> | ||
</CardGrid> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
title: Example Reference | ||
description: A reference page in my new Starlight docs site. | ||
--- | ||
|
||
Reference pages are ideal for outlining how things work in terse and clear terms. | ||
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting. | ||
|
||
## Further reading | ||
|
||
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/// <reference path="../.astro/types.d.ts" /> | ||
/// <reference types="astro/client" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"extends": "astro/tsconfigs/strict", | ||
"exclude": ["./src/content/code-example/**/*"] | ||
} |