80 lines
2.0 KiB
Markdown
80 lines
2.0 KiB
Markdown
# url snail
|
|
|
|
A little project because I haven't made anything new in a while, I would like to learn Laravel, and maybe I don't need to use Pinboard.in any more.
|
|
|
|
![Screenshot of the bookmark index in url snail](https://i.abackstrom.com/share/urlsnail/screenshots/2024-05-25.webp)
|
|
|
|
## Ideas
|
|
|
|
* [x] Import from Pinboard.in JSON export
|
|
* [x] Bookmark permalink
|
|
* [x] Bookmark index
|
|
* [x] Bookmark pagination
|
|
* [x] Bookmark editing (title, description, url)
|
|
* [x] Bookmark tag editing
|
|
* [x] Create new bookmark
|
|
* [ ] Delete bookmark
|
|
* [ ] Tag cloud
|
|
* [x] Tag permalink
|
|
* [ ] Multi-user support
|
|
|
|
## Developing
|
|
|
|
Get the code:
|
|
|
|
```
|
|
git clone https://git.abackstrom.com/annika/urlsnail.git
|
|
cd urlsnail
|
|
```
|
|
|
|
Set up the Laravel `.env` file and SQLite database:
|
|
|
|
```
|
|
composer install
|
|
cp .env.example .env
|
|
php artisan key:generate
|
|
php artisan migrate # database schema
|
|
```
|
|
|
|
Build the CSS with Vite:
|
|
|
|
```
|
|
npm install
|
|
npm run build # `npm run dev` if you want css live reloading
|
|
```
|
|
|
|
Start the web server:
|
|
|
|
```
|
|
php artisan serve
|
|
```
|
|
|
|
If you need to process queued jobs (e.g. import bookmarks):
|
|
|
|
```
|
|
php artisan queue:work -v
|
|
```
|
|
|
|
### Laravel Herd
|
|
|
|
If you have [Laravel Herd](https://herd.laravel.com/) installed, you can clone the repository to one of your Herd
|
|
paths (e.g. `~/Herd`) and view the site at [http://urlsnail.test](http://urlsnail.test), no need
|
|
to run `php artisan serve`.
|
|
|
|
## License
|
|
|
|
This project is Copyright ©2024 Annika Backstrom.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as
|
|
published by the Free Software Foundation, either version 3 of the
|
|
License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|