Skip to content

Commit 91880b7

Browse files
authored
Merge pull request #152 from xscriptor/update/plugins
update/plugins
2 parents bc3e459 + 0151d2e commit 91880b7

16 files changed

Lines changed: 19320 additions & 46 deletions

File tree

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77

88
<p>A cross-platform system information fetching tool inspired by fastfetch and neofetch, written in Rust.</p>
99

10+
<a href="https://imgur.com/iKGpg4h">
11+
<img src="https://i.imgur.com/ihNz93o.gif" width="900" alt="Demo" >
12+
</a>
13+
14+
1015
<!--Menu-->
1116
<div align="left">
1217
<h2>Menu</h2>

docs/PLUGINS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@
9797

9898
<h3>Frame Animation</h3>
9999
<p>
100-
Use <code>style: "frame"</code> con <code>frames_path</code> para animaciones con
101-
múltiples frames ASCII. Puedes usar un <strong>solo archivo</strong> con las frames
102-
separadas por <code>===</code> en su propia línea, o un <strong>array de archivos</strong>.
100+
Use <code>style: "frame"</code> with <code>frames_path</code> for animations with
101+
multiple ASCII frames. You can use a <strong>single file</strong> with frames
102+
separated by <code>===</code> on their own line, or an <strong>array of files</strong>.
103103
</p>
104104

105105
<pre><code class="language-jsonc">{
@@ -114,7 +114,7 @@
114114
}
115115
</code></pre>
116116

117-
<p>O con múltiples archivos:</p>
117+
<p>Or with multiple files:</p>
118118

119119
<pre><code class="language-jsonc">{
120120
"ascii": "~/.config/xfetch/logos/blink_open.txt",

plugins/README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<h1>Plugins</h1>
2+
3+
<p>
4+
xfetch supports third-party plugins that extend its functionality. Plugins run as
5+
separate executables and communicate with xfetch over stdin/stdout using a JSON
6+
protocol. This keeps the plugin system decoupled, allowing plugins to be installed,
7+
removed, and updated independently of the core binary.
8+
</p>
9+
10+
<h2>Installing a Plugin</h2>
11+
12+
<p>From a local path:</p>
13+
14+
<pre><code>xfetch plugin install ./plugins/my-plugin</code></pre>
15+
16+
<p>From the default remote repository (GitHub):</p>
17+
18+
<pre><code>xfetch plugin install my-plugin</code></pre>
19+
20+
<h2>Listing Installed Plugins</h2>
21+
22+
<pre><code>xfetch plugin list</code></pre>
23+
24+
<h2>Removing a Plugin</h2>
25+
26+
<pre><code>xfetch plugin remove my-plugin</code></pre>
27+
28+
<h2>Available Plugins</h2>
29+
30+
<table>
31+
<thead>
32+
<tr>
33+
<th>Plugin</th>
34+
<th>Description</th>
35+
</tr>
36+
</thead>
37+
<tbody>
38+
<tr>
39+
<td><code>animate-logo</code></td>
40+
<td>
41+
Animates the ASCII logo with multiple styles (sweep, wave, rainbow,
42+
sparkle, breathing, frame). See
43+
<a href="./animate-logo/README.md">animate-logo/README.md</a>.
44+
</td>
45+
</tr>
46+
</tbody>
47+
</table>
48+
49+
<h2>Plugin Directory</h2>
50+
51+
<p>
52+
Installed plugin binaries are stored in the xfetch plugin directory:
53+
</p>
54+
55+
<ul>
56+
<li><strong>Linux/macOS:</strong> <code>~/.config/xfetch/plugins/</code></li>
57+
<li><strong>Windows:</strong> <code>%APPDATA%/xfetch/plugins/</code></li>
58+
</ul>
59+
60+
<h2>Creating a Plugin</h2>
61+
62+
<p>
63+
See <a href="./docs/README.md">plugins/docs/README.md</a> for the full
64+
plugin development guide, including the protocol specification, conventions,
65+
and contribution guidelines.
66+
</p>

plugins/animate-logo/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ All characters fade in and out in a warm amber tone (breathing effect).
7676

7777
### `frame` — ASCII Frame Animation
7878

79-
Cycles through multiple ASCII art frames to create animations. Puedes definirlas
80-
como un **array de archivos** o en un **solo archivo** separado por `===`:
79+
Cycles through multiple ASCII art frames to create animations. You can define them
80+
as an **array of files** or in a **single file** separated by `===`:
8181

82-
#### Un solo archivo con separador `===`
82+
#### Single file with `===` separator
8383

84-
Crea un archivo (ej. `blink.txt`) con todas las frames separadas por `===`:
84+
Create a file (e.g. `blink.txt`) with all frames separated by `===`:
8585

8686
```
8787
.---.
@@ -122,7 +122,7 @@ Crea un archivo (ej. `blink.txt`) con todas las frames separadas por `===`:
122122
}
123123
```
124124

125-
#### Múltiples archivos
125+
#### Multiple files
126126

127127
```jsonc
128128
{
@@ -142,8 +142,8 @@ Crea un archivo (ej. `blink.txt`) con todas las frames separadas por `===`:
142142
}
143143
```
144144

145-
> El campo `ascii` se usa como fallback estático.
146-
> Pon `fps` bajo (2-6) para animaciones por frames. El delimitador debe ir en su propia línea.
145+
> The `ascii` field is used as a static fallback.
146+
> Use low `fps` (2-6) for frame animations. The delimiter must be on its own line.
147147
148148
### `none`
149149

@@ -176,7 +176,7 @@ plugins/animate-logo/assets/xfetch_logo.txt
176176

177177
### Blinking Eye (frame animation)
178178

179-
Incluido en un solo archivo:
179+
Included in a single file:
180180

181181
```
182182
plugins/animate-logo/assets/blink.txt

plugins/animate-logo/assets/blink.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,10 @@
2020
/ \
2121
| O O |
2222
| --- |
23+
\_____/
24+
===
25+
.---.
26+
/ \
27+
| O O |
28+
| ^ |
2329
\_____/

0 commit comments

Comments
 (0)