pull/31/merge
viscory 3 years ago committed by GitHub
commit 2017daa877
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,131 +0,0 @@
# [💻 LiveTerm - build terminal styled websites in minutes!](https://liveterm.vercel.app)
Highly customizable, easy-to-use, and minimal terminal styled website template, powered by Next.js.
Building a simple website with LiveTerm only takes **minutes**, and you only need to work with **one** file: `config.json`. After you cloned this repository, simply run `yarn install && yarn dev` and start editing `config.json` to build your website!
LiveTerm can be used to build a variety of websites:
- [personal website](https://cveinnt.com)
- [browser startpage](https://livetermstart.vercel.app/)
- [project page](https://liveterm.vercel.app/)
- or maybe just a cool browser music player...be creative!
Feel free to play with the web demo above!
## 📸 Showcase
<p align="center">
<img src="./demo/demo.gif" width="600"><br>
<strong>LiveTerm with different themes</strong>
</p>
<p align="center">
<img src="./demo/cveinnt.png" width="600"><br>
<strong><a href="https://cveinnt.com" target=_blank>my personal website</a></strong>
</p>
## 🚀 Ship your LiveTerm site in less than 5 minutes
LiveTerm requires the `yarn` package manager. You can install `yarn` [here](https://classic.yarnpkg.com/lang/en/docs/install/).
Simply run the following commmand in your terminal:
```bash
sh -c "$(curl -fsSL https://raw.github.com/Cveinnt/LiveTerm/main/install/install.sh)"
```
This will install LiveTerm to the current directory. You can start building your website with:
```bash
cd LiveTerm && yarn dev
```
Start editing `config.json` and try saving and see the updated changes!
Alternatively, you can clone this repository to a location of your choosing
```bash
git clone https://github.com/Cveinnt/LiveTerm.git && cd LiveTerm
```
Then install dependencies and start developing there:
```bash
yarn install && yarn dev
```
### Docker Usage
First, clone the project and edit `config.json` to your liking. Then run the following to start the container in the background:
```shell
docker-compose up -d
```
If you **know** what you were doing, you can also try changing `Dockerfile` & `docker-compose.yml`!
Learn more about Docker [here](https://docs.docker.com/get-started/overview/ 'here').
## 📄 Configuration
### Basic Configuration
90% of LiveTerm's configurations are done through the `config.json` file.
```javascript
{
"readmeUrl": // create a Github README and link it here!
"title": // title of the website
"name": // your name, included in 'about' command
"ascii": // ascii art to display
"social": {
"github": // your handle
"linkedin": // your handle
},
"email": // your email
"ps1_hostname": "liveterm" // hostname in prompt
"ps1_username": "visitor", // username in prompt
"resume_url": "../resume.pdf", // path to your resume
"non_terminal_url": "W",
"colors": {
"light": {
...
},
"dark": {
... // you can use existing templates in themes.json or use your own!
}
}
}
```
Feel free to change it as you see fit!
### Themes
You can find several pre-configured themes in `themes.json`, and you can replace the colors in `config.json` with the theme color you like! The themes are based on the themes on [this website](https://glitchbone.github.io/vscode-base16-term/#/).
For a better preview of the themes, checkout the images in the `demo` folder.
### Favicons
Favicons are located in `public/`, along with the other files you may want to upload to your website. I used this [website](https://www.favicon-generator.org/) to generate favicons.
### Banner
You may also want to change the output of the `banner` command. To do that, simply paste your generated banner in `src/utils/bin/commands.ts`. I used this [website](https://manytools.org/hacker-tools/ascii-banner/) to generate my banner.
### Advanced Configuration
If you want to further customize your page, feel free to change the source code to your liking!
## 🌐 Deploy on Vercel
The easiest way to deploy a Next.js app is to use the [Vercel Platform](https://vercel.com/) from the creators of Next.js.
You can install `vercel` cli and follow the instruction [here](https://vercel.com/docs/concepts/deployments/overview).
You can also connect your github account to vercel and have vercel automatically deploy the github repository for you.
## Credit
Based on M4TT72's awesome [Terminal](https://github.com/m4tt72/terminal).

@ -1,20 +1,19 @@
{
"readmeUrl": "https://raw.githubusercontent.com/cveinnt/cveinnt/master/README.md",
"title": "LiveTerm",
"name": "John Doe",
"ascii": "liveterm",
"title": "Are you really reading this title?",
"name": "Faiyaz Rahman",
"ascii": "f41yaz",
"social": {
"github": "github",
"linkedin": "linkedin"
"github": "viscory",
"linkedin": "faiyazr"
},
"email": "contact@email.com",
"ps1_hostname": "liveterm",
"ps1_username": "visitor",
"repo": "https://github.com/Cveinnt/LiveTerm",
"resume_url": "https://upload.wikimedia.org/wikipedia/commons/c/cc/Resume.pdf",
"email": "faiyaz_r@outlook.com",
"ps1_hostname": "here",
"ps1_username": "guest",
"repo": "https://github.com/viscory/viscory.github.io",
"resume_url": "http://docs.google.com/document/d/12UwAGKPOlG3jmRZr2tO2BVqtX4pYZhmm6TAyGBRDEBQ/export?format=pdf",
"donate_urls": {
"paypal": "https://paypal.me/cveinnt",
"patreon": "https://patreon.com/cveinnt"
"wallet": "0x2BA1c436eF129966b6268a63E0f905f2D4FF09bd"
},
"colors": {
"light": {

@ -0,0 +1,3 @@
<meta http-equiv="refresh" content="1;url=https://viscory-github-io.vercel.app/" />

@ -47,8 +47,7 @@ export const resume = async (args: string[]): Promise<string> => {
export const donate = async (args: string[]): Promise<string> => {
return `thank you for your interest.
here are the ways you can support my work:
- <u><a class="text-light-blue dark:text-dark-blue underline" href="${config.donate_urls.paypal}" target="_blank">paypal</a></u>
- <u><a class="text-light-blue dark:text-dark-blue underline" href="${config.donate_urls.patreon}" target="_blank">patreon</a></u>
- <u><a class="text-light-blue dark:text-dark-blue underline" href="${config.donate_urls.wallet}" target="_blank">ETH</a></u>
`;
};
@ -77,7 +76,7 @@ export const google = async (args: string[]): Promise<string> => {
};
export const duckduckgo = async (args: string[]): Promise<string> => {
window.open(`https://duckduckgo.com/?q=${args.join(' ')}`);
window.open(`https://duckduckgo.com/?q=${args.join(' ')} `);
return `Searching duckduckgo for ${args.join(' ')}...`;
};
@ -122,7 +121,7 @@ export const vi = async (args: string[]): Promise<string> => {
};
export const vim = async (args: string[]): Promise<string> => {
return `'vim' is so outdated. how about 'nvim'?`;
return `'vim' is vintage. but i've heard 'nvim' is cool.`;
};
export const nvim = async (args: string[]): Promise<string> => {
@ -138,6 +137,23 @@ export const sudo = async (args?: string[]): Promise<string> => {
return `Permission denied: with little power comes... no responsibility? `;
};
export const doas = async (args?: string[]): Promise<string> => {
window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank'); // ...I'm sorry
return `Permission denied: with little power comes... no responsibility?, at least you aren't bloated `;
};
export const env = async (args?: string[]): Promise<string> => {
return `whatcha looking for over here`;
};
export const shutdown = async (args?: string[]): Promise<string> => {
return `nice try, try reboot instead`;
};
export const reboot = async (args?: string[]): Promise<string> => {
return `why do you hate me`;
};
// Banner
export const banner = (args?: string[]): string => {
return `

@ -1,46 +1,33 @@
import config from '../../../config.json';
const sumfetch = async (args: string[]): Promise<string> => {
if (config.ascii === 'cveinnt') {
return `
@@@@@@@@@@@@@ sumfetch: summary display
@@@@ @@@@ -----------
@@ @@ ABOUT
@@ @@ ${config.name}
@@ @@ ${config.ps1_hostname}
@@ @@@ @@ <u><a href="${config.resume_url}" target="_blank">resume</a></u>
@@ @@@ @@ <u><a href="${config.repo}" target="_blank">Github repo</a></u>
@@ @@ -----------
@@ .@@@@@@@@@@. @@ CONTACT
@@ @@ @@ @@ <u><a href="mailto:${config.email}" target="_blank">${config.email}</a></u>
@@ @@ @@ @@ <u><a href="https://github.com/${config.social.github}" target="_blank">github.com/${config.social.github}</a></u>
@@ @@@@@@ @@ <u><a href="https://linkedin.com/in/${config.social.linkedin}" target="_blank">linkedin.com/in/${config.social.linkedin}</a></u>
@@@ @@@ -----------
@@@ @@@ @@ DONATE
@| @@@@@@@@@@@@@@@@ @@ <u><a href="${config.donate_urls.paypal}" target="_blank">${config.donate_urls.paypal}</a></u>
@| @@ <u><a href="${config.donate_urls.patreon}" target="_blank">${config.donate_urls.patreon}</a></u>
return `
sumfetch: a summary
-----------
ABOUT
${config.name}
${config.ps1_hostname}
<u><a href="${config.resume_url}" target="_blank">resume</a></u>
<u><a href="${config.repo}" target="_blank">Github repo</a></u>
-----------
CONTACT
<u><a href="mailto:${config.email}" target="_blank">${config.email}</a></u>
<u><a href="https://github.com/${config.social.github}" target="_blank">github.com/${config.social.github}</a></u>
<u><a href="https://linkedin.com/in/${config.social.linkedin}" target="_blank">linkedin.com/in/${config.social.linkedin}</a></u>
-----------
DONATE
Ξ <u><a href="${config.donate_urls.wallet}" target="_blank">${config.donate_urls.wallet}</a></u>
</a></u>
`;
} else {
return `
  sumfetch
    -----------
      ABOUT
  ${config.name}
        <u><a href="${config.resume_url}" target="_blank">resume</a></u>
<u><a href="${config.repo}" target="_blank">Github repo</a></u>
  -----------
  > L I V E T E R M CONTACT
  <u><a href="mailto:${config.email}" target="_blank">${config.email}</a></u>
<u><a href="https://github.com/${config.social.github}" target="_blank">github.com/${config.social.github}</a></u>
        <u><a href="https://linkedin.com/in/${config.social.linkedin}" target="_blank">linkedin.com/in/${config.social.linkedin}</a></u>
  -----------
        DONATE
   <u><a href="${config.donate_urls.paypal}" target="_blank">${config.donate_urls.paypal}</a></u>
  <u><a href="${config.donate_urls.patreon}" target="_blank">${config.donate_urls.patreon}</a></u>
`;
}
};
export default sumfetch;

Loading…
Cancel
Save