Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arran4/gobookmarks
Landing page for when you open browers / live bookmarks in go. -- AI based C -> Go port - Manually adjusted to use github as the backend and simplified
https://github.com/arran4/gobookmarks
bookmarks github github-api go golang home-page homepage live-bookmarks start-page startpage web
Last synced: 1 day ago
JSON representation
Landing page for when you open browers / live bookmarks in go. -- AI based C -> Go port - Manually adjusted to use github as the backend and simplified
- Host: GitHub
- URL: https://github.com/arran4/gobookmarks
- Owner: arran4
- License: agpl-3.0
- Created: 2023-09-27T03:16:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-26T01:07:24.000Z (3 months ago)
- Last Synced: 2024-08-26T02:26:15.986Z (3 months ago)
- Topics: bookmarks, github, github-api, go, golang, home-page, homepage, live-bookmarks, start-page, startpage, web
- Language: Go
- Homepage:
- Size: 1.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gobookmarks
![logo.png](logo.png)
The purpose of the site is to display a list of links for you to see every time you open your browser. I have tried to
move as much of the work into the app as possible with minimal effort but you will need to use github occasionally.![img_4.png](media/img_4.png)
This project is a converstion of a project: [goa4web-bookmarks](https://github.com/arran4/goa4web-bookmarks) to remove
the SQL and replace it with Github. Which itself is extract from [goa4web](https://github.com/arran4/goa4web), which is
a Go port of a C++ site I made in 2003. Ported using ChatGPT: [a4web](https://github.com/arran4/a4web). It's all been
minimally modified and as close to the original as I could get but with the changes I required. I made modifications to
this because [StartHere](https://github.com/arran4/StartHere) my SPA version using modern tech failed because of Github
Oauth2 restrictions on SPA sites. You can read more about this here: https://arranubels.substack.com/p/quicklinks# How to use
1. Create a (private or public doesn't matter) repo in github under your user name called: "MyBookmarks"
2. Create 1 file in it called `bookmarks.txt` Put the following content (or anything you want really):
```text
Category: Search
http://www.google.com.au Google
Category: Wikies
http://en.wikipedia.org/wiki/Main_Page Wikipedia
http://mathworld.wolfram.com/ Math World
http://gentoo-wiki.com/Main_Page Gentoo-wiki
```
Ie:
![img_3.png](media/img_3.png)
3. Goto the URL this app is deployed at, your private instance or: https://bookmarks.arran.net.au
4. Enjoy## File format
It's a basic file format. Every command must be on it's own line empty lines are ignored.
| Code | Meaning |
|------------------------|--------------------------------------------------------------|
| `Category: ` | Will create a category title. |
| `` | Will create a link to `` with the display name `` |
| ` ` | Will create a link to `` with the display name `` |
| `Column` | Will create a column |![img.png](media/img.png)
![img_1.png](media/img_1.png)
![img_2.png](media/img_2.png)
# How to setup for yourself
You can run this yourself. There is a docker version available under my github packages. There are also precompiled versions
under the releases section of this git repo: https://github.com/arran4/StartHere/releasesYou will require 3 environment arguments:
| Arg | Value |
| --- |--------------------------------------------------------------------------------------------------|
| `OAUTH2_CLIENT_ID` | The Client ID generated from setting up Oauth2 on github: https://github.com/settings/developers |
| `OAUTH2_SECRET` | Secret ID generated from setting up Oauth2 on github: https://github.com/settings/developers |
| `EXTERNAL_URL` | The fully qualified URL that it is to accept connections from. Ie `http://localhost:8080` |## Oauth2 setup
Visit: https://github.com/settings/developers
Create an application, call it what ever you like. Set the Callback URL what ever you put in `EXTERNAL_URL` and add:
`/oauth2Callback` to the end, ie if you entered: `http://localhost:8080` it should be: `http://localhost:8080/oauth2Callback`Upload `logo.png` for the logo.
Generate a secret key and use it for the environment variables with the Client Id.