You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bashme is a JavaScript library which provides a nerdy way to tell people about you. It was created with the intention to use it as a resumé replacement but it can also have other use cases. It aims to be customizable, extensible and easy to use.
3
+
Bashme is a library which provides a nerdy way to tell people about you. It was created with the intention to use it as a resumé replacement but I it can have other use cases. It aims to be customizable, extensible and easy to use.
4
+
5
+
## Demo
6
+
7
+
Play with it in my personal website: http://agurodriguez.net
> If you use react, you can try [react-bashme](https://github.com/agurodriguez/react-bashme).
24
28
25
-
## Contributing
29
+
## A bit into the code
26
30
27
-
### About the `bashme` instance
31
+
### The `Bashme` instance
28
32
29
-
A `bashme` instance is the library's entry point and is reponsible to process input/output from/to the terminal and to run the tasks related to every given command.
33
+
`Bashme`is the main class which acts as library's entry point. It's reponsible for processing the input/output from/to the terminal and for running the tasks related to every given command.
30
34
31
-
It has two important methods, `use` and `show`, explained in the following paragraphs:
35
+
It has two important methods, `use` and `show`:
32
36
33
-
#### `use(infoProvider: InfoProvider)`
37
+
#### `use(provider: IProvider)`
34
38
35
-
This method registers a new `InfoProvider` in the `bashme` instance. When the `InfoProvider` is registerd it adds commands to the `bashme` instance that can be called by the user.
39
+
This method registers a new `IProvider` in the `Bashme` instance. When the `IProvider` is registerd it adds commands to the `Bashme` instance that can be called by the user.
36
40
37
41
#### `show(domElement: HTMLElement)`
38
42
39
43
This method converts an `HTMLElement` into a full interactive terminal (Using [`xterm.js`]()) to allow users to write the commands they want to execute.
40
44
41
-
### Adding an InfoProvider
45
+
### Providers
46
+
47
+
A provider is a class that implements the [`IProvider`](src/provider/types/index.ts) interface and provides commands to the `Bashme` instance that the user can then execute.
48
+
49
+
### Commands
50
+
51
+
A command is a class that inhertis from the [`AsyncCommand`](src/command/types/index.ts) or the [`SyncCommand`](src/command/types/index.ts) classes and are used to perform some specific action.
A provider is a class that implements the [`InfoProvider`]() interface and is reponsible for filling the [`resumé`]() properties and for adding commands to the `bashme` instance.
88
+
[MIT License](LICENSE)
44
89
45
-
### Adding a Command
90
+
Copyright (c) 2018 Agustín Rodríguez
46
91
47
-
A command is a class that implements the [`Command`]() interface and is used to perform some actions when a specific command is given.
92
+
Permission is hereby granted, free of charge, to any person obtaining a copy
93
+
of this software and associated documentation files (the "Software"), to deal
94
+
in the Software without restriction, including without limitation the rights
95
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
96
+
copies of the Software, and to permit persons to whom the Software is
97
+
furnished to do so, subject to the following conditions:
0 commit comments