|
||
---|---|---|
app | ||
bootstrap | ||
config | ||
database | ||
public | ||
resources | ||
routes | ||
storage | ||
tests | ||
.editorconfig | ||
.env.example | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
artisan | ||
composer.json | ||
composer.lock | ||
package-lock.json | ||
package.json | ||
phpunit.xml | ||
postcss.config.js | ||
tailwind.config.js | ||
vite.config.js |
README.md
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.
Ideas
- Import from Pinboard.in JSON export
- Bookmark permalink
- Bookmark index
- Bookmark pagination
- Bookmark editing (title, description, url)
- Bookmark tag editing
- Create new bookmark
- Delete bookmark
- Tag cloud
- 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 installed, you can clone the repository to one of your Herd
paths (e.g. ~/Herd
) and view the site at 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/.