go-shiori / shiori Goto Github PK
View Code? Open in Web Editor NEWSimple bookmark manager built with Go
License: MIT License
Simple bookmark manager built with Go
License: MIT License
I created several test links with the web front end, and tried deleting one. I got an error message, "no token present in request".
Error message :
github.com/RadhiFadlillah/shiori/assets
assets\assets.go:197:16: too many arguments in call to FS.Mkdir
have ("golang.org/x/net/context".Context, string, number)
want (string, os.FileMode)
assets\assets.go:202:16: too many arguments in call to FS.Mkdir
have ("golang.org/x/net/context".Context, string, number)
want (string, os.FileMode)
assets\assets.go:207:16: too many arguments in call to FS.Mkdir
have ("golang.org/x/net/context".Context, string, number)
want (string, os.FileMode)
assets\assets.go:212:16: too many arguments in call to FS.Mkdir
have ("golang.org/x/net/context".Context, string, number)
want (string, os.FileMode)
assets\assets.go:233:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:259:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:285:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:311:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:337:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:363:22: too many arguments in call to FS.OpenFile
have ("golang.org/x/net/context".Context, string, int, number)
want (string, int, os.FileMode)
assets\assets.go:363:22: too many errors
Error: process exited with code 2.
I can't build this as there's a missing assets
package, referenced from serve.go
Set up tests, at least for ./cmd
Can work on this.
Running shiori import test.html
(from the uncompressed attachment) doesn't add tags to the links.
I often find a couple of duplicate links on my Pocket account. It doesn't happen with links that I've added recently but there are quite a few old links that have a lot of duplicates and no easy means to remove them.
Just wanted to know about this before I considered moving over. Thank you!
When adding a bookmark with the web frontend, the initial update time shows as: NaN-aN-...
看了一下源码用的标准http库,可以在serve里增加https支持,会不会更好些
I looked at the source code and it seems shiori
is using standard http server. I think it will be better if you can add https support in the serve
.
Hi, just installed shiori on a server and trying it out. Looks great!
Unfortunately, I added a few bookmarks and none of them generated any cached versions. In what conditions does this happen? Is there some dependency that I have to install on my server?
Thanks
Why not comma-separate the tags and allow spaces and hence multi-word tags like "retro computing" or "video games"?
I'd love to import my delicious profile into shiori, but that currently breaks it.
Is this a strong design decision or would you be open to merging such a change?
Hi,
great work.
it would be nice to have a 1-click deployment on Heroku for example (or something similar).
Tag auto completion for users which has hundreds of tags should be good.
Also using comma instead of space for tagging should be good.
Trying to update all bookmarks, not specifying an index, i get the crash below. Updating a single bookmark by index works fine.
./shiori update --dont-overwrite -y
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x744e55]
goroutine 1366 [running]:
github.com/RadhiFadlillah/go-readability.toAbsoluteURI(0xc422db3f40, 0x1a, 0xc420881680, 0xc422db3f00, 0x1a)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/go-readability/read.go:945 +0x95
github.com/RadhiFadlillah/go-readability.fixRelativeURIs.func1(0x0, 0xc4206ad440)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/go-readability/read.go:966 +0xaa
github.com/PuerkitoBio/goquery.(*Selection).Each(0xc4206ad2c0, 0xc4201f3b70, 0x1)
/home/muesli/Sources/go/src/github.com/PuerkitoBio/goquery/iteration.go:10 +0x53
github.com/RadhiFadlillah/go-readability.fixRelativeURIs(0xc422882b70, 0xc420881680)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/go-readability/read.go:958 +0x72
github.com/RadhiFadlillah/go-readability.postProcessContent(0xc422882b70, 0xc420881680)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/go-readability/read.go:980 +0x35
github.com/RadhiFadlillah/go-readability.Parse(0xc420236bc0, 0x1f, 0x2540be400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/go-readability/read.go:1156 +0x177
github.com/RadhiFadlillah/shiori/cmd.updateBookmarks.func1(0xc420852b60, 0x0, 0xc4204601f0, 0xc4204e6000, 0x253, 0x400, 0x74, 0x75, 0xc420236bc0, 0x1f, ...)
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/shiori/cmd/update.go:141 +0xaa
created by github.com/RadhiFadlillah/shiori/cmd.updateBookmarks
/home/muesli/Sources/go/src/github.com/RadhiFadlillah/shiori/cmd/update.go:138 +0xcdb
I'm trying to host shiori on port 7777 and then proxy pass https://localhost/shiori/ to that port, but when I do using this nginx config:
location /shiori/ {
rewrite ^/shiori/(.*)$ /$1 break;
proxy_pass http://localhost:7777;
proxy_redirect http://localhost:7777/ $scheme://$host/shiori/;
}
I get this result:
This page isn’t working
And the URL shows:
Any ideas? Seems like shiori redirects to /
(root).
Manually going to localhost/shiori/login
brings up a broken login page, seemingly without both css, images, etc (can't click on anything).
Hi,
I was looking at this product and I really like it. Although I was thinking you could consider adding as a feature the possibility to generate a static output for the web, which could be used and hosted afterwards on Github Pages.
This means having a possibility to collect bookmarks and publish them from time to time.
Please consider this. Thank you in advance!
Any chance for a dark theme being included ? Or (ideally I suppose) some way to define your own.
This is a beautiful project! I've imported 500+ bookmarks and it can be a little hard to find what I want, when I'm not 100% sure.
I think it would be useful to change the "Reload" icon at the top-right with a link to a tag-cloud view. A user who wants to reload could just use "F5" - unless I misunderstand what that link does.
Seeing all the tags in one place is likely to be a useful thing, and help show more data. (Because the thumbnail view of the main index means it takes up a lot of space.)
After one day of using Shiori locally, I'm hooked. I think it would be a great addition to the Cloudron.io app selection, too.
Cloudron is "...a platform to run apps on your server and keep them up-to-date and secure." Basically a self-hosting platform with one-click app installs.
Today, if you delete a bookmark, it could change the index of other bookmarks.
That changes the cache URL of other bookmarks, which can lead to surprising results if you've recorded that URL somewhere else.
Invalid and unresolved URLs are currently allowed for bookmarking, where the bookmark is added but an error logged on stdout, eg bad cert, unsupported protocol.. https://github.com/RadhiFadlillah/shiori/blob/9d3c8eedf9379edd3ab2bce974e912f4b579ae97/cmd/add.go#L72
For URLs without no protocol http/ftp/https/etc is an actual error / preventing addition a good idea? like pocket does:
Updating all bookmarks from the console with shiori update -y
can take some time if you've stored hundreds or thousands of them. Currently shiori seems to update them all and only then prints out the results to the screen.
It would be nice if it could continuously update the progress. Maybe even display a nice little progress bar? Checkout https://github.com/muesli/goprogressbar for some inspiration.
This looks like a great project, but it would be really useful to run this on Windows (I can use a wrapper to either run it as a service or on login)
Would it be possible to add a Windows build in the releases?
Is it possible to add a parameter to use another port than 8080 in serve-mode?
This could be a killer feature to drive adoption of shiori.
Should I add a bookmark using only CLI? There seems no add feature on Web GUI
Crawl and store a copy of all bookmarks, and display a special icon you can click to see the cached copy. If the page you bookmarked goes offline, you'll still be able to see the archived copy indefinitely.
Hello,
First, thanks for doing this! It's pretty impressive.
However, the web-page view has a form that expands when you enter a new URL, with the title field having the placeholder text "Custom bookmark title (optional)". When you save without a title, it works fine, unless the URL returns "unauthorized". Then you're told "Title must not empty".
I accidentally set up a link to a page that requires a login, and saw this.
I want to load full page content for all my bookmarks, unfortunately I could not find this functionality.
Instead of rendering the HTML I get to see text like this:
<p></p><div><div><p name="154c">Burton Howard Bloom, the eponymous hero of our tale, and, it has to be said, possessed of a name with a very pleasing cadence — <em>Bur-ton-Ho-ward-Bloom</em>
...
When adding a bookmark, add an option to strip UTM parameters.
Last feature request for now, I promise!
I've imported hundreds of bookmarks from delicious and I'd like to import pictures and cache those pages (ideally in batch-mode). Clicking the update
button in the web interface does that, but it also updates the title of my bookmark. Is there a way to only fetch missing metadata?
When updating a bookmark with shiori update --dont-overwrite
the last update's timestamp isn't saved.
I tried adding "https://eco.com" and got this error:
Failed to fetch article from internet: Get https://eco.com: x509: certificate signed by unknown authority
When using the cli interface I keep typing shiori list
, I think it is the muscle memory, am I the only one?
Recently, I was using shiori from different locations, and realized that a database is created where I use it on-demand. It would be useful if I could specify a static location to store the database, maybe through a parameter.
Trying to import the attached file (unarchived) results in no new entries. Tried it with a bigger file too (500+ entries).
In release page, you wrote:
Thanks to Go, this app should work in Windows, MacOS and Linux. However, since I only able to test it in my workstation, I only put the binary for Linux 64-bit. Sorry for the inconvenience.
I think gox can solve this problem for you
Version: commit 837c470
OS: Linux (Debian 9)
Browser: Chromium 66.0.3357.0
Problem: The application's web page forces the user to scroll horizontally, which is not ergonomically efficient.
Reproducibility: have not tried (no FF/Safari/IE at the moment).
Possible underlying problem: card names are too long for a three-column layout to fit the screen width.
travis-ci / appveyor / etc... pick your poison.
Hi,
I was also considering look at your product that you could consider adding a REST API that could be used as an interface for Browser integration. This would come very hands with the feature #40 so you could enable an easy flow to collect bookmarsk and to publish them.
Thank you in advance.
I would suggest using the user’s home directory for the default location of the shiori database.
I call shiori from different contexts where “current directory” is not well-defined (nor the same).
I know I can set ENV_SHIORI_DB
but since I am on macOS this is a bit tedious because GUI applications do not inherit environment variables setup in the shell, so this will need to be set in multiple places.
If you agree I suggest prefixing it with a dot to make it a hidden file, e.g. ~/.shiori_db
.
I realize this might be very unixy, but it already seems rather unixy with a shell command to manage your bookmarks.
The excerpt extraction for https://www.programming-books.io/essential/go/
does not work as expected.
It displays ↑ ↓ to navigate ↵ to select Esc to close
and even when I edit the excerpt to have it empty, it fills in the excerpt again.
My expected behaviour would have been to be able to set the excerpt explicitly to an empty string
Add server timeouts to avoid leaking file descriptors in case of slow or disappearing clients.
I tried PR #8 instructions but it isn't working
I am a NodeJS
developer but I know how to install with GoLang
So I installed Go
with brew install go
& go version
gives me go version go1.10 darwin/amd64
Then I did go get github.com/RadhiFadlillah/shiori
& when I try shiori
it gives me zsh: command not found: shiori
When adding or updating a bookmark, Shiori currently grabs the image url from the meta tags of the site (https://github.com/RadhiFadlillah/shiori/blob/master/cmd/add.go#L71).
However, if a site doesn't have an image, none is assigned.
Ideally, if no image is available, Shiori could generate one using PhantomJS or Chrome Headless. One Golang project to do so is Gowitness (go + chrome headless).
I just bookmarked recipe pages and found that the cache contains almost no information, e.g.:
https://www.allrecipes.com/recipe/7565/too-much-chocolate-cake/
When I bookmark that page I see a nice picture, a good heading and some okay description on the index page. But when I open the cache I see just the heading. On another page I bookmarked, I saw that it did not include the ingredients (and no picture):
http://bioplanete.com/en/lifes-delights/recipes/Vegetable-Chips-1.html
I have no idea how the cache actually works, but I think that it is too strict in these cases and that kinda makes it useless while the idea is really strong.
Btw. after using shiori for a few minutes, I really like it 👍
I have NETSCAPE-Bookmark-file exported from Firefox. It contains TAGS
parameter with tags for each bookmark. It would be nice if shiori could import this tags.
It would awesome if Shiori could sync with the open source Nextcloud Bookmarks app and make use of the browser extensions. Should be do-able when #41 is integrated. Also referenced in Nextcloud Bookmarks issue #438
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.