Veloman Yunkan
685e7f8ad4
Unconditional blocking of external links
2022-09-21 15:41:40 +04:00
Veloman Yunkan
40c496d401
Removed old-style taskbar injection
...
Double-toolbar in the viewer has gone.
Some clean-up has to be performed after this change.
2022-09-21 15:41:40 +04:00
Veloman Yunkan
9a193735fb
Hiding of the suggestions drop-down list
...
- Suggestions disappear when search is performed as a result of pressing
enter in the search box.
2022-09-21 15:41:40 +04:00
Veloman Yunkan
2083c390b5
Searchbox correctly tracks the current book
...
Before this fix there were two issues with the taskbar search box:
1. The book used for the suggestions API was resolved only once during
the page load and didn't change during navigation.
2. The current book could not be resolved from a search URL.
Now both issues are fixed.
2022-09-21 15:41:40 +04:00
Veloman Yunkan
29efb88d48
Superficial cleanup in static/skin/viewer.js
2022-09-21 15:41:40 +04:00
Veloman Yunkan
948435794f
Moved all viewer JS code to viewer.js
2022-09-21 15:41:40 +04:00
Veloman Yunkan
7ed01e7678
Renamed static/skin/{viewer_taskbar -> viewer}.js
2022-09-21 15:41:40 +04:00
Veloman Yunkan
eadc0ac72b
Welcome page interoperates with iframe-based viewer
...
- /viewer (without any hash) dynamically redirects to the welcome page
- The book links on the welcome page point to the iframe-based viewer
2022-09-21 15:41:40 +04:00
Veloman Yunkan
77d9777208
Enabled searchbox in the iframe-based viewer
...
Known issues:
- the placeholder text in the searchbox is incorrect
2022-09-21 15:41:40 +04:00
Veloman Yunkan
f41e71b2d7
viewer_taskbar.js + viewer.html = BFF
...
Foundation for never-ending friendship between viewer_taskbar.js and
viewer.html has been established by a slight change in how the book name
is obtained and commenting out the rest of the code.
2022-09-21 15:41:40 +04:00
Veloman Yunkan
58e45711ff
Copied static/skin/taskbar.js as viewer_taskbar.js
2022-09-21 15:41:40 +04:00
Veloman Yunkan
4db443eca6
Embryo of iframe-based viewer
2022-09-21 15:41:40 +04:00
Emmanuel Engelhart
5e8b977bec
Small kiwix-serve welcome page CSS fix
2022-09-06 12:38:49 +05:30
Nikhil Tanwar
3facd594f6
Add favicon for different devices.
...
Added favicon files for a number of devices.
All files and html code is generated by: https://realfavicongenerator.net/
The file used to generate favicons can be found at: https://upload.wikimedia.org/wikipedia/commons/b/b0/Kiwix_logo_v3.svg
2022-08-03 18:52:13 +05:30
Nikhil Tanwar
baf22c2516
So long, jQuery
...
Now after porting index.js and taskbar.js to vanilla JS, it is time to remove files.
Deleted static/skin/jquery-ui
Updated customIndexPage template in README.md.
Thank you for your service, jQuery :)
2022-07-31 19:16:46 +05:30
Nikhil Tanwar
f8a530100f
Implement taskbar scroll actions in vanilla JS
...
Completes the porting of remaining jQuery code in taskbar.js - scroll function, blur and focus events and the cybook hack.
2022-07-31 19:16:02 +05:30
Nikhil Tanwar
a0db199388
Turn suggestions into hyperlinks
...
The suggestions are now clickable hyperlinks.
2022-07-31 19:11:46 +05:30
Matthieu Gautier
f0f473b829
Show suggestions using autoComplete.js
...
This change only shows suggestions. Clicking them does nothing.
2022-07-31 17:15:08 +05:30
Nikhil Tanwar
1e247d75bb
Welcome, autoComplete.js
...
Added autoComplete.css and .js files.
Linked files in head_taskbar.html
2022-07-31 16:16:07 +05:30
Matthieu Gautier
4f3ec817db
Update `index.js` to not use jquery anymore.
2022-07-31 01:06:27 +05:30
Nikhil Tanwar
d0adb4e722
Exit download modal on pressing escape key.
...
Adds an event listener to call closeModal() when Escape key is pressed.
2022-07-21 00:39:26 +05:30
Emmanuel Engelhart
5aa74c62d6
Better align kiwix-serve welcome page filters
2022-07-20 19:18:18 +02:00
Nikhil Tanwar
2b6da38c46
Center tiles on welcome page
...
This change centers tiles on welcome page to give a more consistent whitespace look on both sides.
For this, the layout in Isotope JS is changed to masonry.
2022-07-20 19:18:18 +02:00
Nikhil Tanwar
43ab6dfb6a
Add ability to filter by tags in kiwix serve
...
This change introduces filtering by tags.
To filter, the user can click on the tag name and it will filter it.
A label is added (clickable) to show the tag filter, it can be clicked to remove the filter
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
93f2686a94
Refactoring kiwixButton
...
Move hover behaviour as a different class - kiwixButtonHover
Add cursor:pointer to kiwixButton
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
19a9c84e13
Change class name "searchButton" to "kiwixButton"
...
This is done to retain the button design in more button designs (ex: tags)
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
f034018b5c
Extract setNoResultsContent() from checkAndInjectEmptyMessage()
...
Extracted the code from the un-named function in setTimeout for easier understanding.
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
596b223a9d
Drop onclick handler for reset-filter link
...
This removes the onclick handler around the reset-filter link which redirected to '/?lang='
Everything under the handler was already done on window.onload
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
0c549af307
Add check to not add same link in session history
...
Previously, if the following steps were executed:
1. Click a book tile/visit an unrelated link from the address bar
2. Press back button
Then forward history was discarded (forward button gets disabled).
This happened because of the window.history.pushState on every window.onload event. This led to the same link being added in history and thus discarding the previous "forward-history"
This change adds a condition to only push the current state if the queries are not same.
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
37b39430d1
Use shortened URL in pushState
...
Earlier we were using the full URL, now only query string is passed in pushState, much cleaner!
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
947744caea
Introduce updateVisibleParams()
...
Adds a function to wrap logic to update select boxes on history change
2022-06-25 18:10:01 +04:00
Nikhil Tanwar
2771a95d40
Floor the value returned by viewPortToCount()
...
Previously, the value returned by viewPortToCount() could be a decimal number, this floors its value.
Helps in clean requests and caching.
Fix #766
2022-05-15 08:02:32 +05:30
Nikhil Tanwar
6cdc47eb62
Use real magnet link in download modal
...
Previously, on clicking Magnet, we were redirecting to a different site:
https://download.kiwix.org/zim/other/xyzBookWithDate.zim.magnet
This had the real magnet link as page content
Now we use the real magnet link in the href, thus not redirecting and starting the download right away.
Fix #767
2022-05-14 17:00:14 +02:00
Veloman Yunkan
c016dfd2ce
Resource preprocessing handles relative links
...
... but only if they contain "/skin/" as a substring.
2022-05-02 20:37:22 +04:00
Veloman Yunkan
e4a0a029ff
User language control via userlang query param
...
This is a draft commit enabling the testing of the support for
kiwix-serve internationalization.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
ae1bf39023
Got rid of static/templates/no_search_result.html
...
The "Fulltext search unavailable" error page is now generated using the
static/templates/error.html template. Also added two test cases checking
that error page.
2022-04-06 14:42:29 +02:00
Veloman Yunkan
511261cc81
Testing of "Fulltext search unavailable" page
2022-03-18 15:57:11 +04:00
Veloman Yunkan
e4a4b2f961
Extracted CSS out of no_search_results.html
2022-03-18 15:46:54 +04:00
Nikhil Tanwar
d56e56293b
Only add value in language object if value entry node is 'language'
2022-02-08 19:03:35 +05:30
Nikhil Tanwar
4d996584fa
Add title with full language name
...
This adds title and aria-label attributes with value as the language of book
Provides tooltip on language badges
2022-01-28 22:53:38 +05:30
Kunal Mehta
b94e4b7e3b
Add non-minified version of isotope.pkgd.js
...
Debian wants to have the source files for minified scripts. Otherwise
same rationale as #368 which was for jquery-ui.
I downloaded this from <https://unpkg.com/isotope-layout@3.0.6/dist/isotope.pkgd.js >.
2022-01-27 00:11:04 -08:00
Nikhil Tanwar
f6309bb4c8
Add span in querySelector
...
Earlier querySelector for download button was returning a div, on which we called the getAttribute function hence returning null
This now returns a <span> element which returns the correct link with getAttribute
2022-01-24 19:23:26 +05:30
Emmanuel Engelhart
5a9dbf85ec
Fix title='_' case too #685
2022-01-24 08:35:36 +01:00
Nikhil Tanwar
270773d6ba
Add undefined check for humanFriendlyTitle
...
humanFriendlyTitle() now returns an empty string if title is undefined
which is handled in loadAndDisplayOptions()
2022-01-23 20:33:46 +01:00
Nikhil Tanwar
a8a68c54a2
Remove {root} from book item's link in library
...
The OPDS stream now provides full URL, including the custom root
Appending {root} duplicates the custom root, when given resulting in a broken link
2022-01-14 16:23:52 +01:00
Nikhil Tanwar
0633f68f80
Add new values from wikipedia
...
Added new values. This now covers all iso 639-1 codes from https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
2022-01-11 15:32:06 +01:00
Nikhil Tanwar
2a5db3e7ab
Use iso6391to3.js for language tag value
...
Improves upon the previous method of truncating language to first 2 values which was showing wrong values
2022-01-11 15:31:55 +01:00
renaud gaudin
b1bc883bf5
Fixed #603 : safer scroll bound detection
...
At least on Retina Macbook Pros but most likely on other configurations,
the viewport's sizes is not exactly consistent to integer.
For instance, on a maximized Firefox, document.body.offsetHeight is 1,600.
When looking at the <html> on the inspector, I'd get 1,599.6, so **roughly** the same
but not exactly. Those inconsistencies are present on every level so being too strict
about those is probably not adequate.
This fixes #603 but allowing a 2% margin on the scroll position
to match the _end of screen_ and thus trigger the loading of additional cards.
This means that for the example above, it triggers at 1,568 instead of never reaching 1,600.
2% might be too large but it seems safe considering the potential of various resolutions
we may encounter and I don't see any side effect.
2022-01-03 14:41:19 +00:00
Nikhil Tanwar
aa3bd8560b
Add fallback image if thumbnail metadata is not available in zim
2021-12-29 00:15:34 +05:30
Nikhil Tanwar
9c047844c0
Add fallback if metadata (title, description, language, tags)
...
This provides a workaround the crash happening because of missing metadata.
Language div is set to be hidden if no language data is found
2021-12-29 00:11:57 +05:30
Emmanuel Engelhart
7f6a6055a9
Fix javascript/DOM quotting bug
2021-12-19 11:27:45 +01:00
renaud gaudin
8d50d5e293
added border-radius to download button
2021-11-16 12:33:05 +00:00
renaud gaudin
d76e670d5b
CSS codefactor fix
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
8f5ffc5ef5
Duplicated ids are not allowed in a HTML doc
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
98f9c57e12
Better use double-quote for HTML attributes
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
db06b6b797
Renave static/home.css to static/index.css
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
513c547d99
Remove shadow around kiwix-serve home language in tile
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
c3d2e01157
Move kiwix-serve home download button at top of the tile
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
4adad9b281
Make kiwix-serve home tiles clickable
2021-11-16 12:10:15 +00:00
Manan Jethwani
a4c3cad018
fixed books availablity on larger screens and added zoom level support
2021-08-10 21:45:10 +05:30
Manan Jethwani
5e8f3a5505
added use of lang and category api for select boxes on welcome page
2021-08-07 02:39:50 +05:30
Manan Jethwani
fe93035a4c
updated welcome page to support OPDS multiple Icon
2021-08-07 02:35:29 +05:30
Manan Jethwani
0466b9759c
improved browser lang filter working
2021-07-30 12:57:59 +05:30
Manan Jethwani
15839df594
corrected relative links in preview and icon url
2021-07-24 19:26:22 +05:30
Manan Jethwani
646502f9cf
changed font style for modal
2021-07-13 20:00:43 +05:30
Manan Jethwani
a8a96a99f4
corrected working of magnet link
2021-07-13 00:23:38 +05:30
Manan Jethwani
a517d3b529
added modal for downloading zim file on welcome page
2021-07-12 17:59:26 +05:30
Manan Jethwani
2ed9a50eca
fixed button allignment
2021-07-08 12:33:28 +02:00
Manan Jethwani
bce922ab89
bug fix for loader
2021-07-08 12:33:28 +02:00
Manan Jethwani
ad7a63a471
minor change in UI
2021-07-08 12:33:28 +02:00
Manan Jethwani
6e8200637e
corrected search button in mobile view
2021-07-08 12:33:28 +02:00
Manan Jethwani
cc45c840d1
fixed minor codefactor issue
2021-07-08 12:33:28 +02:00
Manan Jethwani
0590f27fa1
corrected select box and search bar design
2021-07-08 12:33:28 +02:00
Manan Jethwani
dd27c3a873
changed tile background color
2021-07-08 12:33:28 +02:00
Manan Jethwani
736841818d
fixed font and other minor issues in title cards
2021-07-08 12:33:28 +02:00
Manan Jethwani
c1868e22f4
minor codefactor fix
2021-07-08 12:33:28 +02:00
Manan Jethwani
aabfc1d82e
fixed card design
2021-07-08 12:33:28 +02:00
Manan Jethwani
2effb3490e
minoor changes in responsive behaviour
2021-07-08 12:33:28 +02:00
Manan Jethwani
55672b0288
revamped basic layout and cards
2021-07-08 12:33:28 +02:00
Manan Jethwani
3c5d73027d
created separate variable for time delta
2021-06-24 15:41:28 +05:30
Manan Jethwani
d88bdd3ebf
corrected filter on no results
2021-06-23 14:15:22 +05:30
Manan Jethwani
5cfe34a5c2
corrected filter working
2021-06-22 19:36:22 +05:30
Manan Jethwani
ad133bc9a3
added cookies for filter effect
2021-06-21 19:57:52 +05:30
Manan Jethwani
1ccafe2d97
minor changes in fadeout effect
2021-06-07 15:38:31 +02:00
Manan Jethwani
d6c62b3cd3
corrected spinner and fadeout effect
2021-06-07 15:37:20 +02:00
Manan Jethwani
f39c558d2a
added fade out
2021-06-07 15:37:20 +02:00
Manan Jethwani
5b46ad5934
added spinned
2021-06-07 15:37:20 +02:00
Manan Jethwani
49dbd0aa52
fixed reset filters link
2021-06-07 15:37:20 +02:00
Manan Jethwani
179f0faeb1
added minor features
2021-06-07 15:37:20 +02:00
Manan Jethwani
bb92f26b60
added filter functionality
2021-06-07 15:37:20 +02:00
Manan Jethwani
063bb8cd65
added dynamic and subset loading of zim-files in kiwix-serve
2021-06-01 19:33:42 +05:30
Maneesh P M
3288cd80e5
Render suggestion snippet properly
...
To render the snippets properly, we need to use the _renderItem property
of the autocomple ui.
2021-05-26 10:53:00 +02:00
Matthieu Gautier
2736a46cfe
Revert "Kiwix Serve welcome page dynamic and subset loading (OPDS based)"
2021-05-25 17:30:05 +02:00
Manan Jethwani
012973d14a
added dynamic and subset loading of zim-files in kiwix-serve
2021-05-25 02:41:12 +05:30
Maneesh P M
c236f3a32b
Check if bookName is available in url parameters
...
In certain pages like the search result page, bookName is not of the
form `/bookName/endpoint?parameters`. Rather it is available as a query
parameter. From these pages bookName should be assigned from parameters.
2021-05-19 01:12:29 +05:30
Manan Jethwani
5fdc51b23e
fixed suggestion system
2021-04-28 14:34:24 +02:00
Manan Jethwani
5cb276a933
adding kind and path attributes to suggest response object and using it in autocomplete
2021-04-07 21:04:33 +05:30
Manan Jethwani
93264f7409
added root functionality for block external link feature
2021-03-23 03:17:14 +05:30
Manan Jethwani
fb26f6b9c5
moved autocomplete from head_part.html to taskbar.js
2021-03-15 18:10:10 +05:30
renaud gaudin
52da58a294
Adjust body padding-top for taskbar
...
taskbar is placed *above* content using a `padding-top: 3em;` rule
Currently, in regular case, padding-top is too large and leaves ~4/5px between the
taskbar and the content.
This fixes it by using a `calc()` rule to eliminate this extra space
2020-11-04 11:53:59 +00:00