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

Hanuman to the Moon #46

Closed
wants to merge 203 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
fe58e27
Add route to show specific <chap, verse>
rtshkmr Dec 5, 2023
714834b
Add JS-hook for WebShare-API/clipboard-copy
rtshkmr Dec 6, 2023
3ea3a4f
Cleanups based on PR review suggestions
rtshkmr Dec 19, 2023
f5b2b05
Use external heex template for show_verse
rtshkmr Dec 19, 2023
ee769e9
Support the addition of meta tags in the html head
rtshkmr Dec 20, 2023
fbc0162
Add meta tags to other views in gita_live
rtshkmr Dec 20, 2023
78085fb
Sidenote CSS
Dec 22, 2023
cc4573e
Test SideNotes View
Dec 22, 2023
6dfa835
Add image generation & routing
rtshkmr Dec 24, 2023
3a6e44b
Attempt minor fixes
rtshkmr Dec 24, 2023
d25475f
Navigate from chapter to individual verse
rtshkmr Dec 29, 2023
69da68f
Improve clipboard content
rtshkmr Dec 29, 2023
ea810ef
Add just-in-time image creation for og-images
rtshkmr Dec 30, 2023
fc188b1
SanghSessions Schema
Dec 30, 2023
733852c
enable 404 templates
Dec 30, 2023
49487aa
Consolidate Fallback Controller
Dec 30, 2023
8594bf3
Fix text
rtshkmr Dec 30, 2023
3239319
Add OgAdapter with filename encoder-decoder pair
rtshkmr Dec 31, 2023
6dbc7fb
Temporarily use atoms as text-id
rtshkmr Dec 31, 2023
6404adc
[sync] prod to quotation-enginge-v0 (#14)
rtshkmr Jan 2, 2024
38352c3
Hide issue template's helping words in dropdown.
rtshkmr Jan 2, 2024
05317c2
[WIP] Attempt @ YT Iframe Embed
rtshkmr Jan 3, 2024
cd8b297
Successfully use iframe embed
rtshkmr Jan 4, 2024
6b22a5c
Add v0 of quotation engine (#9)
rtshkmr Jan 6, 2024
64b1f24
Merge branch 'master' into ritesh/operation/#10-youtube-player
rtshkmr Jan 6, 2024
565a8ad
Add reference to obj via window.youtubePlayer
rtshkmr Jan 6, 2024
9315974
Add examples of interfacing w playr's playback fns
rtshkmr Jan 7, 2024
91e7c75
Add examples of playr's videoStats APIs
rtshkmr Jan 7, 2024
1b8f095
Add demonstration of using Floating UI (#20)
rtshkmr Jan 11, 2024
9bacc24
Merge branch 'master' into ritesh/operation/#10-youtube-player
rtshkmr Jan 12, 2024
726d114
Add basic version of a mini-player
rtshkmr Jan 13, 2024
faf5aa8
Sangh Schemas
Jan 13, 2024
575d7a4
SideNote Component
Jan 13, 2024
1bddbb4
Filter & Pagination Fns
Jan 13, 2024
1ea9f5a
Make improvements from code review
rtshkmr Jan 14, 2024
cc9ef5d
Cleanup code
rtshkmr Jan 14, 2024
fc13ae2
YouTube: User player API to control player & get stats (#15)
rtshkmr Jan 15, 2024
68e28e6
Add script for .srt creation
rtshkmr Jan 16, 2024
1595af5
Merge branch 'master' into ritesh/operation/video-IR
rtshkmr Jan 16, 2024
88c5f80
Scraper Lite
Jan 16, 2024
b7e3e07
[Attempt]: attempt usage of libindic for sim score
rtshkmr Jan 17, 2024
13571d7
[ATTEMPT]: minor improvements
rtshkmr Jan 18, 2024
ba60721
Add input file
rtshkmr Jan 18, 2024
35e7c92
[ATTEMPT] Add example of supposed usage of inltk
rtshkmr Jan 18, 2024
9d53d5e
Map structured text to lowfi autogenerated caption
rtshkmr Jan 21, 2024
86ccc12
Minor cleanups
rtshkmr Jan 21, 2024
1a50e69
[ATTEMPT]: migration for cloning the gita
rtshkmr Jan 22, 2024
472ee73
[WIP] Migration file & livebook for cloning gita
rtshkmr Jan 27, 2024
a0b2266
Changing Ports Config
Jan 27, 2024
5769050
General Changes to Migrations
Jan 27, 2024
38b7d6e
[ATTEMPT]: changeset issues
rtshkmr Jan 27, 2024
1ad4931
Vyasa Struct Formation - Chapter Verse Axis
Jan 27, 2024
84c375e
Clean up working example of how to do changesets
rtshkmr Jan 27, 2024
3c8fa9e
Fix bug in data ingestion script
rtshkmr Jan 28, 2024
20b7205
Clone db
rtshkmr Jan 28, 2024
638664b
Wired in enough to merge changes in; still unclean
rtshkmr Jan 28, 2024
cc5d2d9
Add missed fields to Chapter schema
rtshkmr Jan 28, 2024
3df8efd
Minor aesthetic changes
rtshkmr Jan 28, 2024
d822440
Use friendly source_title instead of source_id
rtshkmr Jan 28, 2024
7c54867
Cleanups
rtshkmr Jan 28, 2024
677dd41
Polymorphic Translations
Jan 29, 2024
dbd2c14
untested attempt at updating the db.seed()
rtshkmr Jan 31, 2024
c716a36
Use polymorphic entities in liveview
rtshkmr Feb 1, 2024
aefdfea
Minor cleanups
rtshkmr Feb 1, 2024
a552885
Make minor improvements from code review
rtshkmr Feb 3, 2024
cf221ea
Kill transliteration
rtshkmr Feb 3, 2024
c79183d
Use Query,separate fn for pressie ctx,inject lang
rtshkmr Feb 3, 2024
4d826a2
[Operation] Video IR (#22)
rtshkmr Feb 4, 2024
34b43c1
Merge pull request #27 from ve1ld/ritesh/gita-to-db
ks0m1c Feb 4, 2024
d2f0936
Migrations Ground Prep
Feb 6, 2024
2919ab3
Schema and Query Contexts
Feb 6, 2024
22c95d1
Local Infra Integration for MinIO
Feb 6, 2024
5afadec
ext_path support for upload
Feb 6, 2024
325a2e7
Tracks & Events
Feb 6, 2024
62e0e0f
Minor change: ~R -> ~r
rtshkmr Feb 7, 2024
a95ecca
Init audio player css
rtshkmr Feb 8, 2024
7bc8b37
[Attempt]: add a stub getter for voices
rtshkmr Feb 9, 2024
7ab35aa
fs writer using run()
Feb 9, 2024
901b797
Merge branch 'ops/ValmikiRamayana' into ops/media-player
rtshkmr Feb 9, 2024
fc87f1e
Add Written.get_voice_stub()
rtshkmr Feb 10, 2024
94115fe
Handle play and pause, less elapsed-time tracking
rtshkmr Feb 11, 2024
4bed76c
Keep playback state
rtshkmr Feb 12, 2024
7809cfb
Handle (resume / fresh) play cases
rtshkmr Feb 13, 2024
df3ea6c
Foundations of the CLI (#24)
ks0m1c Feb 13, 2024
cc010de
Gita/1 with Event Fragments Support
Feb 14, 2024
8a2d0c4
Update Stub fns
Feb 14, 2024
1f1786a
Minor improvements to seeder file and other assocs
rtshkmr Feb 17, 2024
f0a6f88
[Attempt]: Face race condition, happy path works
rtshkmr Feb 17, 2024
be68f42
It's aliveeeeeeeee
rtshkmr Feb 17, 2024
dee98f5
Session Data Client/Server Sync
Feb 19, 2024
1e2ebee
PubSub with Handshake
Feb 19, 2024
040e874
Client Side Events Handle
Feb 19, 2024
e260100
Sync Session with 3-way handshake
Feb 19, 2024
d73e3af
Shift gen_voice_playback to media_library
rtshkmr Feb 19, 2024
273e15f
Support player seeking
rtshkmr Feb 20, 2024
d7de86c
Add missing files
rtshkmr Feb 21, 2024
12fa218
Admin Controls for Event
Feb 21, 2024
aac5821
Update AdminView
Feb 22, 2024
3c3381d
Merge branch 'master' into ops/media-player
rtshkmr Feb 22, 2024
d8bd6f8
Cleanups from code review
rtshkmr Feb 23, 2024
fa98213
Make improvements to player related code
rtshkmr Feb 23, 2024
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
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
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