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

Sync prod with master #107

Merged
merged 351 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
351 commits
Select commit Hold shift + click to select a range
393abcb
Deprecate gita and text routes, assoc source code
rtshkmr Feb 23, 2024
5e26907
Change voice.prop -> voice.meta
rtshkmr Feb 23, 2024
f85e65a
Merge pull request #41 from ve1ld/ops/media-player
ks0m1c Feb 23, 2024
de8c3e4
Trigger diff
rtshkmr Feb 24, 2024
ab140dd
Merge branch 'master' into ops/AdminControls
ks0m1c Feb 24, 2024
aecfad8
Intro Translations to Gita
Feb 24, 2024
77b4896
syncProgressTimer() after seekTo event
rtshkmr Feb 24, 2024
5faa397
Patching up Gita Source Material
Feb 24, 2024
271118d
audio next case fixed
Feb 25, 2024
dd594fa
Merge pull request #44 from ve1ld/ops/AdminControls
ks0m1c Feb 25, 2024
3d2a235
Add v0 seeder fn for Hanuman Chalisa
rtshkmr Feb 25, 2024
f1d83d4
[Attempt] Add chapter for hanuman_chalisa
rtshkmr Feb 25, 2024
200f88b
Parity to Current Chalisa Groundworks
Feb 25, 2024
9d6b8ea
Vendoring FloatingUI Dependencies
Feb 25, 2024
4c0329d
[Attempt] Multiple query changes
rtshkmr Feb 25, 2024
399d8c0
Sorted Verses
Feb 25, 2024
5f27ca7
Fix wrong assocs when creating verse-translations
rtshkmr Feb 25, 2024
0c380d9
S3 Object Storage Service Groundworks
Feb 25, 2024
1e0afac
Merge branch 'prod' into feature/hanuman
ks0m1c Feb 25, 2024
b008965
Complete seeder for Chalisa events
rtshkmr Feb 25, 2024
aeb7b8f
Merge branch 'feature/hanuman' into chore/add-hanuman-chalisa-seeder
rtshkmr Feb 25, 2024
3324248
Deprecate Text Live
Feb 25, 2024
2594481
Support playback seeking by clicking on the verse
rtshkmr Feb 26, 2024
99cd949
Init media bridge
rtshkmr Feb 28, 2024
be6e8de
[Attempt] parent-child comms
rtshkmr Feb 28, 2024
7953c03
Its the phx-update=ignore clause
Feb 28, 2024
ad73483
Decouple mediabridge (abs media play) & aud player
rtshkmr Feb 28, 2024
875d91a
Some syntax fixes
Feb 29, 2024
ae70f73
Use the correct hook, handle event emits properly
rtshkmr Feb 29, 2024
f9dcb60
Include video & assoc w voice in existing seeders
rtshkmr Mar 2, 2024
aefee6d
Pass video_id prop as part of the :voice_ack
rtshkmr Mar 2, 2024
2ad6ea0
Define video player config from media_bridge
rtshkmr Mar 2, 2024
458d375
Sync audio and video, with issues
rtshkmr Mar 2, 2024
6380915
Merge pull request #47 from ve1ld/chore/player-improvements
ks0m1c Mar 3, 2024
c3764e3
Support video-hiding via toggle icon
rtshkmr Mar 3, 2024
cfd6ae0
Use css utility & improve perf from css changes
rtshkmr Mar 3, 2024
e292bcf
CSS: use fixed inset to make media_bridge stick
rtshkmr Mar 3, 2024
fa8aec1
Add toggle b/w follow mode and non-follow-mode
rtshkmr Mar 3, 2024
d518e6d
Floater: init generic floater hook
rtshkmr Mar 3, 2024
91ee569
Set up potential style system
rtshkmr Mar 4, 2024
5515cb1
General-UI improvements
rtshkmr Mar 4, 2024
188685f
Add scroll padding, other UI udpates
rtshkmr Mar 4, 2024
e1cee03
Minor UI Padding
Mar 4, 2024
c53bfbc
Event Bus
Mar 5, 2024
e8e368c
Classic MIssing bridge
Mar 5, 2024
43a04cf
[WIP] Use seekTimeBridge for progress-bar seeking
rtshkmr Mar 6, 2024
07e527f
Use seekToEvent bridge for YouTubePlayer hook
rtshkmr Mar 6, 2024
1c4aa3f
Complete handling of the seekTime event bridge
rtshkmr Mar 7, 2024
26542b0
Make progress_bar sub to seekTime
rtshkmr Mar 7, 2024
6cf307d
Use PlayPauseBridge
rtshkmr Mar 7, 2024
67d30c6
Minor cleanups
rtshkmr Mar 7, 2024
9b62961
Minor changes
rtshkmr Mar 7, 2024
8b8ce7e
Let the heart beat
rtshkmr Mar 7, 2024
4a5bb85
Massive cleanups, let follow mode work magically
rtshkmr Mar 7, 2024
33d1769
More cleanups
rtshkmr Mar 7, 2024
59cb3b1
bless me
rtshkmr Mar 7, 2024
4b74180
bless me
rtshkmr Mar 7, 2024
3993d3b
bless u
Mar 7, 2024
c611eac
Clean up Seeder Branch
Mar 8, 2024
b4b59cd
Merge pull request #45 from ve1ld/chore/add-hanuman-chalisa-seeder
ks0m1c Mar 8, 2024
cbedcbd
Merge pull request #49 from ve1ld/feature/video-sync
ks0m1c Mar 8, 2024
cc49283
Merge pull request #50 from ve1ld/patch/video-sync/progressbar
ks0m1c Mar 8, 2024
b1713f4
Merge branch 'feature/hanuman' into feature/media-bridge
ks0m1c Mar 8, 2024
9b3aa4c
[WIP] Add fallback component for floater to attach
rtshkmr Mar 8, 2024
e5821a9
Floating video player handling (incl. mobile view)
rtshkmr Mar 8, 2024
9b920d7
Minor text size updates
rtshkmr Mar 8, 2024
42d4326
Gimped assign-metas
rtshkmr Mar 8, 2024
c975982
Data Dump and Restore
Mar 8, 2024
fb2a21e
Merge pull request #54 from ve1ld/chore/UI-polishing-prior-to-soft-la…
ks0m1c Mar 8, 2024
b1f5e30
Humanise title displays
rtshkmr Mar 9, 2024
89d1915
Attempt bugfix for IOS devices.
rtshkmr Mar 10, 2024
6588176
String Utils
Mar 11, 2024
67f14d7
floater check on el
Mar 12, 2024
2391f0a
Setup new, long-term flow for JIT image creation
rtshkmr Mar 14, 2024
f84d052
Correct assign_meta for source_live/chapter/index
rtshkmr Mar 14, 2024
fdc7efc
Merge branch 'chore/UI-touchups' into chore/revive_jit_og_img_creation
Mar 15, 2024
417eaf7
🎶 Media Bridge, with audio sync 🎶 (#48)
rtshkmr Mar 15, 2024
ddd5286
Chore/UI touchups (#57)
rtshkmr Mar 15, 2024
64870f1
Chapters End to End OpenGraph Image Controller
Mar 16, 2024
762c487
Source Image Graph
Mar 16, 2024
0a24899
Merge pull request #63 from ve1ld/operation/NimbleOpengraphImage
ks0m1c Mar 16, 2024
eb984df
Merge branch 'feature/hanuman' into chore/revive_jit_og_img_creation
ks0m1c Mar 16, 2024
5960701
Merge pull request #62 from ve1ld/chore/revive_jit_og_img_creation
ks0m1c Mar 16, 2024
218ae56
Hotfix Runtime Issue with fetching Image
Mar 16, 2024
523a08c
[Refactor]: Standardise time unit to ms, other cleanups (#64)
rtshkmr Mar 25, 2024
554993f
[BUGFIX]: fix issues with progress bar seek (#65)
rtshkmr Mar 31, 2024
c239c4b
Sangh MargiNote, HoveRune, Sessions Groundworks
Apr 2, 2024
91c2295
Verse Matrix
Apr 13, 2024
d620e7e
Merge remote-tracking branch 'origin/feature/hanuman' into feature/ha…
Apr 13, 2024
dd2aaaa
Tuning Bindings and Comments
Jun 23, 2024
a57d994
HoveRune Floating UI
Jun 30, 2024
ab36b0c
Hover to Selected Region
Jun 30, 2024
7ed5b46
Add default step val
rtshkmr Jul 25, 2024
b38c1b5
Sangh Comments Preview
Jul 25, 2024
2d319cc
Quote for Comments
Jul 25, 2024
a6a331a
the comment sings
Jul 25, 2024
b66492f
broken prod ci pipeline
ks0m1c Jul 26, 2024
31ff1d5
fix ci steps issue
ks0m1c Jul 26, 2024
ce5a052
Attempt pointer event capture
rtshkmr Jul 26, 2024
55da916
Add pointerdown event check
rtshkmr Jul 26, 2024
55408f6
Leggoooo drafting matrix
Jul 27, 2024
745e16f
Add updated migration info and writing system (#67)
rtshkmr Jul 29, 2024
545952c
Cleanups: rm old .livemds
rtshkmr Jul 29, 2024
b209588
Update migrator script's save() to preload video
rtshkmr Jul 30, 2024
4b1b404
fix imprt stmt & add guard to hoverrune
rtshkmr Jul 30, 2024
021f797
Wire up voice metadata
rtshkmr Jul 31, 2024
8d9e9f8
Use og image for artwork
rtshkmr Jul 31, 2024
e6f06a2
Minor cleanups
rtshkmr Jul 31, 2024
607c9cf
Meta cleanup encode
Jul 31, 2024
9938913
Add comma
rtshkmr Jul 31, 2024
303e53a
Simple changes
Jul 31, 2024
4f12674
Revert use of Map.from_struct
rtshkmr Jul 31, 2024
c77a4d6
Shift guarding to playback.ex instead of encoder
rtshkmr Jul 31, 2024
fe5d51f
Add nil clause for meta::Jason encode()
rtshkmr Jul 31, 2024
3d3aa49
@derive
Jul 31, 2024
ea797c9
except artwork
Jul 31, 2024
f15ef26
Handle nil case for artwork better w better guard
rtshkmr Jul 31, 2024
56991b8
Minor changes
rtshkmr Aug 1, 2024
87ae225
Use dummy metadata example
rtshkmr Aug 1, 2024
d79b816
Revert dummy example
rtshkmr Aug 1, 2024
cf05f76
iAnother dummy attempt
rtshkmr Aug 1, 2024
211a794
Another attempt
rtshkmr Aug 1, 2024
9268fe9
test dict creation
rtshkmr Aug 1, 2024
6068efe
test use of extra key in media metadata
rtshkmr Aug 1, 2024
7277a9c
Test: use geenrated artwork
rtshkmr Aug 1, 2024
2a79d27
minor change
rtshkmr Aug 1, 2024
d678583
Change MIME type for generated_artwork jpeg -> png
rtshkmr Aug 1, 2024
15d2d62
Minor change
rtshkmr Aug 1, 2024
91106e5
Use createMediaMetadataPayload()
rtshkmr Aug 1, 2024
81d1563
Server Logging to Console & Image Lib Update
Aug 1, 2024
05710d6
Init media session @ metadata load
rtshkmr Aug 1, 2024
c60172c
Guard against null playback
rtshkmr Aug 1, 2024
665ee9c
Shift mediaSession update to before play
rtshkmr Aug 1, 2024
9902f63
Attempt earlier update of metadata
rtshkmr Aug 1, 2024
0586466
Use waiting spinner to prevent early play triggers
rtshkmr Aug 2, 2024
b87cbcb
clear source title index
Aug 7, 2024
914932c
Refactor event-patterns, use MediaSessions API (#69)
rtshkmr Aug 10, 2024
ce6fd8f
[WIP]: basic DM, demo state & assigned components
rtshkmr Aug 13, 2024
7e07caa
Rename CommandGroup -> ControlPanel
rtshkmr Aug 15, 2024
e4dd84c
Initial Wire up %UserMode{} to Control Panel
rtshkmr Aug 15, 2024
5fac0dc
Switch modes, add user_mode.ex to tw config
rtshkmr Aug 15, 2024
9754b10
Prevent full page-reloads via push_navigate()
rtshkmr Aug 15, 2024
d010644
[temp] shift all from anon session to sangh sess
rtshkmr Aug 15, 2024
2f4a6be
Minor changes
rtshkmr Aug 15, 2024
09ad523
[WIP, Attempt] Shift from layout to heex template
rtshkmr Aug 15, 2024
c91472c
Trigger DIFF
rtshkmr Aug 15, 2024
9b23208
persistent marks
Aug 16, 2024
c09d3e3
Use DM @ router actions, load data :show_sources
rtshkmr Aug 16, 2024
2ca6f1d
Add data load for :show_chapters action on DM
rtshkmr Aug 16, 2024
0041758
Use push_patch() @ :show_sources -> :show_chapters
rtshkmr Aug 16, 2024
d160a32
Handle data load & nav:show_chapters->:show_verses
rtshkmr Aug 16, 2024
2d67555
Create VyasaWeb.Content.Verses live_component
rtshkmr Aug 16, 2024
2f88c9b
Wire up handshakes successfully, shift to patches
rtshkmr Aug 16, 2024
920a806
Fix css issues
rtshkmr Aug 16, 2024
4d4d142
More minor css fixes
rtshkmr Aug 16, 2024
851b323
handle empty events payload
Aug 16, 2024
51d020c
Merge branch 'fix/approach-2-mounting-woes' into ops/librarian
Aug 16, 2024
9dbc123
migrator restore
Aug 16, 2024
c0805b4
fix voice non existo with guard clause
Aug 16, 2024
c11a801
Vyas Font
Aug 17, 2024
bceda5b
Script Support
Aug 18, 2024
9352e74
Add fallthrough to devanagari for lang2script
rtshkmr Aug 18, 2024
b6aa231
Add display manager (#84)
rtshkmr Aug 19, 2024
861295d
Fix mounting woes by rendering content as live_component within DM (#86)
rtshkmr Aug 19, 2024
38c0b8b
🚀 Soft Launch Prep 🚀 (#43)
ks0m1c Aug 19, 2024
165cc4e
Sync blog with master (#93)
rtshkmr Aug 19, 2024
43d900d
Cleanup: extract components into different files
rtshkmr Aug 20, 2024
28fca63
Kill source_live/
rtshkmr Aug 21, 2024
b934fc9
[WIP]: partial impl browser hist popstate handler
rtshkmr Aug 22, 2024
2e21432
Add missing file for BrowserNavInterceptor hook
rtshkmr Aug 23, 2024
5b1a9be
LiveAdmin unblock
Aug 23, 2024
44bc1b3
Gettext Update Backends
Aug 23, 2024
8f02380
Change tag->ref, Vyasa.Gettext->VyasaWeb.Gettext
rtshkmr Aug 23, 2024
22e9bed
Rm use of BrowserNavInterceptor
rtshkmr Aug 23, 2024
3830f7a
Minor cleanup of unused code
rtshkmr Aug 25, 2024
9a86567
Define slotting pattern, let DM handle hoverune
rtshkmr Aug 25, 2024
5041cea
Minor change
rtshkmr Aug 25, 2024
24a6a96
Support slots for control panel modes to switch to
rtshkmr Aug 26, 2024
a41cac5
Change specific render fns -> generic fn component
rtshkmr Aug 26, 2024
2c80cb2
Cleanup: rm remnants of BrowserNavInterceptor
rtshkmr Aug 26, 2024
f10f460
Minor changes
rtshkmr Aug 26, 2024
6e604df
Shift MediaBridge to be everpresent, improve style
rtshkmr Aug 26, 2024
a2532e8
Add :show_media_bridge_default?, hides MediaBridge
rtshkmr Aug 26, 2024
2caf3f5
Add VyasaWeb.Hook.UserAgentHook to do ua_parsing
rtshkmr Aug 26, 2024
6353710
Fix ua_parsing issues
rtshkmr Aug 26, 2024
1e05d67
Minor changes
rtshkmr Aug 26, 2024
9a3c823
[UI]: hide MediaBridge if keyboard open on :mobile
rtshkmr Aug 26, 2024
5945547
[Attempt] handle capture of enter button press
rtshkmr Aug 26, 2024
66619a1
[WIP] prepare user_mode to inject action_bar slots
rtshkmr Aug 26, 2024
f6ce35b
Stream of Marks
Aug 27, 2024
f2b7d9a
Add Slottable ActionBar, cohere w MediaBridge
rtshkmr Aug 27, 2024
7b85d1c
Merge branch 'feat/drafting-state-handling' into ops/zone0A/persist
ks0m1c Aug 27, 2024
2c87ab3
Fixed Dupe
Aug 27, 2024
dcd090c
Hygiene eq_verse_binding guard
Aug 27, 2024
a863d88
Stream of Marks (#96)
ks0m1c Aug 27, 2024
a40491d
Style the control panel with glass ui
rtshkmr Aug 28, 2024
2a0a146
Create VerseMatrix live_component
rtshkmr Aug 29, 2024
7cfe5e0
Minor cleanups / rearranging of code
rtshkmr Aug 29, 2024
88fd666
Style the quick draft components
rtshkmr Aug 29, 2024
b73d639
Iterate on quick draft container
rtshkmr Aug 29, 2024
3d33f99
Title Translit Shift and Change of Chapters Query
Aug 31, 2024
4122c77
Change of Navigation 4 Singular Hymns like Chalisa
Aug 31, 2024
3d892bc
Language Script Changes
Aug 31, 2024
a772ff9
Migration for Thiruvasagam
Aug 31, 2024
e9d53f0
Use %UiState{} for managing ui state
rtshkmr Aug 31, 2024
cf27ef7
Add meaningful helpers to Vyasa.Display.UiState
rtshkmr Aug 31, 2024
e33b94b
Quick refactor: use a struct for UI state (#99)
ks0m1c Aug 31, 2024
4ebf50c
Change to Karma Font
Aug 31, 2024
04b829a
Support Audio and MP4 players as well
Aug 31, 2024
8841963
Add Keymapper
Aug 31, 2024
73d2a38
Rm draft mode as an explicit major mode
rtshkmr Sep 4, 2024
a32e14a
Add read() step to migration
rtshkmr Sep 5, 2024
2691ed1
Init VyasaWeb.Content.ReadingContent
rtshkmr Sep 9, 2024
95bba18
Shift BindHoveRune eventhandling to content module
rtshkmr Sep 9, 2024
b4afc1a
Port over UI effectors to ReadingContent
rtshkmr Sep 10, 2024
4cc59b9
Admin Event Fix
Sep 10, 2024
d3c82a0
stream handling for bulk streaming downloads
Sep 10, 2024
a953c4e
Port over event handlers for marks and quotes
rtshkmr Sep 10, 2024
07e55e5
Rm commented-out, stale code
rtshkmr Sep 10, 2024
68b051d
Define @component_slots in %UserMode{} & selectors
rtshkmr Sep 10, 2024
99aabde
Def UserMode slots dynamically,hydrate selectors
rtshkmr Sep 10, 2024
8bd3111
Fix minor selector string bug
rtshkmr Sep 10, 2024
2b0e235
Rename state @HoveRune hook, parentId->eventTarget
rtshkmr Sep 10, 2024
b314203
Minor changes
rtshkmr Sep 10, 2024
793bed0
Merge branch 'refactor/rm-draft-mode' into ops/zone0A/persist
Sep 19, 2024
0edf1d2
Session Local Persistence
Sep 21, 2024
4d7bab4
Prep DB & Scaffold Sangh Session
Sep 21, 2024
f0ac479
Draft Table Persistence of Marks
Sep 21, 2024
08effb6
Sangh autogenerates id now
Sep 21, 2024
82e4ae0
Relax constraint on session sync to automated id
Sep 21, 2024
2ba1c5d
Guard Check
ks0m1c Sep 23, 2024
f113e71
Drafting Table to Reflector
Sep 23, 2024
290742c
Helm for 1single Chalisa
Sep 23, 2024
6d0630e
Raname Content.ReadingContent -> Context.Read
rtshkmr Sep 23, 2024
ce82998
DisplayManager -> ModeManager
rtshkmr Sep 23, 2024
6a7f10e
Rename Mode.ManagerLive -> ModeLive.Mediator
rtshkmr Sep 23, 2024
778c718
Shift all web modules to VyasaWeb
rtshkmr Sep 23, 2024
e1f622c
guard sangh_id existence on mount
Sep 23, 2024
cec2493
Merge branch 'ops/zone0A/persist' into refactor/rename-major-modules
rtshkmr Sep 23, 2024
f024f7f
Sheafu is up
Sep 23, 2024
3ebd5b1
Shed some weight
rtshkmr Sep 23, 2024
a6841ff
Cleanup lib/vyasa
rtshkmr Sep 23, 2024
64a709b
More reorgs
rtshkmr Sep 23, 2024
e088225
[Refactor] Improve naming of major modules (#106)
ks0m1c Sep 23, 2024
d374ebb
Merge branch 'refactor/rm-draft-mode' into ops/zone0A/persist
Sep 23, 2024
7052bef
Sangh Sessions and Migration Prep (#103)
rtshkmr Sep 23, 2024
df554e2
Set up scaffolds for state changes and DM slots (#94)
rtshkmr Sep 23, 2024
6b96b26
Merge branch 'master' into ops/zone0A/persist
Sep 23, 2024
9b338d2
Merge branch 'master' into ops/zone0A/persist
rtshkmr Sep 23, 2024
49a6a05
Sangh Drafting Persistence et al (#100)
rtshkmr Sep 23, 2024
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
5 changes: 5 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

AWS_ACCESS_KEY_ID=secrettunnel
AWS_SECRET_ACCESS_KEY=secrettunnel
AWS_DEFAULT_REGION=ap-southeast-1
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/alchemy.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ assignees: ''

### Present Context

<details>
<summary>Helping words...</summary>

Where we collectively investigate and interrogate the problem space and iteratively scope our approach.

Breakdown to landmarks that communicate shared context we are working towards through 2-tiered task list, CRUD list elements as development unfolds.
Expand All @@ -25,8 +28,16 @@ Strike the scope of code that reveals the most about the problem/solution FIRST

```
---

</details>

### Groundwork

<details>
<summary> Helping words...</summary>



Introduce us to the problem space. Write out what you already know about the terrain you are the recce commander enriching us with details beyond the fog of war.

Where have you tried applying and encountered difficulties?
Expand All @@ -42,8 +53,15 @@ Emphasis on previous or current practice to discover what is ugly, missing, or u
INPUT UR ANSWER HERE
```
---


</details>


### Reflection

<details>
<summary> Helping words...</summary>
Where the eternal wheel returns back to practice and what we finally implemented is to be outlined. You are the historian or archivist bringing clarity to future-yous and us about your foray.

Emphasis on approaching timeless solutions for well-defined problem space through distillation by decanting that which is un-needed and abstracting that which is essential to approaching the problem space.
Expand All @@ -54,4 +72,7 @@ Add any reflections and internal links to future potential and blindsides.
INPUT UR ANSWER HERE
```

</details>



86 changes: 86 additions & 0 deletions .github/workflows/hugo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo Blog site to Pages

on:
# Runs on pushes targeting the default branch
push:
branches:
- blog

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

# Default to bash
defaults:
run:
shell: bash

jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.127.0
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4
- name: check stuff
working-directory: ./vyasa_blog
run: |
echo "Hello world, it's time to test the working directory: " && pwd
- name: Install Node.js dependencies
working-directory: ./vyasa_blog
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
TZ: America/Los_Angeles
working-directory: ./vyasa_blog
run: |
hugo \
--gc \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./vyasa_blog/public


# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
70 changes: 38 additions & 32 deletions .github/workflows/prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ on:

jobs:
test:

name: Build and Run Mix Test
runs-on: ubuntu-latest
runs-on: ubuntu-22.04 # Use a specific version for stability
name: Build OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} && Run Mix Test
services:
postgres:
image: postgres:latest
Expand All @@ -18,48 +17,55 @@ jobs:
POSTGRES_USER: postgres
ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
matrix:
otp: ['26.2']
elixir: ['1.16.3']
steps:
- uses: actions/checkout@v2
- name: Install dependecies for build
run: sudo apt-get install -y libncurses-dev libtinfo5
- name: Set up Elixir
uses: erlef/setup-elixir@885971a72ed1f9240973bd92ab57af8c1aa68f24
with:
elixir-version: '1.15.7' # Define the elixir version [required]
otp-version: '25' # Define the OTP version [required]
- name: Restore dependencies cache
uses: actions/cache@v2
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-
- name: Install dependencies
working-directory: ./
run: mix deps.get
- name: Run tests
env:
# use localhost for the host here because we are running the job on the VM.
# If we were running the job on in a container this would be postgres
POSTGRES_HOST: localhost
POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
working-directory: ./
run: mix test
- name: Checkout code
uses: actions/checkout@v4 # Pin to a specific version for stability

- name: Install dependencies for build
run: sudo apt-get update && sudo apt-get install -y libncurses-dev libtinfo5

- name: Setup Elixir and OTP
uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}

- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-

- name: Install dependencies
run: mix deps.get

- name: Run tests
env:
POSTGRES_HOST: localhost
POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
run: mix test

deploy:
needs: test
name: Build & Deploy to Fly
runs-on: ubuntu-latest
runs-on: ubuntu-22.04 # Use a specific version for stability

steps:
- uses: actions/checkout@v2
- uses: superfly/flyctl-actions@master
- name: Checkout code
uses: actions/checkout@v4 # Pin to a specific version for stability

- name: Deploy to Fly.io
uses: superfly/flyctl-actions@master
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
FLY_APP: vyasa
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ npm-debug.log

# Any Secret Configs
/config/*.secret.exs
/venv/
**.DS_Store
/vyasa_blog/public/ltximg/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "vyasa_blog/themes/PaperMod"]
path = vyasa_blog/themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blog.vyasa.tv
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ RUN chown nobody /app

# copies over font files, updates debian runner's font cache:
RUN echo "...syncing font file(s)"
COPY ./priv/static/fonts/gotu/* /usr/share/fonts/truetype/
COPY ./priv/static/fonts/dn/* /usr/share/fonts/truetype/
COPY ./priv/static/fonts/ta/* /usr/share/fonts/truetype/
RUN apt-get update && apt-get install -y fontconfig
RUN fc-cache -f -v
RUN echo "...[DONE] syncing font file(s)"
Expand Down
105 changes: 86 additions & 19 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,104 @@ Wherever there be anything you dost not comprehend, cease to continue writing
-- Vyasa, Adi Parva - Mahabharatam
#+END_QUOTE

* Forms of Prior Art
** [[http://worrydream.com/refs/Nelson-ComputerLibDreamMachines1975.pdf#page=57][Xanadu Pattern]]

Ted Nelson the granddaddy of hypertext media, need I say more. The introduction to [[https://cs.brown.edu/people/nmeyrowi/LiteraryMachinesChapter2.pdf#page=12][Literary Machines]] is instructive to delineating the problem boundaries for literature
* What is the _*Vyasa Project*_?
=TODO=

* Getting Started Locally
** Basic setup instructions
*** Pre-requisites
1. Language Setup for Elixir. For any development environment of your choice, setup the necessary LSPs for elixir.
2. Docker
3. AWS cli
We use minio for local setup. At least a dummy profile needs to be set up using the aws cli.

*** First Setup Steps
We first setup the servers that get run and then do teh data migration steps.

We can use the [[file:docs/migration_ritesh.livemd::Migration steps][livemarkdown here]] for the data migration steps.

1. start docker, use the [[file:docker-compose.yml][docker-compose file]] already available. This will start the minio, pg and the like
#+begin_quote sh
docker compose up
#+end_quote
2. init aws cli, use a dummy profile
writing to the =~/.aws/credentials= file will work as well:

#+begin_quote toml
[default]
aws_access_key_id = secrettunnel
aws_secret_access_key = secrettunnel
#+end_quote
3. create the s3 bucket that shall be used
#+begin_quote sh
aws --endpoint-url http://localhost:9000 s3 mb s3://vyasa
#+end_quote
4. install the elixir deps
#+begin_quote elixir
mix deps.get
#+end_quote
5. do an initial db migration
#+begin_quote elixir
mix ecto.setup
#+end_quote
6. [Data seeding] Seed the text, written and events
This requires us to use a .json dump. [[./scripts/wow.json][Here's an example]] of such a dump.

We also need some voices files to init the voices. The voices repo is a private repo for now, can be found [[https://github.com/ve1ld/voices][here]].

For an easier time, use [[file:docs/migration_ritesh.livemd][this livemarkdown]].

*** Starting Steps
1. Start aux services by running docker compose up
2. Start the vyasa server
#+begin_quote bash
iex --sname vyasa --cookie foofoo --dbg pry -S mix phx.server
#+end_quote



* CLI Scripts Helpsheet
** 1. Running the shlokam.org scraper
#+begin_quote elixir
# build script
mix escript.build
# fetch from domain/path --storage :mode
./vyasa fetch shlokam.org/hanumanchalisa --storage file
#+end_quote

* Matter of Prior Work
We stand on the shoulders of giants. Here are some of the project that insipired this project into being started

** Prior Art
*** [[http://www.shivkumar.org/music/Thiruppavai-04-AazhiMazhaiKanna-Varali.htm][Shivkumar's Archives]]

** [[https://gwern.net/design][Design of Gwern.net]]
Shivkumar Kalyanaraman has compiled and archived a wealth of song recordings, paired with word-by-word meanings

Gwern has incorporated sidenotes instead of footnotes on wide windows, drop caps, smallcaps, collapsible sections, automatic inflation-adjusted currency, Wikipedia-style link icons & infoboxes, custom syntax highlighting, extensive local archives to fight linkrot (archive engine), and an ecosystem of “popup”/“popin” annotations & previews of links for frictionless browsing—the net effect of hierarchical structures with collapsing and instant popup access to excerpts enables iceberg-like pages where most information is hidden but the reader can easily drill down as deep as they wish.
*** [[https://shaivam.org/hindu-prayer-hub/detail/521][Shaivam]]

** [[https://edwardtufte.github.io/tufte-css/][Tufte.css]]
Built and maintained by devotees since 1996 a wealth of textual archives

Edward Tufte has developed a distinctive style in his works: simple, with well-set typography, extensive sidenotes, and elegant representations of graphs and charts
*** [[https://www.holy-bhagavad-gita.org/chapter/5/verse/8-9][Holy Bhagavad Gita]]

** [[https://ctext.org/introduction][CText]]
A tremendous effort by Jagadguru Kripaluji Trust

Dr. Donald Sturgeon has compiled a great corpus of ancient (in particular pre-Qin and Han dynasty) Chinese texts in an organized and searchable format which has been composed through an parallel passage interface, word lists for semantic linking and ancient text database.
** Forms of Prior Art as Inspiration
*** [[http://worrydream.com/refs/Nelson-ComputerLibDreamMachines1975.pdf#page=57][Xanadu Pattern ]]

Ted Nelson the granddaddy of hypertext media, need I say more. The introduction to [[https://cs.brown.edu/people/nmeyrowi/LiteraryMachinesChapter2.pdf#page=12][Literary Machines]] is instructive to delineating the problem boundaries for literature

** [[https://www.iwritewordsgood.com/apl/patterns/apl101.htm][Pattern Language]]
*** [[https://gwern.net/design][Design of Gwern.net]]

Christopher Alexander's pattern language arranges a series of steps, in a certain way that allows the process of unfolding to proceed. The rules are ordered – sequenced – to unfold each part of the environment being created, smoothly and coherently [[https://www.livingneighborhoods.org/ht-0/morphogenesis-two.htm][enlarging the whole]].

* Matter of Prior Art
** [[http://www.shivkumar.org/music/Thiruppavai-04-AazhiMazhaiKanna-Varali.htm][Shivkumar's Archives]]
Gwern has incorporated sidenotes instead of footnotes on wide windows, drop caps, smallcaps, collapsible sections, automatic inflation-adjusted currency, Wikipedia-style link icons & infoboxes, custom syntax highlighting, extensive local archives to fight linkrot (archive engine), and an ecosystem of “popup”/“popin” annotations & previews of links for frictionless browsing—the net effect of hierarchical structures with collapsing and instant popup access to excerpts enables iceberg-like pages where most information is hidden but the reader can easily drill down as deep as they wish.

Shivkumar Kalyanaraman has compiled and archived a wealth of song recordings, paired with word-by-word meanings
*** [[https://edwardtufte.github.io/tufte-css/][Tufte.css]]

** [[https://shaivam.org/hindu-prayer-hub/detail/521][Shaivam]]
Edward Tufte has developed a distinctive style in his works: simple, with well-set typography, extensive sidenotes, and elegant representations of graphs and charts

Built and maintained by devotees since 1996 a wealth of textual archives
*** [[https://ctext.org/introduction][CText]]

** [[https://www.holy-bhagavad-gita.org/chapter/5/verse/8-9][Holy Bhagavad Gita]]
Dr. Donald Sturgeon has compiled a great corpus of ancient (in particular pre-Qin and Han dynasty) Chinese texts in an organized and searchable format which has been composed through an parallel passage interface, word lists for semantic linking and ancient text database.

A tremendous effort by Jagadguru Kripaluji Trust
*** [[https://www.iwritewordsgood.com/apl/patterns/apl101.htm][Pattern Language]]
Christopher Alexander's pattern language arranges a series of steps, in a certain way that allows the process of unfolding to proceed. The rules are ordered – sequenced – to unfold each part of the environment being created, smoothly and coherently [[https://www.livingneighborhoods.org/ht-0/morphogenesis-two.htm][enlarging the whole]].
Loading