Sascha Ißbrücker
30da1880a5
Cache website metadata to avoid duplicate scraping ( #401 )
...
* Cache website metadata to avoid duplicate scraping
* fix test setup
2023-01-20 22:28:44 +01:00
McKenna Jones
da99b8b034
Add Health Check endpoint ( #392 )
...
* add simple health endpoint
* add curl and healthcheck to dockerfile
* convert to view
* add simple test
* Add unhealthy test
* Cleanup
* check for LD_SERVER_PORT env var in healthcheck def
* Revert changes to middlewares.py
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2023-01-20 22:26:58 +01:00
Sascha Ißbrücker
021d1cd673
Fix bookmark website metadata not being updated when URL changes ( #400 )
2023-01-20 20:59:09 +01:00
Sascha Ißbrücker
43d52642a6
Fix website loader test
2023-01-14 12:26:04 +01:00
Sascha Ißbrücker
4f9170c48d
Improve website loader logging
2023-01-14 11:24:09 +01:00
Luca
c2d8cde86b
Trim website metadata title and description ( #383 )
...
* feat: trim fetched metadata placeholders
* feat: implement trimming serverside
* Add website loader tests
* Address review comments
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2023-01-12 21:06:36 +01:00
Alexander Sulfrian
fee979a371
Only show admin link for superusers ( #384 )
2023-01-06 19:39:47 +01:00
Sascha Ißbrücker
f84e2d2210
Add error handling for checking latest version ( #360 )
2022-10-16 13:04:36 +02:00
Sascha Ißbrücker
2fd7704816
Limit document size for website scraper ( #354 )
...
Limits the size of scraped HTML documents to prevent out of memory errors. The scraper will stop reading from the response when it encounters the closing head tag, or if the read content's size exceeds a max limit.
Fixes #345
2022-10-07 21:18:18 +02:00
Sascha Ißbrücker
1c3651e91d
Add setting and documentation for fixing CSRF errors ( #349 )
...
* Add documentation and setting for solving CSRF errors
* Improve proxy setup docs
* Link to reverse proxy documentation
* Fix link
2022-10-05 10:01:44 +02:00
Sascha Ißbrücker
b94eaee833
Setup logging for background tasks
2022-09-11 07:50:08 +02:00
Sascha Ißbrücker
1b35d5b5ef
Prevent rate limit errors in wayback machine API ( #339 )
...
The Wayback Machine Save API only allows a limited number of requests within a timespan. This introduces several changes to avoid rate limit errors:
- There will be max. 1 attempt to create a new snapshot
- If a new snapshot could not be created, then attempt to use the latest existing snapshot
- Bulk snapshot updates (bookmark import, load missing snapshots after login) will only attempt to load the latest snapshot instead of creating new ones
2022-09-10 20:43:15 +02:00
Sascha Ißbrücker
6420ec173a
Improve bookmark query performance ( #334 )
...
* Remove tag projection from bookmark queries
* add feeds performance test
2022-09-09 19:46:55 +02:00
Sascha Ißbrücker
a30571ac99
Fix error when deleting all bookmarks in admin ( #336 )
...
Removes the confirmation page when deleting all bookmarks from admin, which could fail in production when the number of deleted objects exceeds 1000.
2022-09-09 08:31:28 +02:00
Sascha Ißbrücker
38f4dd2bea
Minify bookmark list HTML ( #332 )
2022-09-04 09:03:14 +02:00
Sascha Ißbrücker
f88cc30b48
Add option to create initial superuser ( #323 )
...
* Add option to create initial superuser
* Update .env.sample
2022-09-04 08:08:15 +02:00
Sascha Ißbrücker
5841ba0f4c
Bump Django and other dependencies ( #331 )
...
* Bump Django and other dependencies
* Bump python version for CI
2022-09-04 07:15:09 +02:00
Sascha Ißbrücker
c9c6b097d0
Add support for authentication proxies ( #321 )
...
* add support for auth proxies
* Improve docs
2022-08-14 13:35:03 +02:00
Sascha Ißbrücker
1308370027
Add bookmark list keyboard navigation ( #320 )
...
* Add bookmark list keyboard navigation
* Fix focus outline for title link
* Combine bookmark list scripts
2022-08-14 11:28:36 +02:00
Sascha Ißbrücker
1b67081773
Skip updating website metadata on edit unless URL has changed ( #318 )
...
* Skip updating website metadata on edit unless URL has changed
* Prevent form fetching metadata when editing existing bookmark
2022-08-13 11:21:26 +02:00
Rodrigo Candido Gryzinski
ee7ac775d2
Order tags in bookmark tests ( #310 )
2022-08-11 09:04:57 +02:00
s2marine
8053468ca5
Add support for context path ( #313 )
...
* Add support for context path
add an optional environment variable: LD_CONTEXT_PATH
* Fix for pull request code review comments
Co-authored-by: s2marine <s2marine@gmail.com>
2022-08-07 12:41:11 +02:00
Sascha Ißbrücker
dd5e65ecd7
Display selected tags in tag cloud ( #307 )
...
* Add links to remove tags from current query
* Display selected tags in tag cloud
* Add tag cloud tests
* Fix tag cloud in archive
* Add tests for bookmark views
* Expose parse query string
* Improve tag cloud tests
* Cleanup
* Fix rebase issues
* Ignore casing when removing tags from query
Co-authored-by: Jon Hauris <jonp@hauris.org>
2022-08-04 20:31:24 +02:00
Sascha Ißbrücker
fec966f687
Add bookmark sharing ( #311 )
...
* Allow marking bookmarks as shared
* Add basic share view
* Ensure tag names in tag cloud are unique
* Filter shared bookmarks by user
* Add link for filtering by user
* Prevent n+1 queries when rendering bookmark list
* Prevent empty query params in return URL
* Fix user select template tag name
* Create shared bookmarks through API
* List shared bookmarks through API
* Show bookmark suggestions for shared view
* Show unique tags in search suggestions
* Sort user options
* Add bookmark sharing feature flag
* Add test for share setting default
* Simplify settings view
2022-08-04 19:37:16 +02:00
Sascha Ißbrücker
e6718be53b
Update unread flag when saving duplicate URL ( #306 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-26 00:13:41 +02:00
Sascha Ißbrücker
54ce6d5fe6
Add RSS feeds ( #305 )
...
* Add basic unread bookmarks feed
* Generate user-specific feed
* Add feed tests
* Add all bookmarks feed
* Add feed token admin
* Add note about renewing URLs
* Add support for query parameter
* Fix rebase issues
* Improve docs on feeds integration
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-23 23:20:27 +02:00
Sascha Ißbrücker
13ff9ac4f8
Add read it later functionality ( #304 )
...
* Allow marking bookmarks as unread
* Restructure navigation to include preset filters
* Add mark as read action
* Improve description
* Highlight unread bookmarks visually
* Mark bookmarks as read by default
* Add tests
* Implement toread flag in importer
* Implement admin actions
* Add query tests
* Remove untagged link
* Update api docs
* Reduce height of description textarea
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-23 22:17:20 +02:00
Sascha Ißbrücker
b618a8b10b
Do not associate tags if bookmark was not imported
2022-07-03 14:44:16 +02:00
Dustin Blackman
b53bd9f112
Bump waybackpy to 3.0.6 ( #281 )
...
* fix wayback
* fix tests
* Reuse user agent from website loader
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-03 06:26:16 +02:00
Dave Onkels
75c0429973
Add apple-touch-icon reference in header ( #282 )
...
* Add apple-touch-icon reference in header
Recommend adding this reference to support an icon when adding a web app to an iOS homescreen.
* Add dedicated apple touch icon
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-03 06:05:20 +02:00
wahlm
0829d00e5f
no duplication of imported tags ( #289 )
...
* no duplication of imported tags (#287 )
* Add importer test
* Revert settings test
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-07-03 05:34:40 +02:00
Sascha Ißbrücker
68c3c27b38
Add PATCH support to bookmarks endpoint ( #269 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-26 04:15:13 +02:00
kenc
792a19d15e
Allow creating archived bookmark through REST API ( #268 )
...
* Add POST archived API endpoint
* Update API docs
* Expose is_archived in existing POST endpoint
* Add test to verify bookmark not archived by default
* Fix JSON payload in API docs
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2022-05-26 04:10:36 +02:00
Sascha Ißbrücker
2de6d8151b
Improve about section ( #265 )
...
* Improve about section
* Add changelog link
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 21:33:08 +02:00
Sascha Ißbrücker
9e9d7ae7d2
Add background tasks to admin ( #264 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 18:21:10 +02:00
Sascha Ißbrücker
e08bf9fd03
Fake request headers to reduce bot detection ( #263 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 13:25:32 +02:00
Sascha Ißbrücker
d7f257b3c6
Allow searching for untagged bookmarks ( #226 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 09:50:51 +02:00
Sascha Ißbrücker
f4e3d724f0
Improve import performance ( #261 )
...
* Run import in batches, cache tags
* Use bulk operations for bookmarks and assigning tags
* Improve naming
* Restore bookmark validation
* Add logging
* Bulk create tags
* Use HTMLParser for parsing bookmarks
* add parser tests
* Add more importer tests
* Add more importer tests
* Remove pyparsing dependency
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-21 09:27:30 +02:00
Sascha Ißbrücker
117160ea87
Enforce CSRF check for acknowledging toasts
2022-05-20 16:51:50 +02:00
Sascha Ißbrücker
f92c3dd403
Make Internet Archive integration opt-in ( #250 )
...
* Make web archive integration opt-in
* Add toast message about web archive integration opt-in
* Improve wording for web archive setting
* Add toast admin
* Fix toast clear button visited styles
* Add test for redirect
* Improve wording
* Ensure redirects to same domain
* Improve wording
* Fix snapshot test
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 09:46:51 +02:00
Rithas K
c97d5c3dc5
Feature: Shortcut key for new bookmark ( #241 )
...
* Add shortcut key for new bookmark
* Use location.assign to keep history
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 08:44:03 +02:00
Sascha Ißbrücker
6cf35ecca6
Add whitespace after auto-completed tag ( #249 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 01:18:41 +02:00
Sascha Ißbrücker
dc0a4e33bd
Scroll menu items into view when using keyboard ( #248 )
...
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
2022-05-14 01:02:48 +02:00
Sascha Ißbrücker
3906d9e5b8
Prevent external redirects
2022-03-27 11:47:45 +02:00
Sascha Ißbrücker
eca98a13f5
Prevent bookmark actions through get requests
2022-03-27 10:56:09 +02:00
Sascha Ißbrücker
edb71286e7
Prevent external redirects
2022-03-25 18:29:54 +01:00
Sascha Ißbrücker
1ffc3e0266
Fix bookmark access restrictions
2022-03-22 02:24:21 +01:00
Sascha Ißbrücker
82b4268a26
Ensure tag names don't contain spaces ( #184 )
2021-12-12 22:54:22 +01:00
Fivefold
5287eb3f8b
Make bookmarks count column in admin sortable ( #183 )
...
The Tag view in django admin has a calculated bookmark count column that is unsortable. This fixes it
2021-12-12 22:52:22 +01:00
Sascha Ißbrücker
5e003ede92
Change api token field to readonly
2021-10-16 05:43:35 +02:00
Sascha Ißbrücker
984eef92e2
Add password change view ( #168 )
2021-10-16 05:42:04 +02:00
Sascha Ißbrücker
eae6ca6e07
Merge API view with integrations view ( #165 )
2021-10-03 15:13:45 +02:00
Sascha Ißbrücker
4f9fcb41bd
Add bookmark link target setting ( #164 )
2021-10-03 09:35:59 +02:00
Sascha Ißbrücker
123fa54d5a
Fix jumping search box ( #163 )
2021-10-02 23:49:59 +02:00
Sascha Ißbrücker
3ff7a5ba91
Add global search shortcut ( #161 )
2021-10-01 18:02:34 +02:00
Sascha Ißbrücker
d87dde6bae
Create snapshots on web.archive.org for bookmarks ( #150 )
...
* Implement initial background tasks concept
* fix property reference
* update requirements.txt
* simplify bookmark null check
* improve web archive url display
* add background tasks test
* add basic supervisor setup
* schedule missing snapshot creation on login
* remove task locks and clear task history before starting background task processor
* batch create snapshots after import
* fix script reference in supervisord.conf
* add option to disable background tasks
* restructure feature overview
2021-09-04 22:31:04 +02:00
Sascha Ißbrücker
e47c00bd07
Add support for micro-, nanosecond timestamps in importer ( #151 )
2021-08-26 12:33:54 +02:00
Taku Izumi
937858cf58
Fix website scraper decoding content incorrectly ( #126 )
...
* Avoid stall on web scraping
This patch fixes stall on web scraping.
I encountered a stall (scraping never ends) when adding
a bookmark of some site.
To avoid this case, adding a timeout parameter at requests.get()
function is a solution.
Signed-off-by: Taku Izumi <admin@orz-style.com>
* Avoid character corruption of scraping some Japanese sites
This patch fixes character corruption of scraping some Japanese
sites. To avoid character corruption, I use r.content instead
of r.text in load_page function.
The reason of character corruption is encoding problem, I think.
r.text handles data as unicode encoded text, so if scraping
web site's charset is not unicode encoded, character corruption
occurs. r.content handles data as str[], we can avoid encoding
problem.
Signed-off-by: Taku Izumi <admin@orz-style.com>
* use charset_normalizer to determine response encoding
Co-authored-by: Taku Izumi <admin@orz-style.com>
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2021-08-25 10:16:23 +02:00
Sascha Ißbrücker
8047ba6c63
Fix importer not validating bookmark models ( #149 )
2021-08-25 09:20:01 +02:00
Damanpreet Singh
de903bc341
Add about section in settings ( #134 )
...
* About section in settings
* Added about section in settings tab
* fix code style
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2021-08-24 19:47:58 +02:00
Sascha Ißbrücker
cc04a17e2f
Upgrade Django major ( #144 )
...
* Bump dependency versions
* Configure default auto field implementation
* fix admin to use token proxy model
* update django docs link
2021-08-17 05:48:45 +02:00
ulixxe
048a8b1162
improve tag query performance ( #142 )
...
* changed query on tag search for speedup related to issues #112 and #141
* fix tests and only conditionally append tag filter
* add bookmark tags query tests
* reuse bookmark queries for tag queries
* fix tag query test setup
Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@googlemail.com>
2021-08-15 09:28:40 +02:00
Sascha Ißbrücker
3e48b22095
Add settings view tests
2021-05-14 23:34:53 +02:00
Sascha Ißbrücker
d643fca98f
Add query tests
2021-05-14 10:26:33 +02:00
Sascha Ißbrücker
f58434077b
Add bookmark view tests
2021-05-14 02:32:19 +02:00
Sascha Ißbrücker
90f62d3482
Fix relative date formatting ( #107 )
2021-04-06 23:38:15 +02:00
Sascha Ißbrücker
2d19e97212
Allow editing of scraped values ( #80 )
...
* Allow editing scraped title + description (#80 )
* Fix edit button hijacking form submit
2021-04-04 10:16:40 +02:00
Sascha Ißbrücker
7a68a4abed
Display date_added in bookmark list ( #85 )
...
* Display date_added in bookmark list (#85 )
* Allow switching between different types of date formats
* Improve date formatting
* Use pluralize
* Fix comment
* Fix styles
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2021-03-31 09:08:19 +02:00
Sascha Ißbrücker
0c1c21c8d1
Implement bulk edit ( #101 )
2021-03-29 00:43:50 +02:00
Sascha Ißbrücker
119d8f7efb
Implement dark theme ( #49 )
2021-03-28 12:11:56 +02:00
Sascha Ißbrücker
84508e07cd
Doc improvements ( #97 )
...
* Improve docs
* Improve docs
2021-03-20 11:58:20 +01:00
Sascha Ißbrücker
a02338cdec
Improve and promote admin panel ( #76 )
...
* Improve and promote admin panel (#76 )
* Customize admin panel texts (#76 )
* Improve settings structure (#76 )
* Improve admin list consistency (#76 )
* Fix redirect URLs (#76 )
* Add admin tooltip (#76 )
2021-02-24 03:36:27 +01:00
Sascha Ißbrücker
8c161ba119
Implement bookmark API tests
2021-02-20 09:01:38 +01:00
Sascha Ißbrücker
b7a8f9e53d
Mark optional fields in bookmark serializer ( #78 )
2021-02-18 22:02:45 +01:00
Sascha Ißbrücker
f7e6fbc588
Fix archive endpoints ( #77 )
2021-02-18 07:14:44 +01:00
Sascha Ißbrücker
778f1b2ff3
Remove legacy API ( #55 )
2021-02-16 04:45:21 +01:00
Sascha Ißbrücker
79dd4179d2
Add archive endpoints
2021-02-16 04:24:22 +01:00
Sascha Ißbrücker
3bab7db023
Enhance delete links with inline confirmation ( #74 )
2021-02-15 21:09:03 +01:00
Sascha Ißbrücker
c61e8ee2cd
Implement archive feature ( #73 )
...
* Implement archive function (#46 )
* Implement archive view (#46 )
* Filter tags for archived/unarchived (#46 )
* Implement archived bookmarks endpoint (#46 )
* Implement archive mode for search component (#46 )
* Move bookmarklet to settings (#46 )
* Update modified timestamp on archive/unarchive (#46 )
* Fix bookmarklet (#46 )
2021-02-14 18:00:22 +01:00
Sascha Ißbrücker
f555bba9e9
Fix mobile issues with searchbox and nav menu ( #72 )
...
* Fix mobile Safari searchbox style (#62 )
* Fix mobile menu not closing on outside click (#62 )
2021-02-07 00:10:02 +01:00
Sascha Ißbrücker
91d876a7f1
Add option to disable bookmark URL validation ( #57 )
...
* Add option for disabled bookmark URL validation (#36 )
* Add options documentation (#36 )
2021-02-06 16:27:19 +01:00
Sascha Ißbrücker
085027b00a
Show URL as fallback if no title is available ( #64 )
2021-01-16 00:57:57 +01:00
Sascha Ißbrücker
bea0fe3b70
Fix duplicate tags test
2021-01-13 09:43:17 +01:00
Sascha Ißbrücker
70953a52b9
Fix duplicate tag error ( #65 )
2021-01-12 22:42:56 +01:00
Sascha Ißbrücker
f8fc360d84
Add pagination ( #63 )
...
* Add pagination tag (#11 )
* Add pagination tag tests (#11 )
* Improve styling (#11 )
2021-01-11 17:49:53 +01:00
Sascha Ißbrücker
b844293342
Add favicon ( #60 )
...
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2021-01-09 00:24:06 +01:00
Sascha Ißbrücker
9df270557f
Make tag search and assignment case insensitive ( #56 )
...
* Make tag assignment and search case-insensitive (#45 )
* Add tests for tag case-sensitivity and deduplication (#45 )
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2021-01-02 11:30:20 +01:00
Sascha Ißbrücker
c13b27e170
Add search autocomplete ( #53 )
...
* Implement search autocomplete for recent searches
* Implement search autocomplete for bookmarks
* Fix URL encoding of query param
* Add tag suggestions to search autocomplete
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-12-31 09:47:51 +01:00
Sascha Ißbrücker
779de41b65
Implement custom netscape file parser ( #51 )
...
* Implement custom Netscape file parser (#50 )
* Add environment variable to configure request timeouts (#50 )
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-12-31 07:02:28 +01:00
Sascha Ißbrücker
477fed284d
#47 Fix description import ( #48 )
...
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-12-29 13:14:10 +01:00
Kirill Goncharov
1cb2f552a4
Add rel=noopener attribute to external links ( #44 )
2020-12-28 15:11:55 +01:00
Sascha Ißbrücker
719a11a658
Add URL to search query
2020-12-28 06:46:43 +01:00
Sascha Ißbrücker
e497bcb5c0
#24 Implement REST API ( #32 )
...
* #24 Implement readonly bookmark API
* #24 Implement create/update bookmark API
* #24 Fix title, description not allowing blank values
* #24 Code cleanup
* #24 Add modification dates to response
* #24 Add API docs
* #24 Implement delete bookmark API
* #24 Fix API docs link
* #24 Fix API docs link
* #24 Implement tag API
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-09-27 09:34:56 +02:00
Sascha Ißbrücker
c80f26dd34
#26 Return to same page after editing or deleting bookmark
2020-09-13 10:56:03 +02:00
Sascha Ißbrücker
8a208cad07
#25 Increase bookmark URL length limit
2020-09-13 09:05:50 +02:00
Sascha Ißbrücker
348a536aa3
#23 Prevent bookmark duplicates
...
* Show hint if URL is already bookmarked
* Remove hint if URL belongs to edited bookmark
* Fix query param encoding
* Update bookmark instead of duplicating it
Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
2020-09-13 08:46:07 +02:00
Sascha Ißbrücker
10fd3d89be
Add error handling and logging for importer
2020-06-07 14:15:44 +02:00
Arpit
9275baabd2
Use system timezone for bookmark's "Added date"
2020-06-06 23:05:57 +05:30
Arpit
81d1fd1e6a
Use a default value if attribute missing from tag
2020-06-06 23:05:42 +05:30
Sascha Ißbrücker
18d4831a5d
#3 Alternative add bookmark button on smaller screens
2020-01-12 15:49:46 +01:00
Liron Shimrony
97f47713ab
- Added Tags in the admin page
...
- Added searching and filter capabilities in the Bookmarks section in the admin page
2019-12-28 16:44:14 -05:00
Sascha Ißbrücker
e341d666af
Implement tag auto-completion
2019-12-27 12:46:54 +01:00
Sascha Ißbrücker
70b66122c8
Implement tag auto-completion
2019-12-27 12:32:44 +01:00
Sascha Ißbrücker
9ff8356a4d
Improve form styles
2019-12-26 23:56:54 +01:00
Sascha Ißbrücker
b58633c377
Fix empty search showing tags without bookmarks
2019-12-26 23:51:52 +01:00
Sascha Ißbrücker
4c038f8157
Implement bookmark export
2019-12-26 22:41:30 +01:00
Sascha Ißbrücker
991025d13e
Implement bookmark export
2019-12-26 13:45:12 +01:00
Sascha Ißbrücker
1896a8136e
Implement optional registration
2019-12-24 13:31:55 +01:00
Sascha Ißbrücker
2693ba57c8
Improve mobile layout
2019-07-07 09:22:55 +02:00
Sascha Ißbrücker
7b27862795
Add empty bookmarks message
2019-07-06 17:31:43 +02:00
Sascha Ißbrücker
1b7f57999d
Improve URL handling
...
Extract bookmark list tag
2019-07-06 17:17:14 +02:00
Sascha Ißbrücker
25e74088b8
Simplify view naming
2019-07-06 08:14:13 +02:00
Sascha Ißbrücker
89855bb01f
Encode URL parameter in bookmarklet
2019-07-06 07:47:12 +02:00
Sascha Ißbrücker
312ab3db17
Implement bookmarklet
2019-07-05 22:29:21 +02:00
Sascha Ißbrücker
4f8a66b3bd
Fix module references
2019-07-05 19:26:46 +02:00
Sascha Ißbrücker
7e9db1588f
Implement bookmark import form
2019-07-05 10:04:52 +02:00
Sascha Ißbrücker
d57ea27ba3
Create docker image
2019-07-03 17:18:29 +02:00
Sascha Ißbrücker
fdcd9cb42c
Implement login and logout views
2019-07-02 09:34:12 +02:00
Sascha Ißbrücker
d2f896966a
Cleanup
2019-07-02 02:05:09 +02:00
Sascha Ißbrücker
e07da529f1
Preview website title + description in bookmark form
...
Fix unnecessary selects when rendering bookmarks
2019-07-02 01:28:02 +02:00
Sascha Ißbrücker
0e872c754b
Edit bookmark tags
2019-07-01 22:05:38 +02:00
Sascha Ißbrücker
3b753a601f
Style bookmark form
2019-07-01 21:03:27 +02:00
Sascha Ißbrücker
e157bcd34f
Filter tag cloud based on search query
2019-06-30 21:15:02 +02:00
Sascha Ißbrücker
ff68d2591f
Implement tag search
2019-06-30 19:54:33 +02:00
Sascha Ißbrücker
4658ec9d7b
Cleanup styles
2019-06-30 19:33:36 +02:00
Sascha Ißbrücker
9323b9da77
Implement tag cloud on bookmark page
2019-06-30 19:31:32 +02:00
Sascha Ißbrücker
accc360ae5
Display tags in bookmark list
2019-06-30 08:24:21 +02:00
Sascha Ißbrücker
4a16e4d64c
Implement tag model
2019-06-30 07:15:46 +02:00
Sascha Ißbrücker
74bcc30821
Style bookmarks page
2019-06-29 19:45:08 +02:00
Sascha Ißbrücker
5fad8b798d
Add SASS preprocessing
2019-06-29 14:03:29 +02:00
Sascha Ißbrücker
10b1570a64
Implement basic search
2019-06-29 12:53:37 +02:00
Sascha Ißbrücker
0177660cf6
Implement basic paging
2019-06-29 09:15:07 +02:00
Sascha Ißbrücker
9eefd479c6
Implement basic importer
2019-06-29 08:42:54 +02:00
Sascha Ißbrücker
451a049d46
Implement fetching website metadata
2019-06-29 02:01:26 +02:00
Sascha Ißbrücker
ba3d4eb663
Refactor packages
2019-06-29 01:08:22 +02:00
Sascha Ißbrücker
251fda609c
Extract bookmark form tag
2019-06-29 01:00:52 +02:00
Sascha Ißbrücker
37ee00077a
Implement edit bookmark route
2019-06-29 00:27:20 +02:00
Sascha Ißbrücker
c653206dd3
Implement add bookmark route
2019-06-28 19:37:41 +02:00
Sascha Ißbrücker
e2a834a56c
Add and improve routes
2019-06-28 07:33:08 +02:00
Sascha Ißbrücker
fc2794aa61
Implement basic bookmark page
2019-06-27 08:09:51 +02:00