# مدیر تکه کد خط فرمان

با استفاده از مدیر تکه کد خط فرمان QOwnNotes (opens new window) می توانید تکه کدهای دستوری ذخیره شده در یادداشت ها را در QOwnNotes و از طریق خط فرمان اجرا کنید.

qc

با استفاده از یادداشت های دارای برچسب خاص می توانید تکه کدهای دستوری را ذخیره کرده و از مدیر تکه کد خط فرمان اجرا کنید.

دستورات

# نصب

صفحه جدیدترین انتشار (opens new window) را ملاحظه کرده و نسخه مورد نیاز خود را بارگیری کنید.

TIP

در صورت نصب jq (opens new window) نیز می‌توانید از این تکه کد استفاده کنید تا برای مثال آخرین نسخه Linux AMD64 AppImage را بارگیری و در آدرس /usr/local/bin/qc نصب کنید:

curl https://api.github.com/repos/qownnotes/qc/releases/latest | \
jq '.assets[] | select(.browser_download_url | endswith("_linux_amd64.tar.gz")) | .browser_download_url' | \
xargs curl -Lo /tmp/qc.tar.gz && \
tar xfz /tmp/qc.tar.gz -C /tmp && \
rm /tmp/qc.tar.gz && \
sudo mv /tmp/qc /usr/local/bin/qc && \
/usr/local/bin/qc --version
1
2
3
4
5
6
7

# متعلقات

fzf (opens new window) (جستجوی فازی) یا peco (opens new window) (نسخه قدیمی تر اما به احتمال بیشتر نصب شده به صورت پیش فرض) برای جستجوی دستورات در خط فرمان باید نصب شده باشد.

TIP

به صورت پیش فرض، fzf برای جستجو استفاده می شود اما می‌توانید از peco با انجام تنظیمات بر روی آن با qc configure استفاده کنید.

# تنظیمات

توکن-سرور-سوکت

قبل از استفاده از مدیر تکه کد، باید سرور سوکت وب (2) را در قسمت تنظیمات افزونه مرورگر / تکه کدهای دستوری (1) در QOwnNotes فعال کنید.

سپس باید توکن امنیتی را نشان داده (3) و از آن رونوشت برداری کنید (4).

اکنون از طریق دستور پیشرو پرونده پیکربندی مدیر تکه کد را باز کنید:

# پیکربندی مدیر تکه کد
qc configure
1
2

و توکن امنیتی را در مکان مشخص توکن قرار دهید:

[QOwnNotes]
token = "yourtokenhere"
1
2

TIP

در قسمت تنظیمات QOwnNotes نیز می توانید تعیین کنید که از چه برچسب یادداشتی برای جستجوی دستورات در یادداشت ها استفاده شود. به صورت پیش فرض برچسب دستورات مورد استفاده قرار می گیرد.

# چیدمان تکه کدهای دستوری

شما می توانید از لیست های نامرتب با کد بلوک های هم تراز برای ذخیره سازی تکه کدهای دستوری استفاده کنید. همه یادداشت های دارای برچسب دستورات برای تکه کدهای دستوری مورد جستجو قرار می گیرند.

در صورت افزودن cmd: قبل از کد بلوک هم تراز، دستور نیز بدون توجه به برچسب یادداشت در یادداشت کنونی دریافت خواهد شد.

- `echo I am a command` I am a description #tag1 #tag2 #tag3
* `echo I am also a command` I am a description #tag3 #tag4 #tag5
- cmd: `echo I will be found in the current note` This command will be found in the current note regardless of note tags

<!-- Example for asking for user input -->

- `read -p "PR ID: " id && git fetch origin pull/$id/head:pull-$id && git checkout pull-$id` Ask for pull request ID and checkout pull request
1
2
3
4
5
6
7

کد بلوک های بش یا پوسته (بعد از سرخط 2 یا بالاتر به صورت توضیح) برای جستجوی تکه کدهای دستوری نیز قابل استفاده هستند. همچنین اگر برچسب ها بین عنوان و کد بلوک قرار گیرند، پشتیبانی خواهند شد.

## انجام این کار با کد بلوک «بش»

- این متن نادیده گرفته می شود
- اما این برچسب ها قابل استفاده هستند: #tag1 #tag2

```bash
echo do this
echo do that
```


## کار دیگری با کد بلوک «sh» انجام دهید

```sh
echo do something else
echo do something other
```

مثال فوق منجر به دو تکه کد دستوری خواهد شد که مورد نخست دارای دو برچسب tag1 و tag2 می باشد.

# کاربرد

# جستجو و اجرای تکه کدهای دستوری
qc exec
1
2
# جستجو و چاپ تکه کدهای دستوری
qc search
1
2

# پیکربندی

qc configure را اجرا کنید.

[General]
  editor = "vim"            # your favorite text editor
  column = 40               # column size for list command
  selectcmd = "fzf"         # selector command for edit command (fzf or peco)
  sortby = ""               # specify how snippets get sorted (recency (default), -recency, description, -description, command, -command, output, -output)

[QOwnNotes]
  token = "MvTagHXF"        # your QOwnNotes API token
  websocket_port = 22222    # websocket port in QOwnNotes
1
2
3
4
5
6
7
8
9

# تکمیل پوسته

شما می توانید کد تکمیل پوسته مربوط را با qc completion <shell> ایجاد کنید.

برای مثال برای پوسته ماهی می توانید از این دستور استفاده کنید:

qc completion fish > ~/.config/fish/completions/qc.fish
1