mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 09:18:30 +02:00
Mention open source in README
This commit is contained in:
30
README.md
30
README.md
@@ -1,21 +1,21 @@
|
|||||||
# Yaak Network Toolkit
|
# Yaak API Client
|
||||||
|
|
||||||
The most fun you'll ever have working with APIs.
|
Yaak is a desktop API client for organizing and executing REST, GraphQL, and gRPC
|
||||||
|
requests.
|
||||||
|
|
||||||
## Common Commands
|
## Feedback and Bug Reports
|
||||||
|
|
||||||
```sh
|
Please [Create an Issue](https://github.com/yaakapp/app/issues/new) for bug reports and
|
||||||
# Start dev app
|
submit all other feedback to [feedback.yaak.app](https://feedback.yaak.app).
|
||||||
npm run tauri-dev
|
|
||||||
|
|
||||||
# Migration commands
|
## Contribution Policy
|
||||||
cd src-tauri
|
|
||||||
cargo sqlx migrate add ${MIGRATION_NAME}
|
|
||||||
cargo sqlx migrate run --database-url 'sqlite://db.sqlite?mode=rw'
|
|
||||||
cargo sqlx prepare --database-url 'sqlite://db.sqlite'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Add App->Plugin API
|
Yaak was initially closed-source, with no plans of every becoming open
|
||||||
|
(see [Blog Post](https://yaak.app/blog/why-not-open-source)). However, Open source does
|
||||||
|
offer many benefits:
|
||||||
|
|
||||||
- Add event in `events.rs`
|
- Full transparency over what is happening
|
||||||
- Add handler to `index.worker.ts`
|
- Code can be audited
|
||||||
|
- Users can help identify and fix bugs
|
||||||
|
|
||||||
|
For these reasons, Yaak is now open source but only accepting contributions for bug fixes.
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { Checkbox } from '../core/Checkbox';
|
|||||||
import { IconButton } from '../core/IconButton';
|
import { IconButton } from '../core/IconButton';
|
||||||
import { InlineCode } from '../core/InlineCode';
|
import { InlineCode } from '../core/InlineCode';
|
||||||
import { HStack } from '../core/Stacks';
|
import { HStack } from '../core/Stacks';
|
||||||
|
import { EmptyStateText } from '../EmptyStateText';
|
||||||
import { SelectFile } from '../SelectFile';
|
import { SelectFile } from '../SelectFile';
|
||||||
|
|
||||||
export function SettingsPlugins() {
|
export function SettingsPlugins() {
|
||||||
@@ -17,21 +18,31 @@ export function SettingsPlugins() {
|
|||||||
const refreshPlugins = useRefreshPlugins();
|
const refreshPlugins = useRefreshPlugins();
|
||||||
return (
|
return (
|
||||||
<div className="grid grid-rows-[minmax(0,1fr)_auto] h-full">
|
<div className="grid grid-rows-[minmax(0,1fr)_auto] h-full">
|
||||||
<table className="w-full text-sm mb-auto min-w-full max-w-full divide-y divide-surface-highlight">
|
{plugins.length === 0 ? (
|
||||||
<thead>
|
<div className="pb-4">
|
||||||
<tr>
|
<EmptyStateText className="text-center">
|
||||||
<th></th>
|
Plugins extend the functionality of Yaak.
|
||||||
<th className="py-2 text-left">Plugin</th>
|
<br />
|
||||||
<th className="py-2 text-right">Version</th>
|
Add your first plugin to get started.
|
||||||
<th></th>
|
</EmptyStateText>
|
||||||
</tr>
|
</div>
|
||||||
</thead>
|
) : (
|
||||||
<tbody className="divide-y divide-surface-highlight">
|
<table className="w-full text-sm mb-auto min-w-full max-w-full divide-y divide-surface-highlight">
|
||||||
{plugins.map((p) => (
|
<thead>
|
||||||
<PluginInfo key={p.id} plugin={p} />
|
<tr>
|
||||||
))}
|
<th></th>
|
||||||
</tbody>
|
<th className="py-2 text-left">Plugin</th>
|
||||||
</table>
|
<th className="py-2 text-right">Version</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody className="divide-y divide-surface-highlight">
|
||||||
|
{plugins.map((p) => (
|
||||||
|
<PluginInfo key={p.id} plugin={p} />
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
)}
|
||||||
<form
|
<form
|
||||||
onSubmit={(e) => {
|
onSubmit={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user