Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
311 commits
Select commit Hold shift + click to select a range
c373a3b
add lite file download
mabarber92 Aug 1, 2025
27f5d58
update to checkPairwiseCsvResponse to check parent dir - for reuse by…
mabarber92 Aug 1, 2025
577f0bb
fix errors in GitHub fallback when no b2
mabarber92 Aug 1, 2025
2295e06
add function to TextReuseTable to check server response
mabarber92 Aug 1, 2025
6bb66b8
add and test github fallback for light download
mabarber92 Aug 1, 2025
28a590c
set icon visibility based on data availability
mabarber92 Aug 1, 2025
900e315
update tooltips
mabarber92 Aug 1, 2025
af37073
Merge pull request #48 from mabarber92/drawer-pairwise-#47
pverkind Aug 1, 2025
bc551f3
loading spinner for long response check
mabarber92 Aug 1, 2025
caa0cb1
tidy up indents
mabarber92 Aug 1, 2025
6e75802
Add separate control for axis label size and fix one-to-many width issue
pverkind Aug 4, 2025
1fb687f
Hide include metadata selector for one-to-many texts
pverkind Aug 4, 2025
ed028c5
store solution for setting the multichart margins
pverkind Aug 4, 2025
990371a
clean up
pverkind Aug 4, 2025
634f57b
Merge branch 'dev' of https://github.com/kitab-project-org/explore in…
pverkind Aug 4, 2025
3c64c2d
Add the maximum number of reused characters to the chartData
pverkind Aug 4, 2025
ecd82f7
Fix margins (unsatisfactorily)
pverkind Aug 4, 2025
613ca42
Add text wrap function based on svg width
pverkind Aug 5, 2025
016df7c
clean up and document
pverkind Aug 5, 2025
1b8005e
export measureSvgText function
pverkind Aug 5, 2025
87caf85
Fix margins
pverkind Aug 5, 2025
7586fd1
Clean up
pverkind Aug 5, 2025
dfe32a7
store the tick and label font size inputs as integer
pverkind Aug 5, 2025
07c8ff4
Fix metadata labels in pairwise viz
pverkind Aug 5, 2025
8295c5e
Fix labels in one-to-many viz
pverkind Aug 5, 2025
15661d1
clean up
pverkind Aug 5, 2025
682b6bf
Fix pairwise metadata label bug
pverkind Aug 5, 2025
eb42289
Display empty string rather than zero in label size text boxes
pverkind Aug 5, 2025
6a5f7b8
Merge pull request #50 from mabarber92/drawer-pairwise-#47
pverkind Aug 5, 2025
be959a1
Merge branch 'dev' of https://github.com/kitab-project-org/explore in…
pverkind Aug 5, 2025
a4b9339
Fix small-screen bugs; closes #52
pverkind Aug 5, 2025
490499c
Avoid pagination scrolling + reduce size
pverkind Aug 6, 2025
1f12ba3
Improve wrapping of text reuse icons
pverkind Aug 6, 2025
8ea3bfd
Fix bleeding of filter sidebar in small windows; closes #54
pverkind Aug 6, 2025
fb038ce
Merge pull request #45 from pverkind/pairwiseDownload
mabarber92 Aug 6, 2025
0c6e1b7
Merge pull request #53 from pverkind/reuseIcons
mabarber92 Aug 6, 2025
3efb46f
Merge pull request #58 from kitab-project-org/dev
mabarber92 Aug 6, 2025
ca07211
Add svg download functionality + move downloadPNG to Helper
pverkind Aug 6, 2025
70413c6
use chevron icon for closing download options
pverkind Aug 6, 2025
22885a1
ensure spinner when drawer loading data
mabarber92 Aug 6, 2025
23ccc90
fix advanced params display
mabarber92 Aug 6, 2025
78ae78a
show advanced search queries in advanced search
mabarber92 Aug 6, 2025
197b6d5
clean up code
mabarber92 Aug 6, 2025
2e4f9f4
clean up logs
mabarber92 Aug 6, 2025
f06ad98
patched issue edition_place missing from advanced params
mabarber92 Aug 6, 2025
402d59d
Merge pull request #62 from pverkind/svgDownload
mabarber92 Aug 6, 2025
5018955
Merge pull request #63 from mabarber92/display-fixes
pverkind Aug 7, 2025
7e15255
Add links to the Kanban board and component descriptions
pverkind Aug 7, 2025
b1fd118
set up cookie consent and gtag tracking
mabarber92 Feb 17, 2026
f2c753e
Update Google Analytics tracking ID
mabarber92 Feb 18, 2026
17399c6
Update Google Analytics ID in index.js
mabarber92 Feb 18, 2026
11f9a1b
Merge pull request #69 from mabarber92/gtag-tracking
mabarber92 Feb 18, 2026
60c6765
Update page title to 'KITAB Explore'
mabarber92 Feb 18, 2026
f71f125
Merge pull request #2 from kitab-project-org/dev
pverkind Mar 26, 2026
5568885
Add getAllRFeleasesInsights service function and fix DEV_ENV bug in g…
pverkind Mar 26, 2026
ef723f6
Fetch all insights on app mount, store in Context
pverkind Mar 26, 2026
a36ef38
Dynamically load release version number from release insights instead…
pverkind Mar 26, 2026
6b7f3a1
Add a filter for manuscripts in the filter sidebar
pverkind Mar 26, 2026
42cd912
uppercase MSS
pverkind Mar 26, 2026
f0cd739
add code comment
pverkind Mar 26, 2026
71bafba
set the manuscript filter by default to False
pverkind Mar 26, 2026
9c9099d
Make column names dependent on whether or not manuscripts are filtere…
pverkind Mar 26, 2026
b085559
Adapt the column header code to react to the changed column names
pverkind Mar 26, 2026
7780ce9
Adapt the Title cell to manuscripts (naively)
pverkind Mar 26, 2026
0d712cc
add ms holding data to author column
pverkind Mar 26, 2026
ce2159d
Show empty death date cell for manuscripts
pverkind Mar 26, 2026
ab7be5a
Switch drawer tab names for manuscripts
pverkind Mar 26, 2026
d524a2a
Implement ManuscriptHoldingDetails
pverkind Mar 26, 2026
a210e2c
Implement ManuscriptDeatails component for drawer
pverkind Mar 26, 2026
2c3fd8c
implement subcorpus filters
pverkind Mar 26, 2026
28f07e7
replace subcorpus filter with languages and has_manuscripts filters
pverkind Mar 26, 2026
2e6a680
fix version dropdown bug
pverkind Mar 26, 2026
f1aea1b
Fix manuscript holding in table cell
pverkind Mar 26, 2026
0843d62
Fix styling of filters
pverkind Mar 27, 2026
ea2ea6a
Disable Include Manuscripts toggle if release does not contain manusc…
pverkind Mar 27, 2026
ff5be70
Add filter chip for manuscripts
pverkind Mar 27, 2026
7e6586d
Add language filter chips
pverkind Mar 27, 2026
607c68e
Add All languages toggle
pverkind Mar 27, 2026
03cab9c
Lowercase language code in chip
pverkind Mar 27, 2026
5c536a3
Fix filter sidebar spacing
pverkind Mar 27, 2026
b6e75ce
Fix reset filter: include manuscripts
pverkind Mar 27, 2026
5606818
Add language chips to the table
pverkind Mar 27, 2026
9d8cb05
fix search pagination bug
pverkind Mar 27, 2026
097b4d1
Add manuscript title(s) to Book title column
pverkind Mar 31, 2026
27772be
Add search by options for manuscripts
pverkind Mar 31, 2026
77df703
Reorganize icons in VersionID cell and create Select All checkbox
pverkind Apr 1, 2026
3a115bb
move MoreCell out of subfolder
pverkind Apr 1, 2026
a8327f3
make github options disappear on mouseout
pverkind Apr 1, 2026
0c97967
add marker for manuscript rows
pverkind Apr 1, 2026
6884fbc
display more than one name for each category
pverkind Apr 1, 2026
16fb945
remove arrow from tooltip
pverkind Apr 1, 2026
4f0ab21
Add tooltip for language chips
pverkind Apr 1, 2026
36ea44f
Remove sort from Author and Title columns
pverkind Apr 1, 2026
e211121
Add links for version 2025.1.9
pverkind Apr 1, 2026
db05c30
Enable upload for one-to-many data
pverkind Apr 1, 2026
ada4c50
Disable clicking on bottom bar in one-to-many for uploaded data
pverkind Apr 1, 2026
4fef02d
Move DownloadGitHubRawFile function to VersionIdCell and add extensio…
pverkind Apr 2, 2026
9553778
Fix AuthorDetails drawer on small screens issue
pverkind Apr 2, 2026
591b9de
Add download warning for large sizes
pverkind Apr 2, 2026
ed48f6e
download TSV from API endpoint if no items are selected
pverkind Apr 2, 2026
d4f5bad
Make sure column names in selected items download are same as in all …
pverkind Apr 2, 2026
fda0e47
replace AnalysisPriority with separate primary and secondary variables
pverkind Apr 7, 2026
4ae7b59
Improve filtering - exclusive and inclusive filtering, filter sidebar UI
pverkind Apr 7, 2026
0af61a8
Fix table header height issue (sometimes displayed vertical scrollbar)
pverkind Apr 7, 2026
c2433f3
Fix Version change bug
pverkind Apr 7, 2026
6365c2d
Hide FilterNavigation below search bar if there are no filter chips t…
pverkind Apr 7, 2026
e9b511b
Fix display of reuse instances
pverkind Apr 7, 2026
c84185e
Use Amiri for Arabic text and Gentium Plus for non-Arabic text (Amiri…
pverkind Apr 7, 2026
f009a31
Use Amiri for Arabic text and Gentium Plus for non-Arabic text (Amiri…
pverkind Apr 7, 2026
8f6ead7
Do not reset search query when resetting filters
pverkind Apr 7, 2026
6fda698
only reset pagination when changing release version0
pverkind Apr 7, 2026
864dd8e
Make 2025.1.9 the default release version
pverkind Apr 8, 2026
1d6b10d
use i.mech-20 instead of i.mech for all releases after 2022
pverkind Apr 9, 2026
1e4c715
update URLs for pairwise light folders
pverkind Apr 9, 2026
f9ce963
Use Gentium Plus for all non-Arabic text except for labels in visuali…
pverkind Apr 9, 2026
8fc98c3
Add guided tour of the metadata page
pverkind Apr 9, 2026
e19b4b7
Add metadata drawer to tour
pverkind Apr 9, 2026
a65c3fa
Add filtersidebar tour
pverkind Apr 10, 2026
8838803
Update corpus metadata tour
pverkind Apr 10, 2026
9b94089
Show bullet progress instead of progress bar in the tour
pverkind Apr 10, 2026
f8b8fca
Add text reuse drawer tour
pverkind Apr 10, 2026
cd8034a
Fix path to the srt folders for v2025.1.9
pverkind Apr 10, 2026
e106011
Add id to component
pverkind Apr 10, 2026
e42ac13
Finalize the Metadata tour
pverkind Apr 10, 2026
f94911b
Fix query bug after metadata tour
pverkind Apr 10, 2026
59661a6
align no text reuse data message left
pverkind Apr 10, 2026
cc9d3ae
Add id to main component
pverkind Apr 10, 2026
3365d64
Add id to main components
pverkind Apr 13, 2026
a250220
Rename MetaFilters component to AnnotationFilters
pverkind Apr 13, 2026
23b4705
Rename DownloadData compenent to DownloadMetadata
pverkind Apr 13, 2026
859f26b
Add class and id to main components
pverkind Apr 13, 2026
550aff0
use className instead of class
pverkind Apr 13, 2026
5772b57
Rename CountToken to TokenCountCell and add class
pverkind Apr 13, 2026
00eb419
Add class to main components
pverkind Apr 13, 2026
1eb4cbd
Add class to main components
pverkind Apr 13, 2026
17caa3d
Add id to main components
pverkind Apr 13, 2026
1ffb996
Add id to main components
pverkind Apr 13, 2026
9030668
Add id to main components
pverkind Apr 13, 2026
d8d7f0c
uncomment localhost
pverkind Apr 13, 2026
de43e26
Add test API URL
pverkind Apr 14, 2026
1ad9a3d
remove unused variable
pverkind Apr 14, 2026
9a0e6d1
Fix linting issues
pverkind Apr 14, 2026
82bc193
Fix linting issues
pverkind Apr 14, 2026
bfed4a9
Fix drawer id
pverkind Apr 15, 2026
cd953f4
Remove logs
pverkind Apr 16, 2026
ea4e146
Fix one-to-many viz for books without dates (for upload)
pverkind Apr 29, 2026
fc0d090
Allow import of alignment strings in one-to-many visualization
pverkind Apr 29, 2026
9476a20
Add upload modal for pairwise files in one-to-all viz
pverkind Apr 29, 2026
6424804
implement reading multiple alignments with the same milestone
pverkind Apr 29, 2026
7ba33b1
Fix start of book bar at x=1
pverkind Apr 30, 2026
27f67c3
Removed unused context variable
pverkind Apr 30, 2026
dd3d05b
Use memo to avoid unnecessary resets for currentAlignment
pverkind Apr 30, 2026
5f72ddf
Fix the diffview options
pverkind May 22, 2026
88faa5b
npm audit fix
pverkind May 22, 2026
0be6765
Add manuscript support to the MultiChart and metadata display
pverkind May 22, 2026
dc85e79
Add scatterplot navigation and URL milestone addresses
pverkind May 26, 2026
009f49a
Add table of contents support in one-to-many viz
pverkind May 26, 2026
5d87aeb
Fix filters (part 1)
pverkind May 26, 2026
44da7ee
Fix sliders, part 2
pverkind May 26, 2026
26fa979
Add TOC filter
pverkind May 27, 2026
ab71206
Memoize filter pipeline and scatter nav data to prevent D3 redraw on …
pverkind May 27, 2026
0ada8ec
Fix the Reset chart button in the MultiChart
pverkind May 27, 2026
8ce6aa4
add space in tooltip
pverkind May 28, 2026
cd6716c
Move filters to hidden panel and implement chips
pverkind May 28, 2026
a8d9b69
take showDownloadOptions out of Context
pverkind May 28, 2026
cdb4149
Add the filters to URL
pverkind May 28, 2026
e57830b
Improve filters and implement svg parts option
pverkind May 28, 2026
87413c2
Fix styling of the new checkboxes
pverkind May 28, 2026
ba936ba
Separate the URL in the download image into a separate svg
pverkind May 28, 2026
f0285e1
Add ids to components
pverkind May 28, 2026
0df95f8
Fix X axis if the bottom bar is not displayed
pverkind May 28, 2026
4d2455d
selection and arrow navigation of side and bottom bar plots
pverkind May 28, 2026
e9a9cb1
Improve highlighting of selected bars in top and side bars
pverkind May 28, 2026
b4c0e7c
Fix unused var
pverkind May 28, 2026
1e07468
Fix linter errors
pverkind May 29, 2026
4727ed7
hide TOC filter when there is no TOC data available
pverkind May 29, 2026
018714f
memoize the graphs to avoid unnecessary reloading
pverkind May 29, 2026
e121d80
move scatterlegend and filter chips, make scatterlegend optional
pverkind May 29, 2026
cf22e77
Attach self reuse filter to the date filter
pverkind May 29, 2026
73799e5
update tooltip message
pverkind May 29, 2026
edeff0d
Fix self-reuse issue: location of main book on Y axis
pverkind May 29, 2026
5e68ea5
Removed unused variable
pverkind May 29, 2026
217a9fb
include URL, Legend, sidebar and bottombar by default
pverkind May 29, 2026
825e3b1
Adapt bottom bar tooltip message
pverkind May 29, 2026
16451f1
Add border around tooltip
pverkind May 29, 2026
9e3acca
Implement arrow navigation in pairwise chart
pverkind May 29, 2026
4397972
Fix zoom and pan
pverkind May 29, 2026
dee5317
fix linter warning
pverkind May 29, 2026
026e72a
Fix optional URL and metadata inclusion in pairwise download
pverkind May 29, 2026
bfad4e8
Fix linter warning
pverkind May 29, 2026
de22dfa
Fix url parameters
pverkind Jun 1, 2026
02b14a4
Add id and class statements
pverkind Jun 1, 2026
c389a16
Fix pairwise arrow + button navigation
pverkind Jun 1, 2026
1eb130b
Fix tick label at end of shortest x axis
pverkind Jun 1, 2026
c8b373e
remove superfluous variables
pverkind Jun 1, 2026
e1fdabd
Format pairwise and one-to-all tooltips in the same way
pverkind Jun 1, 2026
97e3259
clicking on empty space deselects
pverkind Jun 1, 2026
1c5c482
Show tick label on clicking bar in the pairwise viz
pverkind Jun 1, 2026
94277e8
Fix highlighting after flipping books
pverkind Jun 1, 2026
8ce7a53
Add TOC filter to pairwise viz
pverkind Jun 1, 2026
bb2f73b
Fix linter warning
pverkind Jun 2, 2026
8aada8c
Fix reset chart bug
pverkind Jun 2, 2026
c3b1287
Fix reset chart bug
pverkind Jun 2, 2026
94c7e5f
Fix slow arrow navigation, step 1
pverkind Jun 2, 2026
d029a75
Fix arrow and ms toggler navigation
pverkind Jun 2, 2026
84d7719
Add TOC triangles
pverkind Jun 2, 2026
136cc91
Fix zoom on pairwise
pverkind Jun 2, 2026
596e6df
Fix unsorted X axis bug
pverkind Jun 3, 2026
f4ec0b4
Allow switching between characters matched and number of alignments i…
pverkind Jun 4, 2026
5bab3b3
Fix position of TOC panel
pverkind Jun 4, 2026
80359b9
Recalculate values displayed in bottom bar on filtering
pverkind Jun 4, 2026
edd58cd
Make size of dots reactive to filters
pverkind Jun 4, 2026
c29eb8c
Fix linter warnings
pverkind Jun 4, 2026
bf38e50
Increase bar width, improve zoom and bar selection
pverkind Jun 5, 2026
4fccd89
Improve TOC triangle navigation
pverkind Jun 5, 2026
c0c50ba
Add section headings to the pairwise tooltip
pverkind Jun 8, 2026
d9ba765
Implement text milestone filter in multichart
pverkind Jun 8, 2026
c98844e
Fix linter warnings
pverkind Jun 8, 2026
7645ab7
Fix TOC filter when data is not available + spacing of TOC triangles
pverkind Jun 8, 2026
bc4e645
Fix load next/prev milestone bug
pverkind Jun 8, 2026
af8f3f4
Fix load next/prev milestone bug
pverkind Jun 8, 2026
e668a33
Fix KitabDiff bug in handling of WikEdDiffBlock elements
pverkind Jun 8, 2026
42046fb
Fix handling of milestone markers in diffed context
pverkind Jun 8, 2026
9284a6b
Implment dividing context into rows
pverkind Jun 8, 2026
ad515d1
Only scroll pairwise if diff not shown yet
pverkind Jun 8, 2026
81c2d46
Show/hide section headings in tooltips and diff column header
pverkind Jun 8, 2026
9f1a417
Make alignment text bold only if context is shown
pverkind Jun 8, 2026
f50e9dc
Fix column labels for manuscripts in diffgrid
pverkind Jun 9, 2026
0c5b985
Fix color legend issue for scatter plots with less than 10 data points
pverkind Jun 9, 2026
4d6b384
Don't show previous milestone button when milestone1 is shown
pverkind Jun 9, 2026
b395432
Fix bug for empty strings
pverkind Jun 9, 2026
62194e2
Fix Y axis (no decimal points, no tick label for last_ms+1
pverkind Jun 9, 2026
d8da9c1
Disable auto-scrolling to diff when diff is already displayed
pverkind Jun 9, 2026
68edf29
Fix Books outside milestone range chip
pverkind Jun 9, 2026
5114998
Fix multiple selection in multiChart
pverkind Jun 9, 2026
458bbd4
Fix calculation of last milestone
pverkind Jun 9, 2026
168f52a
Turn dev environment off
pverkind Jun 11, 2026
e7ef5cf
Merge pull request #72 from pverkind/mss2026
sohailmerchant Jun 12, 2026
24a88ae
Merge branch 'dev' of https://github.com/pverkind/explore into fix_do…
pverkind Jul 16, 2026
511ec29
Fix download bug
pverkind Jul 16, 2026
fd50326
Merge pull request #76 from pverkind/fix_download
pverkind Jul 16, 2026
82c0452
run npm audit, build and deploy
pverkind Aug 7, 2026
11cda3c
Merge pull request #90 from kitab-project-org/main
pverkind Oct 29, 2026
47cfe41
Add guided tour for the pairwise viz
pverkind Oct 29, 2026
68da9e6
Add corpuswide tour
pverkind Oct 29, 2026
2a91603
Update guided tours
pverkind Oct 30, 2026
a11a24e
Fix lint error
pverkind Oct 30, 2026
f9c8d70
Update tours
pverkind Oct 30, 2026
1a79fb9
Build static site
pverkind Oct 30, 2026
7a76fac
Merge branch 'uat' into guidedTours
pverkind Oct 30, 2026
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
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Describe your changes:
*
*

# This pull requests adresses/closes the following issues:

# Changes are staged [here]()
(your GitHub Pages site or https://witty-bay-0dafe9a10.4.azurestaticapps.net/)

# I have checked:
(add x between the brackets to check the box; add checkboxes for checks relevant to your changes):
* [ ] metadata search still works
* [ ] opening pairwise viz from selection of two texts still works
* [ ] opening pairwise viz from text reuse pane still works
* [ ] opening diff from pairwise viz still works
* [ ] opening one-to-many viz from metadata page still works
* [ ] opening diff from one-to-many viz still works
* [ ] ...

# Reviewer: @...

# Reviewer should check:
* [ ] ...
23 changes: 23 additions & 0 deletions .github/workflows/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Describe your changes:
*
*

# This pull requests adresses/closes the following issues:

# Changes are staged [here]()
(your GitHub Pages site or https://witty-bay-0dafe9a10.4.azurestaticapps.net/)

# I have checked:
(add x between the brackets to check the box; add checkboxes for checks relevant to your changes):
* [ ] metadata search still works
* [ ] opening pairwise viz from selection of two texts still works
* [ ] opening pairwise viz from text reuse pane still works
* [ ] opening diff from pairwise viz still works
* [ ] opening one-to-many viz from metadata page still works
* [ ] opening diff from one-to-many viz still works
* [ ] ...

# Reviewer: @...

# Reviewer should check:
* [ ] ...
35 changes: 35 additions & 0 deletions .github/workflows/deploy-on-gh-pages-from-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Deploy to GitHub Pages from current branch

on:
workflow_dispatch:

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout current branch
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Build the app with dynamic PUBLIC_URL
run: PUBLIC_URL=/${{ github.event.repository.name }} npm run build

- name: Deploy to GitHub Pages
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
npm exec gh-pages -- \
-d build \
-r https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git
36 changes: 36 additions & 0 deletions .github/workflows/deploy_from_branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Deploy to GitHub Pages from chosen branch

on:
workflow_dispatch:


jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout current branch
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 22.17.1 # or whatever version your project uses

- name: Install dependencies
run: npm ci

- name: Build the app
run: npm run build

- name: Deploy to GitHub Pages
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
npm exec gh-pages -- \
-d build \
-r https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git
138 changes: 67 additions & 71 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,94 +1,90 @@
# KITAB explore

A web portal for the KITAB project.
A web portal for the [KITAB project](https://kitab-project.org).

The portal gives access to the OpenITI metadata and the KITAB text reuse data and visualisations.
The portal gives access to the [OpenITI corpus](https://openiti.org/projects/OpenITI%20Corpus.html) metadata
and the [KITAB](https://kitab-project.org) text reuse data and visualisations.

![Kitab Logo](public/logo192.png)
The website is live at https://kitab-project.org/explore

![Kitab Logo](public/logo192.png)

## Features

- **Extensive Collection:** Browse through a vast repository of historical Arabic books from the OpenITI corpus.
- **Metata Search Functionality:** Search for specific works by author, title and other metadata.
- **Explore Text Reuse Data:** visualize the text reuse relations between two books, or between one book and all other books in the corpus
- **Explore Text Reuse Data:** visualize the text reuse relations between two books, or between one book and all other books in the corpus.
- **Download:** Download OpenITI text files and KITAB text reuse data.


## Getting Started

To get started with KITAB explore, follow these steps:

1. **Clone the Repository:**

```bash
git clone https://github.com/kitab-project-org/explore.git
```

2. **Install Dependencies:**

```bash
cd kitabapps
npm install # Or use yarn if preferred
```

3. **Run the Application:**

```bash
npm start
```

4. **Access the Application:**

Open your web browser and navigate to http://localhost:8080.

## Github Pages Build Process

To build the file for gh-pages, follow these steps:

1. **Install Github Pages:**

```bash
npm install gh-pages
```

2. **Add Scripts Inside package.json File:**

"predeploy": "npm run build",
"deploy": "gh-pages -d build",

3. **Build And Publish:**
try to build the app with

```bash
npm run build
```

then run this code:

```bash
npm run deploy
```

4. **Live Link:**

You will get the live link at this location - https://your-github-username.github.io/repo-name/
## Branches:
* **main** is the production branch, and served on GitHub pages (with alias https://kitab-project.org/explore)
* **dev** is the main development branch, from which individual feature branches should be created
* **uat** ("Unit Acceptance Testing") is the staging branch; whenever something is pushed to uat,
a [GitHub Actions script](https://github.com/kitab-project-org/explore/blob/uat/.github/workflows/azure-static-web-apps-witty-bay-0dafe9a10.yml)
builds the stable website and deploys to a test website on Azure (https://witty-bay-0dafe9a10.4.azurestaticapps.net/)

## Git Workflow for contributors
NB: we use a forking workflow so you can test the GitHub Pages deployment on your own GitHub Pages site

The aim is to create small, short-lived feature branches, and have the main branch continuously updated.

* pick or create an issue you want to work on (and assign it to yourself)
* use [this GitHub Kanban board](https://github.com/orgs/kitab-project-org/projects/2/views/1?layout_template=board) so that others can keep track of who's working on what
* (only the first time):
- Fork the repo https://github.com/kitab-project-org/explore/ on GitHub
- clone your fork to your local machine: `git clone https://github.com/<yourGithubUserName>/explore.git`
- create the connection to the original repo - call it "upstream": `git remote add upstream https://github.com/kitab-project-org/explore.git`
if you run the command `git remote -v` now, it should show the remote branch in addition to "origin" - your fork
* Create a feature branch based on the dev branch of the original repo:
```
git fetch upstream
git checkout -b <branchName> upstream/dev
```
* (do development work, add and commit changes, test locally)
* Push the changes to your fork: `git push origin <branchName>`
* Stage a test instance of the app on your fork's GitHub pages or the Azure staging website (see below)
* Create a pull request ([here](https://github.com/kitab-project-org/explore/compare)) from your feature branch on your fork
to the dev branch on kitab-project-org (click "compare across forks" if your fork does not appear)
- include a link to your staged instance
- assign a reviewer
* Reviewer thoroughly reviews the pull request and the staged website and communicates with the author about changes needed:
- test the new feature
- check whether the main functionality still works (this kind of check should be automated) - see the pull request template
* Reviewer accepts the pull request
* Reviewer pulls the changes to main
* Reviewer deploys the main branch by running the GitHub Actions script (see below)
* Delete your feature branch to keep the repo clean

## Testing whether the app works: 
* Locally (for testing the dynamic app): 
- In VSCode: run `npm ci` (only the first time), then `npm start` in the terminal; the website should now be served on http://localhost:8080
* On your own branch's GitHub Pages (for testing the static website):
- NB: this only works if your GitHub username is whitelisted in the API repo (Masoumeh's, Mathew's, Peter's and Sohail's GitHub usernames are all whitelisted)
- In the fork on your GitHub page, go to Actions, and choose "Deploy to Github Pages from current branch" in the left-hand column
- Then, click the "Run workflow" button, choose the name of your feature branch, and click the green "Run workflow" button
- (only the first time: go to the Settings of your GitHub pages fork, choose "Pages", and in the "Branch" section under "Build and deployment", set the branch to "gh-pages" and the folder to "/ (root)".)
- The website should now be deployed to https://\<yourGithubUserName\>.github.io/explore
* On an azure server:
- Pull the changes into the **uat** branch; this will automatically build the static pages and deploy them to an azure page: https://witty-bay-0dafe9a10.4.azurestaticapps.net/

## Deploying the app to https://kitab-project.org/explore :
* Test the deployment as described above
* Pull changes to the main branch
* In the kitab-project-org GitHub page, go to [Actions](https://github.com/kitab-project-org/explore/actions), and choose "Deploy to Github Pages from current branch" in the left-hand column
* Click the "Run workflow" button, select the "main" branch from the dropdown, and click the green "Run workflow" button

## Description of the component structure
See [this document](https://docs.google.com/presentation/d/1OeujYqQMVfyVTf5daPZLQdqFnynhK84I_kjeUzXL9Bs/edit?usp=sharing)

## Contributing

We welcome contributions to enhance the library and improve its features. To contribute:

Fork the repository.
Create a new branch for your feature: git checkout -b feature-name.
Commit your changes: git commit -m 'Add some feature'.
Push to the branch: git push origin feature-name.
Submit a pull request.
We welcome contributions to enhance the library and improve its features. If you would like to contribute, contact the KITAB team.

## Issues

If you encounter any issues or have suggestions, please open an issue. We appreciate your feedback!
License - https://github.com/kitab-project-org/explore/issues/new

This project is licensed under the MIT License - see the LICENSE file for details.
This project is licensed under the MIT License.

## End
1 change: 1 addition & 0 deletions build/_redirects
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/* /index.html 200
18 changes: 18 additions & 0 deletions build/asset-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"files": {
"main.css": "./static/css/main.e027b100.css",
"main.js": "./static/js/main.a8edc8da.js",
"static/media/GentiumPlus-Regular.ttf": "./static/media/GentiumPlus-Regular.945cd08c203a847922c4.ttf",
"static/media/pairwise-screenshot.png": "./static/media/pairwise-screenshot.8c856de79a8c677c86ea.png",
"static/media/one-to-all-screenshot.png": "./static/media/one-to-all-screenshot.795e4b8e85a722d4c85e.png",
"static/media/ismc.jpg": "./static/media/ismc.97d3e6bb1d5a69021aa6.jpg",
"static/media/flag.jpg": "./static/media/flag.e85b5883a003971205df.jpg",
"index.html": "./index.html",
"main.e027b100.css.map": "./static/css/main.e027b100.css.map",
"main.a8edc8da.js.map": "./static/js/main.a8edc8da.js.map"
},
"entrypoints": [
"static/css/main.e027b100.css",
"static/js/main.a8edc8da.js"
]
}
Binary file added build/csv.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions build/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Amiri&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css"/><meta name="viewport" content="initial-scale=1,width=device-width"/><link rel="manifest" href="./manifest.json"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css"/><script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js" data-cfasync="false"></script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-184803711-1"></script><title>KITAB Explore</title><script defer="defer" src="./static/js/main.a8edc8da.js"></script><link href="./static/css/main.e027b100.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
Binary file added build/logo192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added build/logo512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions build/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"short_name": "KITAB App",
"name": "KITAB Application",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
14 changes: 14 additions & 0 deletions build/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow: /

# Please don't scrape the OpenITI or KITAB data using this website.
# All data is available in easily downloadable format on GitHub and Zenodo:
# * OpenITI corpus metadata: https://github.com/OpenITI/kitab-metadata-automation/tree/master/releases
# * OpenITI corpus texts:
# - primary versions only (best solution for most): https://doi.org/10.5281/zenodo.7764025
# - all versions: https://doi.org/10.5281/zenodo.10021513
# * KITAB text reuse data:
# - pairwise csv files: https://doi.org/10.5281/zenodo.4362368
# - one-to-all csv files: https://github.com/kitab-project-org/one_to_all
# For more info on the data, check https://kitab-project.org/corpus-and-data
Loading
Loading