Commit graph

39 commits

Author SHA1 Message Date
Monirzadeh 4a5564d60b
feat: store created and modified time separately on database for bookmarks (#896)
* sqlite migrate script

* create time just when bookmark added and modified update if change happen

* show added and modified time in footer instead of header

* add bun.lockb that missing

* add migrate for postgres

* add pg support of created time

* change modifed to modifed_at and create to created_at in sqlite

* change modifed to modifed_at and create to created_at in postgre

* add created_at to mariadb

* fix migration file names

* better variable name and more clear code for add modified time if created and modified is not in same day

* add unittest

* add unittest to sure filters work as expected

* index for created_at and modified_at

* build new styles.css

* update swagger documents

* make styles

* change Created and Modified to CreatedAt and ModifiedAt

* fix missing Modified

* fix typo

* missing Modified

* fix typo

* make swagger

* run tests parallel

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* remove t.Parallel()

* remove dayjs dependency and combine two function

* better unittest name

* fix typo

* diffrnt footer style for login and content page

* use class instead of id

* back parallel

* change duplicate url

* remvoe run Parallel

* make styles

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2024-06-26 20:17:51 +02:00
Felipe Martin 72aecd2b60
feat: new system info panel in webui settings (#926)
* frontend

* fixed Database.DBx return value

* api endpoint

* updated swagger

* fix openbsd variable dereference

* tests

* only load information if user is owner

* memory improvement for other routes
2024-06-08 17:48:55 +02:00
Monirzadeh 2a231ecc37
feat: allow selecting light/dark/follow themes in the webui (#924)
* login page follow browser darkmode settings

* theme change based on selection in settings between follw system , light, dark

* content page follow settings and fix syntax error

* drop down menu color follow current theme

* version number follow theme in login page

* use footer instead of id for version

* replace space with tab

* move theme settings to the top of the list and fix typo

* remove duplicate code and use a function instead

* fix logic of change theme if you select follow system to not need reload anymore

* fix code style with make styles

* fix bug that eventlistener not remove when activate light or dark theme

* less js and add theme with patch by @fmartingr

* remove NightMode config and now everythings control with Theme

* error instead of log if invalid theme selected

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* remove unneeded part and update swagger documents

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2024-06-06 10:44:43 +02:00
Monirzadeh 47a0143d1a
fix: swagger document response type (#932) 2024-06-06 07:46:41 +02:00
Monirzadeh b8a357829d
feat: api endpoint to serve readable content (#885)
* add endpoint to serve readable content

* add id and modified time in response

* revert id and modified time

* remove public check status

* chnage 401 to 403

* add basic unittest for readable content

* check response in unittest

* update strcut name and move that above handler
2024-04-21 00:59:03 +02:00
Manu 9bf3dae35d
docs: add PikaPods managed hosting option (#881)
* Add PikaPods hosting option

* Add landing page link
2024-04-13 09:18:12 +02:00
piano1029 21c95ac70d
docs: Add securityContext to provided Kubernetes manifest (#859) 2024-03-23 18:52:02 +01:00
Felipe Martin 1ee762a161
fix: fix problems that may be raised from a 1.5.5 upgrade (#837)
* add missing flag to deprecated serve command

* docs references to initial account

* modify shiori serve references

* update dependencies

* remove serve from shiori -h docs output

* remove migrated routes

* fix faq heading levels

* downgrade go-epub to 1.2.0
2024-02-08 09:26:33 +01:00
Felipe Martin 55ec418070
docs: updated configuration page (#808) 2023-12-30 00:40:29 +01:00
Felipe Martin cf7301c78f
Fixed lint errors after refactor (#806)
* removed git diff from swagger check script

* updated swagger docs

* removed ununsed calls
2023-12-28 18:37:19 +01:00
Felipe Martin cc7c75116d
refactor: migrate bookmark static pages to new http server (#775)
* migrate bookmark content route to new http server

* new archive page

* remove unused go generate comment

* database mock

* utils cleanup

* unused var

* domains refactor and tests

* fixed secret key type

* redirect to login on ui errors

* fixed archive folder with storage domain

* webroot documentation

* some bookmark route tests

* fixed error in bookmark domain for non existant bookmarks

* centralice errors

* add coverage data to unittests

* added tests, refactor storage to use afero

* removed mock to avoid increasing complexity

* using deps to copy files around

* remove config usage (to deps)

* remove handler-ui file
2023-12-28 18:18:32 +01:00
Kirill A Kustov 3df4c0bcfb
Add Documentation>CLI>Add bookmark (#794)
* Create CLI.md

* Update index.md
2023-12-09 09:00:48 +01:00
JPFrancoia 00582090e4
docs: example deployment for kubernetes (#754)
* Adding docs on how to install with Kubernetes manifests.

* docs: community section

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
Co-authored-by: Felipe M <me@fmartingr.com>
2023-11-18 08:34:30 +01:00
Monirzadeh d371ee6037
fix: typo in URL under documentation (#778) 2023-11-17 10:49:47 +01:00
cbe 7765e5bf42
chore: frontend formatting (#764)
* Install `prettier`

Ignore everything in the first step as I want to see the size of changes
that are going to happen first

* Configure prettier

- use tabs as the whole project prefers tabs
- ignore a bunch of files that shouldn't be formatted

* Check & format with prettier when compiling less

* Update docs to use bun

Since bun handles the dependencies used for the CSS compilation this
should be the preferred method from now on.

* Check actual result of prettier

* Use LF line endings

All files where formatted in LF and since it's most common in git repos
we should probably keep it this way

* Limit prettier to `internal/view/`

See pull request review
https://github.com/go-shiori/shiori/pull/764#pullrequestreview-1702935417

* Format code with prettier
2023-11-05 11:02:31 +01:00
Monirzadeh 5e9847a288
refactor: migrate ebook routes to new http server (#742)
* add new api

* UI use new API

* remove legacy route

* fix request to new api destination and read that response

* feat: allow authentication using cookies

* fix: return proper error on validatesession

* typo: secret key envionment variable in makefile

* serve ebook file with new api

* cache update use new api path

* add skipexist and batch download use same route as cache

* fix bug - update hasebook status

* remove unneeded part of code

* add swagger documentation

* fix swagger documentation

* fix swagger response

* better statuscode

* fix swagger documentation

* covert to snake_case

* recover coverage.txt that remove

---------

Co-authored-by: Felipe M <me@fmartingr.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-10-29 11:57:07 +01:00
Yuta Hayashibe c64e858a23
Fix typos (#756)
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-10-22 17:43:49 +02:00
Monirzadeh 013270acb3
Update documentation for add links to shiori in android devices from share menu (#757)
* add shiori save to android device share menu

* better section for community contributions

* add new line

* fix typo

* fix typo

* fix typo

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-10-22 17:22:44 +02:00
Monirzadeh f82b97dec5
add create ebook by default in settings (#761)
* add create ebook by default in settings

* ebook automatic generate for new bookmark

* fix empty ebook for new bookmark
2023-10-22 13:25:16 +02:00
Monirzadeh c05d617fbd
feat: allow per-user settings and store them in database (#639)
* create needed field in sqlite database

* update account model

* update Account struct for save Account options

* update sqlite database return account settings

* save configure in sqlite as text and return that

* read configure from user account and defualt configure for shiori

* add api/ui for update settings in database user can save settings in database (in sqlite database)

* check configures be in json format before save in database

* support MariaDB

* fix wrong comment

* support PostgreSQL

* revert unneeded change in new logic

* change configures to config

* change SaveAccount to SaveAccountSettings

* add migrate database scripts

* change default in migration scrtipts

* update model

* read config field as json from database

* fix parse value config value & update config update

* update default value for new user

* update settings variable name to reflect database value in UI

* fix typo

* not panic if user not exist and update worng comment

* visitor user can update there settings now

* remove unneeded loading dialog

* fix typo

* update function for pg and mysql

* remove IsJson

* move scan method to model

* simplify jsonify

* simplify assignees value to account.Config

* missing part of function

* fix some typo and unneeded field in struct

* add down migrate script for all database

* change createEbook to CreateEbook

* use json instead of text in mysql and postgres

* implement

* remove unneeded part

* remove unneeded jsonify in code

* return SelectContext and GetContext

* remove defualt config in reques for new user it will be set in backend

* New API

* remove legacy API

* remove validateSessionWithoutOwnerStatus

* remove Jsonify function don't need that anymore

* add unit test for database

* update migrate script name

* change put to patch

* return PUT

* fix Patch problem and now use PATCH instead of PUT

* remove unneeded retuen

* more cleaner code for request new settings

* fix bug to handle string in Scan method thanks to fmartingr

* fix Authorization & use GetAccount & remove username from request

* shiori-settings remove and it read from shiori-account

* add swagger documentation

* API unit test

* fix typo

* remove unneeded coment

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* better Documentation

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* shiori-toke remove on logout

* fix typo

* add unit test check update config in database

* update swag documentation

* fix swag formaing error

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-10-15 15:27:54 +02:00
Felipe Martin 4df7e1dd8e
feat: build css from less files locally (#735)
* build less using lessc and bun

* build

* make styles-check

* Added workflow to check updates

* avoid embed less files

* docs

* updated tests to reflect changes

* typo

* fixed archive page css

* call styles check on pull requests

* comments in style.less

* fix archive styles affecting other pages

* minify using clean-css

* Split archive.css and style.css

* Updated docs
2023-09-16 19:58:55 +02:00
Felipe Martin 9082f98f41
deps: upgrade to Go 1.21 (#698)
* go 1.21

* update dependencies

* Updated direct dependencies

* -count=1 to test flags

* group dependabot updates into one PR

* get swag version from go.mod

* show changes in swagger check

* go mod tidy

* updated swag generated files

* use go version from go.mod

* remove stray \

* proper grep
2023-09-16 08:20:55 +02:00
András Rutkai e722cb6961
fix: properly parse mysql connection string, docs update (#730)
Mysql connection string update, docs update
2023-09-13 18:31:41 +02:00
Felipe Martin 8b015a3850
Swagger improvements (#666)
* refactor: swagger docs into a folder

* added scripts for the swaggger tasks

* check version and fmt

* CI

* formatted swag comments

* using custom delims

* revert custom delims

* swag 1.16.1

* update swagger docs

* avoid make swagger output

* swagger check

* test

* swag-fmt

* swagger run

* gofmt

* avoid swag-fmt check for now due to inconsistencies with gofmt

* re-enabled by using go fmt afterwards

* use newer swag in CI

* add gopath to path

* using go binary instead of unset env

* alternative

* correct swag version

* formatted

* formatted

* correct go fmt command

* make swagger

* swagger-check -> swag-check

* run swag-check on lint
2023-08-12 08:38:52 +02:00
Felipe Martin a60dbf3dc5
Run legacy API and new API at the same time. (#648)
* config: backwards comptabile dir

* remove duplicated frontend

* frontend: move assets to assets folder

* legacy routes handler in gin

* templates and asset in different embed

* new routes

* frontend routes serve old views

* added DTO for account object

* api auth calls legacy handler

* frontend: handle new error messages

* frontend: update urls

* frontend: login using new api

* updated frontend tests

* chore: remove debug route

* create shiori/gopher user if no owner is present

* server as default command

* serve -> server

* refactored database logic, allow database url

* removed unused configuration

* storage docs

* refactor cli to use cfg and deps

* check errors only in server

* log fatal instead of os exit

* dont default data directory to current dir

* fixed sqlite path

* trigger build on prs

* avoid releasing if lint/test fails

* pull request condition

* event -> event_name

* Get correct pull request number

* added workflow to delete dangling tags

* fix: nil error checking

* set gin mode first

* set gin mode before initialization

* fix logger

* allow version bump from custom ref

* Updated matrix link to workspace
2023-07-19 18:25:41 +02:00
Felipe Martin 6f19c12c95
Start working on new REST API. Refactor logic in domains. (#497)
* added 404 template

* added auth domain

* added embed file for frontend

* added base config and dependencies

* added basic new http server

* added separated server command

* updated go modules

* removed modd file

* Added shortcut to send internal server error response

* Added JWT support to Auth Domain

* Added JWT support to API

* docs: added comments to response struct

* naming

* inline returns

* updated dependencies

* production logger

* bookmarks endpoint

* reverted old views api path

* frontend for api v1

* proper 404 error (not working atm)

* use response

* removed 404 html

* server error handler

* login and basic auth

* adjusted session duration

* properly retrieve tags

* properly delete bookmark

* cleanup

* archiver domain

* debug routes

* bookmark routes

* expiration by parameter

* move to logrus

* logout

* frontend cache

* updated dependencies

* http: migrated to gin

* linted

* Added version command

* unit tests, docs

* response test utils and tests

* remove logout handler

* auth

* createtag

* improved http test utilities

* assert message equals

* Remove 1.19 from test matrix

* moved api to v1 folder

* docs: contribute docs

* updated makefile

* updated usage docs

* warn in server command

* updaed docs with shiori version command

* Updated documentation

* deps: update
2023-07-17 14:30:18 +01:00
Ryan Gonzalez e02d3e7739
feat: add SHIORI_PG_SSLMODE (#536)
* feat: add SHIORI_PG_SSLMODE

Some managed hosting providers don't support sslmode=disabled.

* handle empty value

---------

Co-authored-by: Felipe M <me@fmartingr.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-07-09 08:43:26 +02:00
Felipe Martin 85534b62f8
Update dependencies (#616)
* Added contribute docs for tests
* deps: update
* mariadb using healthcheck script
* Restored health retries to 5
2023-06-11 21:10:15 +02:00
Felipe Martin 3fcb295d72
Make migrations transparent to the user (#530)
* refactor: remove migrate command

* reafactor: avoid migration errors on no changes
2022-11-27 15:39:27 +01:00
Bastien Rivière 39cb64222f
docs: fix remember represented as a number instead of a bool (#472)
Changed in pull request: https://github.com/go-shiori/shiori/pull/346
2022-09-30 12:17:05 +02:00
Kim Kar f5652a5bbf
Fix docker migration script example (#451)
The example docker command given was invalid, as `docker run` operates on images, not containers.
2022-07-23 12:26:32 +02:00
jmbmkn f000f11bfa
Update Usage.md (#435)
Fix tiny typo in Wallabag import commands
2022-06-23 09:08:05 +02:00
Felipe Martin Garcia 3422035bfa
docs: updated pocket import script
The import script was pointing to a faulty gist with an error, I've forked and fixed the error as @questor pointed out in the comments and #426.

Fixes #426
2022-05-26 21:42:55 +02:00
Felipe Martin f72f050835
docs: fixed outdated volume path reference 2022-05-26 21:35:29 +02:00
Felipe Martin Garcia 0bf1a4875c
docs: migrate documentation from the wiki (#394)
* docs: migrate documentation from the wiki

* docs: updated docker image url

* docs: added migrations section

* docs: fixed index link
2022-05-26 19:49:30 +02:00
Radhi Fadlillah b137fe4f50 Tidy up docs files 2019-09-26 06:58:47 +07:00
James Liu 92adfa6d87 feat: add postman collection 2019-09-22 16:09:05 +10:00
Radhi Fadlillah 63070d1b15 Add readme 2019-08-27 16:04:57 +07:00
Radhi Fadlillah 002f755614 Add screenshots 2019-08-27 13:33:55 +07:00