Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: regressions and documentation from 1.5.5 upgrade #837

Merged
merged 8 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
web: bin/shiori serve -p $PORT
web: bin/shiori server -p $PORT
61 changes: 30 additions & 31 deletions docs/Frequently-Asked-Question.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,26 @@

<!-- TOC -->

- [Frequently asked questions](#frequently-asked-questions)
- [General](#general)
- [What is this project ?](#what-is-this-project-)
- [How does it compare to other bookmarks manager ?](#how-does-it-compare-to-other-bookmarks-manager-)
- [What are the system requirements ?](#what-are-the-system-requirements-)
- [What is the status for this app ?](#what-is-the-status-for-this-app-)
- [Is this app actively maintained ?](#is-this-app-actively-maintained-)
- [How to make a contribution ?](#how-to-make-a-contribution-)
- [How to make a donation ?](#how-to-make-a-donation-)
- [What is this project ?](#what-is-this-project-)
- [How does it compare to other bookmarks manager ?](#how-does-it-compare-to-other-bookmarks-manager-)
- [What are the system requirements ?](#what-are-the-system-requirements-)
- [What is the status for this app ?](#what-is-the-status-for-this-app-)
- [Is this app actively maintained ?](#is-this-app-actively-maintained-)
- [How to make a contribution ?](#how-to-make-a-contribution-)
- [How to make a donation ?](#how-to-make-a-donation-)
- [Common Issues](#common-issues)
- [What is the default account to login at the first time ?](#what-is-the-default-account-to-login-at-the-first-time-)
- [Why my old accounts can't do anything after upgrading Shiori to v1.5.0 ?](#why-my-old-accounts-cant-do-anything-after-upgrading-shiori-to-v150-)
- [Failed to get bookmarks: failed to fetch data: no such module: fts4 ?](#failed-to-get-bookmarks-failed-to-fetch-data-no-such-module-fts4-)
- [What is the default account to login at the first time ?](#what-is-the-default-account-to-login-at-the-first-time-)
- [Why my old accounts can't do anything after upgrading Shiori to v1.5.0 ?](#why-my-old-accounts-cant-do-anything-after-upgrading-shiori-to-v150-)
- [`Failed to get bookmarks: failed to fetch data: no such module: fts4` ?](#failed-to-get-bookmarks-failed-to-fetch-data-no-such-module-fts4-)
- [Advanced](#advanced)
- [How to run shiori on start up ?](#how-to-run-shiori-on-start-up-)
- [How to run `shiori` on start up ?](#how-to-run-shiori-on-start-up-)

<!-- /TOC -->

# General
## General

## What is this project ?
### What is this project ?

Shiori is a bookmarks manager that built with Go. I've got the idea to make this after reading a comment on HN back in [April 2017](https://news.ycombinator.com/item?id=14203383) :

Expand Down Expand Up @@ -58,42 +57,43 @@ g. Storing everything in a git repository or simple file structure

I do like using bookmarks and those idea sounds useful to me. More importantly, it seems possible enough to do. Not too hard that it's impossible for me, but not too easy that it doesn't teach me anything. Looking back now, the only thing that I (kind of) managed to do is a, b, d and e. But it's enough for me, so it's fine I guess :laughing:.

## How does it compare to other bookmarks manager ?
### How does it compare to other bookmarks manager ?

To be honest I don't know. The only bookmarks manager that I've used is Pocket and the one that bundled in web browser. I do like Pocket though. However, since bookmarks is kind of sensitive data, I prefer it stays offline or in my own server.

## What are the system requirements ?
### What are the system requirements ?

It runs in the lowest tier of Digital Ocean VPS, so I guess it should be able to run anywhere.

## What is the status for this app ?
### What is the status for this app ?

It's stable enough to use and the database shouldn't be changed anymore. However, my bookmarks at most is only several hundred entries, therefore I haven't test whether it able to process or imports huge amount of bookmarks. If you would, please do try it.

## Is this app actively maintained ?
### Is this app actively maintained ?

Yes, however the development pace might be really slow. @fmartingr is the current active maintainer though @RadhiFadlillah or @deanishe may step and work on stuff from time to time or in other [go-shiori projects](https://github.com/go-shiori)

## How to make a contribution ?
### How to make a contribution ?

Just like other open source projects, you can make a contribution by submitting issues or pull requests.

## How to make a donation ?
### How to make a donation ?

If you like this project, you can donate to maintainers via:

- **fmartingr** [PayPal](https://www.paypal.me/fmartingr), [Ko-Fi](https://ko-fi.com/fmartingr)
- **RadhiFadlillah** [PayPal](https://www.paypal.me/RadhiFadlillah), [Ko-Fi](https://ko-fi.com/radhifadlillah)

# Common Issues
## Common Issues

### What is the default account to login at the first time ?

## What is the default account to login at the first time ?
A default account is created with the credentials:

The default account is `shiori` with password `gopher`.
It is removed once another 'owner' account is created.
- Username: `shiori`
- Password: `gopher`

## Why my old accounts can't do anything after upgrading Shiori to v1.5.0 ?
### Why my old accounts can't do anything after upgrading Shiori to v1.5.0 ?

This issue happened because in Shiori v1.0.0 there are no account level, which means everyone is treated as owner. However, in Shiori v1.5.0 there are two account levels i.e. owner and visitor. The level difference is stored in [database](https://github.com/go-shiori/shiori/blob/master/internal/database/sqlite.go#L42-L48) as boolean value in column `owner` with default value false (which means by default all account is visitor, unless specified otherwise).

Expand All @@ -108,15 +108,14 @@ So, as workaround for this issue, you should :

For more details see [#148](https://github.com/go-shiori/shiori/issues/148).

## `Failed to get bookmarks: failed to fetch data: no such module: fts4` ?
### `Failed to get bookmarks: failed to fetch data: no such module: fts4` ?

This happens to SQLite users that upgrade from 1.5.0 to 1.5.1 because of a breaking change. Please check the
[announcement](https://github.com/go-shiori/shiori/discussions/383) to understand how to migrate your database and move forward.

# Advanced
## Advanced


## How to run `shiori` on start up ?
### How to run `shiori` on start up ?

There are several methods to run `shiori` on start up, however the most recommended is running it as a service.

Expand Down Expand Up @@ -151,7 +150,7 @@ There are several methods to run `shiori` on start up, however the most recommen
Description=Shiori service

[Service]
ExecStart=/home/user/go/bin/shiori serve --portable
ExecStart=/home/user/go/bin/shiori server --portable
Restart=always

[Install]
Expand All @@ -168,7 +167,7 @@ There are several methods to run `shiori` on start up, however the most recommen

[Service]
Type=simple
ExecStart=/usr/bin/shiori serve
ExecStart=/usr/bin/shiori server
Restart=always
User=shiori
Group=shiori
Expand Down
24 changes: 10 additions & 14 deletions docs/Usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Before using `shiori`, make sure it has been installed on your system. By defaul
- [Search syntax](#search-syntax)
- [Using Web Interface](#using-web-interface)
- [Community contributions](#community-contributions)
- [Improved import from Pocket](#improved-import-from-pocket)
- [Import from Wallabag](#import-from-wallabag)
- [Add URL to Shiori from Android](#Add-URL-to-Shiori-from-Android)
- [Improved import from Pocket](#improved-import-from-pocket)
- [Import from Wallabag](#import-from-wallabag)
- [Add URL to Shiori from Android](#add-url-to-shiori-from-android)

<!-- /TOC -->

Expand Down Expand Up @@ -64,8 +64,7 @@ Available Commands:
open Open the saved bookmarks
pocket Import bookmarks from Pocket's exported HTML file
print Print the saved bookmarks
serve Serve web interface for managing bookmarks
server Run the Shiori webserver [alpha]
server Run the Shiori webserver
update Update the saved bookmarks
version Output the shiori version
Expand All @@ -77,30 +76,27 @@ Use "shiori [command] --help" for more information about a command.
```

### Search syntax

With the `print` command line interface, you can use `-s` flag to submit keywords that will be searched either in url, title, excerpts or cached content.
You may also use `-t` flag to include tags and `-e` flag to exclude tags.



## Using Web Interface

To access web interface run `shiori serve` or start Docker container following tutorial above. If you want to use a different port instead of 8080, you can simply run `shiori serve -p <portnumber>`. Once started you can access the web interface in `http://localhost:8080` or `http://localhost:<portnumber>` if you customized it. You will be greeted with login screen like this :
To access web interface run `shiori server` or start Docker container following tutorial above. If you want to use a different port instead of 8080, you can simply run `shiori server -p <portnumber>`. Once started you can access the web interface in `http://localhost:8080` or `http://localhost:<portnumber>` if you customized it. You will be greeted with login screen like this :

![Login screen](https://raw.githubusercontent.com/go-shiori/shiori/master/docs/screenshots/01-login.png)

Since this is our first time, we don't have any account registered yet. With that said, we can use the default user to access web interface :
Since this is our first time, we don't have any account registered yet. With that said, we can use the default user to access web interface:

```
username: shiori
password: gopher
```

Once login succeed you will be able to use the web interface. To add the new account, open the settings page and add accounts as needed :
Once login succeed you will be able to use the web interface. To add the new account, open the settings page and add accounts as needed:

![Options page](https://raw.githubusercontent.com/go-shiori/shiori/master/docs/screenshots/04-options.png)

The first new account you add will become the owner and it will deactivate the "shiori:gopher" default user automatically.

When searching for bookmarks, you may use `tag:tagname` to include tags and `-tag:tagname` to exclude tags in the search bar. You can also use tags dialog to do this :

- `Click` on the tag name to include it;
Expand Down Expand Up @@ -157,8 +153,8 @@ inside the container.
chmod +x wallabag2shiori
./wallabag2shiori 'path/to/to/wallabag_export_json_file'
```


### Add URL to Shiori from Android


Expand Down
35 changes: 18 additions & 17 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require (
github.com/gin-contrib/static v0.0.1
github.com/gin-gonic/gin v1.9.1
github.com/go-shiori/go-epub v1.2.0
github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789
github.com/go-shiori/go-readability v0.0.0-20240204090920-819593fddc6b
github.com/go-shiori/warc v0.0.0-20200621032813-359908319d1d
github.com/go-sql-driver/mysql v1.7.1
github.com/gofrs/uuid/v5 v5.0.0
Expand All @@ -23,20 +23,20 @@ require (
github.com/muesli/go-app-paths v0.2.2
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/pkg/errors v0.9.1
github.com/sethvargo/go-envconfig v0.9.0
github.com/sethvargo/go-envconfig v1.0.0
github.com/shurcooL/vfsgen v0.0.0-20230704071429-0000e147ea92
github.com/sirupsen/logrus v1.9.3
github.com/spf13/afero v1.11.0
github.com/spf13/cobra v1.8.0
github.com/stretchr/testify v1.8.4
github.com/swaggo/files v1.0.1
github.com/swaggo/gin-swagger v1.6.0
github.com/swaggo/swag v1.16.2
github.com/swaggo/swag v1.16.3
github.com/toorop/gin-logrus v0.0.0-20210225092905-2c785434f26f
golang.org/x/crypto v0.17.0
golang.org/x/image v0.14.0
golang.org/x/net v0.19.0
golang.org/x/term v0.15.0
golang.org/x/crypto v0.18.0
golang.org/x/image v0.15.0
golang.org/x/net v0.20.0
golang.org/x/term v0.16.0
modernc.org/sqlite v1.28.0
)

Expand All @@ -52,29 +52,30 @@ require (
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-openapi/jsonpointer v0.20.2 // indirect
github.com/go-openapi/jsonreference v0.20.4 // indirect
github.com/go-openapi/spec v0.20.13 // indirect
github.com/go-openapi/swag v0.22.6 // indirect
github.com/go-openapi/spec v0.20.14 // indirect
github.com/go-openapi/swag v0.22.9 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.16.0 // indirect
github.com/go-playground/validator/v10 v10.17.0 // indirect
github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c // indirect
github.com/goccy/go-json v0.10.2 // indirect
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect
github.com/google/uuid v1.5.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/cpuid/v2 v2.2.6 // indirect
github.com/leodido/go-urn v1.2.4 // indirect
github.com/leodido/go-urn v1.4.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
Expand All @@ -86,17 +87,17 @@ require (
github.com/vincent-petithory/dataurl v1.0.0 // indirect
go.etcd.io/bbolt v1.3.8 // indirect
go.uber.org/atomic v1.11.0 // indirect
golang.org/x/arch v0.6.0 // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/arch v0.7.0 // indirect
golang.org/x/mod v0.15.0 // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.16.1 // indirect
golang.org/x/tools v0.17.0 // indirect
google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.3.0 // indirect
modernc.org/cc/v3 v3.41.0 // indirect
modernc.org/ccgo/v3 v3.16.15 // indirect
modernc.org/libc v1.38.0 // indirect
modernc.org/libc v1.41.0 // indirect
modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.7.2 // indirect
modernc.org/opt v0.1.3 // indirect
Expand Down
Loading
Loading