LafTools - The next generation of a versatile toolbox designed for programmers
Note: This page is generated from LafTools internally.
English | 简体中文 | 繁體中文 | Deutsch | Español | Français | 日本語 | 한국어 | More
To quickly use these functions, we've provided stable online website in CN and US region for you to use. Most tools are available in our online websites except for some tools that rely on specific OS capablities.
- 🇺🇸 United State: laftools.dev
- 🇨🇳 China Mainland: laf-tools.com
You may wonder why we are determined to develop this toolbox as there are numerous tools can be used on the Internet. Indeed, most tools we have provided can be easily found on the Internet, such as codec, formatter, translation, QR Code, etc… However, it is not the most comfortable and efficient approach to use these tools.
Have you ever met the below issues while using those online tools?
- No Offline Accessibility.
- No Global Dark Theme.
- No Productive UI style.
- Poor Network Performance.
- Upsetting Advertisements.
- Data Leakage Issue.
If the answer to any of the above is yes, then you should consider trying our toolbox. It offers the following features:
- FOSS Forever
- Lightweight Runtime
- Full platform support(including ARMv8)
- Full GPT-alike support
- Highly integrated with productive UI
- Available Docker Images and Portable Edition
- Extra helpers such as notes, manuals, etc...
LafTools is still under development, its UI, dependencies or prerequisites may changed as needed.
Recently, we are refactoring the architecture of LafTools based on next.js, below steps may changed as needed.
For the sake of simplicity, let's say that you've cloned this repository to either C:\Usersjerry\project\laftools-repo
on Windows or /Users/jerry/projects/laftools-repo
on Linux/MacOS, then you should declare env and set config below in your file ~/.bashrc, or simply execute them before running any command.
If you're using Windows OS, please ensure that all commands are executed in git-bash, learn more please refer to CONTRIBUTION. Apart from this, it is recommended to avoid using any whitespace or non-English characters in the file path where this project is located.
Env for Windows:
git config core.ignorecase false
export LAFTOOLS_ROOT="C:\users\jerry\project\laftools-repo"
export PATH=$PATH:$LAFTOOLS_ROOT\dev\source\windows-bin
Env for Linux/MacOS:
export LAFTOOLS_ROOT=/users/jerry/projects/laftools-repo
To run Go service in terminal, you can execute below command:
go run ./core/app.go server
To debug Go service, we have configured it in VSCode, you can just follow below steps:
- Enter Visual Studio Code
- Click "Run and Debug" on your sidebar
- Click "Run" button.
# install required global library
npm i -g pnpm ts-node typescript
# install project deps
cd $LAFTOOLS_ROOT && pnpm install
cd $LAFTOOLS_ROOT/modules/web && pnpm install
cd $LAFTOOLS_ROOT/modules/purejs && pnpm install
cd $LAFTOOLS_ROOT/devtools/scripts/scan && pnpm install
npm run win-clean # It's for Windows Only, it will close all terminals and previous processes.
# run web service on terminal 1
npm run fe-web
# run CSS processor on terminal 2
npm run fe-css
# run extra jobs on terminal 3
npm run fe-extra
Note that you can use the '&' symbol for background execution if you don't want to alternatively run these commands in separate terminal instances.
Once the Go service is running, you should be able to see a link printed out in the terminal. Now, copy this URL and paste it into your browser to start developing, let's go!
Example:
-----------------------------------------------
PLEASE ACCESS THE LINK BELOW IN BROWSER.
请复制下方链接并在浏览器端打开(for zh-hans users)
請復製下方鏈接並在瀏覽器端打開(for zh-hant users)
http://127.0.0.1:35000/app/entry?t={YOUR_SECRET_ID}
-----------------------------------------------
cd pipeline
./build-all.sh
The name of this project is inspired by Laffin' At Life, a classic country song from 1987 by Chet Atkins that also has a special place in the author's heart.
Hopefully LafTools will make your daily tasks easier, reducing the need for overtime and helping you maintain a healthy work-life balance, let us just laffin' at life!
Below are further materials that you can have a look if you'd like to learn more detail about this project:
We would appreciate talent artists who provided below beautiful icons: Ide icons created by umartvurdu - Flaticon
This project would not have been possible without awesome open source projects which I would like to personally express my deepest gratitude to:
- Blueprint UI - a React-based UI toolkit.
- CyberChef - a web app for encryption, encoding, compression and data analysis.
- Lodash - a modern JavaScript utility library delivering modularity, performance, & extras.
- one-api - an OpenAI key management & redistribution system.
For sure, there are other open source projects that have benefited and facilitated this project, which I couldn't detail in this part; Without these projects and these talent developers' efforts, LafTools would not have been possible.
Thank you!
Ryan Laf
Feb. 2nd, 2023
This project is protected under the GNU Affero General Public License, please see the LICENSE file for more details.