diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.markdown-preview.html b/.markdown-preview.html old mode 100644 new mode 100755 diff --git a/.projectile b/.projectile old mode 100644 new mode 100755 diff --git a/20241210233721-brain_moc.org b/20241210233721-brain_moc.org old mode 100644 new mode 100755 diff --git a/20260421100223-dailies.org b/20260421100223-dailies.org old mode 100644 new mode 100755 diff --git a/20260505143034-deen_moc.org b/20260505143034-deen_moc.org old mode 100644 new mode 100755 diff --git a/20260505144045-dawrah.org b/20260505144045-dawrah.org old mode 100644 new mode 100755 diff --git a/Articles/20260501153346-substack_articles.org b/Articles/20260501153346-substack_articles.org old mode 100644 new mode 100755 diff --git a/Articles/20260501154646-the_20_software_engineering_laws.org b/Articles/20260501154646-the_20_software_engineering_laws.org old mode 100644 new mode 100755 diff --git a/Books/20241231172543-the_science_of_self_discipline.org b/Books/20241231172543-the_science_of_self_discipline.org old mode 100644 new mode 100755 diff --git a/Books/20250715223949-the_clean_coder.org b/Books/20250715223949-the_clean_coder.org old mode 100644 new mode 100755 diff --git a/Books/20250723182408-so-good-they-cant-ignore-you.org b/Books/20250723182408-so-good-they-cant-ignore-you.org old mode 100644 new mode 100755 diff --git a/Books/20250723183655-career_capital.org b/Books/20250723183655-career_capital.org old mode 100644 new mode 100755 diff --git a/Books/20250723183755-deliberate_practice.org b/Books/20250723183755-deliberate_practice.org old mode 100644 new mode 100755 diff --git a/Books/20250723184430-stanford_marshmallow_experiment.org b/Books/20250723184430-stanford_marshmallow_experiment.org old mode 100644 new mode 100755 diff --git a/Books/20250723185056-neuroplasticity.org b/Books/20250723185056-neuroplasticity.org old mode 100644 new mode 100755 diff --git a/Books/20250724230557-books_org_agenda.org b/Books/20250724230557-books_org_agenda.org old mode 100644 new mode 100755 index bba7d16..31a5d94 --- a/Books/20250724230557-books_org_agenda.org +++ b/Books/20250724230557-books_org_agenda.org @@ -7,7 +7,7 @@ #+filetags: :books:org:index: #+DATE: 2025-05-19 #+STARTUP: content -#+PROPERTY: GENERATED_AT 2026-05-13T00:00:01.542836 +#+PROPERTY: GENERATED_AT 2026-05-14T00:00:01.546859 * Career ** Clean Code_ A Handbook of Agile Software Craftsmanship - Robert C. Martin :Read: diff --git a/Books/20250727174809-books_moc.org b/Books/20250727174809-books_moc.org old mode 100644 new mode 100755 diff --git a/Books/20250727174903-book_recs.org b/Books/20250727174903-book_recs.org old mode 100644 new mode 100755 diff --git a/Books/20250727221512-clean_code.org b/Books/20250727221512-clean_code.org old mode 100644 new mode 100755 diff --git a/Books/20260331113318-ikigai_notes.org b/Books/20260331113318-ikigai_notes.org old mode 100644 new mode 100755 diff --git a/Books/20260402115029-dose_effect_notes.org b/Books/20260402115029-dose_effect_notes.org old mode 100644 new mode 100755 diff --git a/Books/20260417162601-effect_of_tiktok_on_teens_notes.org b/Books/20260417162601-effect_of_tiktok_on_teens_notes.org old mode 100644 new mode 100755 diff --git a/Books/20260418185858-effects_of_insufficient_sleep_on_circadian_rhythmicity_article_notes.org b/Books/20260418185858-effects_of_insufficient_sleep_on_circadian_rhythmicity_article_notes.org old mode 100644 new mode 100755 diff --git a/Books/20260418211930-the_book_of_ichigo_ichie_book_notes.org b/Books/20260418211930-the_book_of_ichigo_ichie_book_notes.org old mode 100644 new mode 100755 diff --git a/Books/20260418225944-art_of_computer_programming_notes.org b/Books/20260418225944-art_of_computer_programming_notes.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20250722221649-career_moc.org b/Career Concepts/20250722221649-career_moc.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20250723200800-postgres.org b/Career Concepts/20250723200800-postgres.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20250727122406-database_moc.org b/Career Concepts/20250727122406-database_moc.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20250804201706-big_o_complexity.org b/Career Concepts/20250804201706-big_o_complexity.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20251223215636-design_patterns_notes.org b/Career Concepts/20251223215636-design_patterns_notes.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20251229180039-airflow.org b/Career Concepts/20251229180039-airflow.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20251229180156-airflow_tasks.org b/Career Concepts/20251229180156-airflow_tasks.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20251229180249-airflow_dags.org b/Career Concepts/20251229180249-airflow_dags.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260101010049-concepts.org b/Career Concepts/20260101010049-concepts.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260101011126-xor.org b/Career Concepts/20260101011126-xor.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260101012549-solid_principles.org b/Career Concepts/20260101012549-solid_principles.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260101012731-solid_principles_examples.org b/Career Concepts/20260101012731-solid_principles_examples.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260115152626-apim.org b/Career Concepts/20260115152626-apim.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260121173318-api_architecture.org b/Career Concepts/20260121173318-api_architecture.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260305102210-cicd_example.org b/Career Concepts/20260305102210-cicd_example.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260305111610-cicd_summary.org b/Career Concepts/20260305111610-cicd_summary.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260305130457-database_perms_roles_accounts.org b/Career Concepts/20260305130457-database_perms_roles_accounts.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260305132058-restful_api.org b/Career Concepts/20260305132058-restful_api.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260327110908-api_intro_notes.org b/Career Concepts/20260327110908-api_intro_notes.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260327114708-asp_net_core_6_apis_notes.org b/Career Concepts/20260327114708-asp_net_core_6_apis_notes.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260328215014-software_dev_methodologies.org b/Career Concepts/20260328215014-software_dev_methodologies.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260407102129-mvp_mvt.org b/Career Concepts/20260407102129-mvp_mvt.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410115348-microlise_ess.org b/Career Concepts/20260410115348-microlise_ess.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410121527-ess_esp_index.org b/Career Concepts/20260410121527-ess_esp_index.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410121719-esp_applications.org b/Career Concepts/20260410121719-esp_applications.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410121927-esp_pipeline.org b/Career Concepts/20260410121927-esp_pipeline.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122116-ess_scripts.org b/Career Concepts/20260410122116-ess_scripts.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122303-ess_manifest.org b/Career Concepts/20260410122303-ess_manifest.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122425-ess_database.org b/Career Concepts/20260410122425-ess_database.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122604-ess_deploy_stages.org b/Career Concepts/20260410122604-ess_deploy_stages.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122754-esp_known_issues.org b/Career Concepts/20260410122754-esp_known_issues.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410122935-esp_open_questions.org b/Career Concepts/20260410122935-esp_open_questions.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260410123131-esp_glossary.org b/Career Concepts/20260410123131-esp_glossary.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260413120825-windows_services.org b/Career Concepts/20260413120825-windows_services.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260413154901-dll.org b/Career Concepts/20260413154901-dll.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260505121135-seb_search_improvements.org b/Career Concepts/20260505121135-seb_search_improvements.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260512121806-data_camp_ai_training.org b/Career Concepts/20260512121806-data_camp_ai_training.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260513115140-powershell_moc.org b/Career Concepts/20260513115140-powershell_moc.org old mode 100644 new mode 100755 diff --git a/Career Concepts/20260513142352-aritificial_intelligence.org b/Career Concepts/20260513142352-aritificial_intelligence.org old mode 100644 new mode 100755 index a4cde93..f1b651c --- a/Career Concepts/20260513142352-aritificial_intelligence.org +++ b/Career Concepts/20260513142352-aritificial_intelligence.org @@ -8,5 +8,6 @@ ** DONE [#A] Remove/fix the territory anchors ** DONE [#A] Clean up the hidden authoring service, and remove relationships / threads, but introduce a story like connection ** DONE [#B] Move the authoring service into its own repo -** TODO [#C]: Clean up the code (js, css files) -** +** DONE [#C]: Clean up the code (js, css files) +** TODO [#A]: Improve the search UI in org web +** TODO [#A]: Improve the search UI in org roam diff --git a/Emacs/20241210004247-emacs_moc.org b/Emacs/20241210004247-emacs_moc.org old mode 100644 new mode 100755 diff --git a/Emacs/20241210004329-org_roam.org b/Emacs/20241210004329-org_roam.org old mode 100644 new mode 100755 diff --git a/Emacs/20241210004453-gtd.org b/Emacs/20241210004453-gtd.org old mode 100644 new mode 100755 diff --git a/Emacs/20250218174735-emacs_stuff_keybindings.org b/Emacs/20250218174735-emacs_stuff_keybindings.org old mode 100644 new mode 100755 diff --git a/Emacs/20250326002128-emacs_stuff_elisp.org b/Emacs/20250326002128-emacs_stuff_elisp.org old mode 100644 new mode 100755 diff --git a/Emacs/20250329231658-emacs_stuff_magit.org b/Emacs/20250329231658-emacs_stuff_magit.org old mode 100644 new mode 100755 diff --git a/Emacs/20250420012258-emacs_stuff_evil.org b/Emacs/20250420012258-emacs_stuff_evil.org old mode 100644 new mode 100755 diff --git a/Emacs/20250806155335-emacs_stuff_org_publish.org b/Emacs/20250806155335-emacs_stuff_org_publish.org old mode 100644 new mode 100755 diff --git a/Emacs/20260401100130-emacs_org_noter.org b/Emacs/20260401100130-emacs_org_noter.org old mode 100644 new mode 100755 diff --git a/Emacs/20260401100839-emacs_calendar.org b/Emacs/20260401100839-emacs_calendar.org old mode 100644 new mode 100755 diff --git a/Emacs/20260407083539-emacs_config.org b/Emacs/20260407083539-emacs_config.org old mode 100644 new mode 100755 diff --git a/Linux/20250213124335-i3_wm.org b/Linux/20250213124335-i3_wm.org old mode 100644 new mode 100755 diff --git a/Linux/20250417173809-linux_moc.org b/Linux/20250417173809-linux_moc.org old mode 100644 new mode 100755 diff --git a/Linux/20250417173809-linux_stuff.org b/Linux/20250417173809-linux_stuff.org old mode 100644 new mode 100755 diff --git a/Linux/20250417173821-wacom_notes.org b/Linux/20250417173821-wacom_notes.org old mode 100644 new mode 100755 diff --git a/Linux/20250428133236-systemd_services.org b/Linux/20250428133236-systemd_services.org old mode 100644 new mode 100755 diff --git a/Linux/20250516161728-gpg_encryption.org b/Linux/20250516161728-gpg_encryption.org old mode 100644 new mode 100755 diff --git a/Linux/20250703183239-linux_arch_linux.org b/Linux/20250703183239-linux_arch_linux.org old mode 100644 new mode 100755 diff --git a/Linux/20250723190927-self_hosting.org b/Linux/20250723190927-self_hosting.org old mode 100644 new mode 100755 diff --git a/Linux/20250727120306-nextcloud.org b/Linux/20250727120306-nextcloud.org old mode 100644 new mode 100755 diff --git a/Linux/20251019114736-server_moc.org b/Linux/20251019114736-server_moc.org old mode 100644 new mode 100755 diff --git a/Linux/20260227103506-vaultwarden.org b/Linux/20260227103506-vaultwarden.org old mode 100644 new mode 100755 diff --git a/Linux/20260409135127-cloudflare.org b/Linux/20260409135127-cloudflare.org old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/Misc/#20251101123637-backlog.org# b/Misc/#20251101123637-backlog.org# old mode 100644 new mode 100755 diff --git a/Misc/20241210001045-technical_moc.org b/Misc/20241210001045-technical_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20241211161232- job_application_cover_letters.org b/Misc/20241211161232- job_application_cover_letters.org old mode 100644 new mode 100755 diff --git a/Misc/20241211161232-applications.org b/Misc/20241211161232-applications.org old mode 100644 new mode 100755 diff --git a/Misc/20250402185735-java_moc.org b/Misc/20250402185735-java_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20250430001952-microlise_assessment.org b/Misc/20250430001952-microlise_assessment.org old mode 100644 new mode 100755 diff --git a/Misc/20250717230336-recipes_moc.org b/Misc/20250717230336-recipes_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20250719174944-recipes_ideas.org b/Misc/20250719174944-recipes_ideas.org old mode 100644 new mode 100755 diff --git a/Misc/20250719175023-recipes_done.org b/Misc/20250719175023-recipes_done.org old mode 100644 new mode 100755 diff --git a/Misc/20250723185829-test_driven_development.org b/Misc/20250723185829-test_driven_development.org old mode 100644 new mode 100755 diff --git a/Misc/20250723185943-bowling_kata.org b/Misc/20250723185943-bowling_kata.org old mode 100644 new mode 100755 diff --git a/Misc/20250723190203-java_portswrigger_test.org b/Misc/20250723190203-java_portswrigger_test.org old mode 100644 new mode 100755 diff --git a/Misc/20250723190656-java_junit_testing.org b/Misc/20250723190656-java_junit_testing.org old mode 100644 new mode 100755 diff --git a/Misc/20250806111925-non_technical_moc.org b/Misc/20250806111925-non_technical_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20250918120519-misc_moc.org b/Misc/20250918120519-misc_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20250918120706-wedding_moc.org b/Misc/20250918120706-wedding_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20250926151524-workflow_moc.org b/Misc/20250926151524-workflow_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20251002154125-microlise_moc.org b/Misc/20251002154125-microlise_moc.org old mode 100644 new mode 100755 diff --git a/Misc/20251002154204-pre_work_prep_microlise.org b/Misc/20251002154204-pre_work_prep_microlise.org old mode 100644 new mode 100755 diff --git a/Misc/20251019114758-old_nextcloud_server_code.org b/Misc/20251019114758-old_nextcloud_server_code.org old mode 100644 new mode 100755 diff --git a/Misc/20251101123637-backlog.org b/Misc/20251101123637-backlog.org old mode 100644 new mode 100755 diff --git a/Misc/20251109205925-old_nginx_code.org b/Misc/20251109205925-old_nginx_code.org old mode 100644 new mode 100755 diff --git a/Misc/20251122223053-keyboard.org b/Misc/20251122223053-keyboard.org old mode 100644 new mode 100755 diff --git a/Misc/20251214210526-useful_c_imports.org b/Misc/20251214210526-useful_c_imports.org old mode 100644 new mode 100755 diff --git a/Misc/20251223220531-technical_commonplace.org b/Misc/20251223220531-technical_commonplace.org old mode 100644 new mode 100755 diff --git a/Misc/20260101143401-actual_self_hosted.org b/Misc/20260101143401-actual_self_hosted.org old mode 100644 new mode 100755 diff --git a/Misc/20260101194248-gitea.org b/Misc/20260101194248-gitea.org old mode 100644 new mode 100755 diff --git a/Misc/20260107182221-2026_targets.org b/Misc/20260107182221-2026_targets.org old mode 100644 new mode 100755 diff --git a/Misc/20260111204228-rss_articles.org b/Misc/20260111204228-rss_articles.org old mode 100644 new mode 100755 diff --git a/Misc/20260117194854-programming_projects.org b/Misc/20260117194854-programming_projects.org old mode 100644 new mode 100755 diff --git a/Misc/20260211114817-personal_operating_system.org b/Misc/20260211114817-personal_operating_system.org old mode 100644 new mode 100755 diff --git a/Misc/20260211124505-timetable.org b/Misc/20260211124505-timetable.org old mode 100644 new mode 100755 diff --git a/Misc/20260307165727-proverbs.org b/Misc/20260307165727-proverbs.org old mode 100644 new mode 100755 diff --git a/Misc/20260307233451-recipes_cookbook.org b/Misc/20260307233451-recipes_cookbook.org old mode 100644 new mode 100755 index fa50b3a..f1f3685 --- a/Misc/20260307233451-recipes_cookbook.org +++ b/Misc/20260307233451-recipes_cookbook.org @@ -6,7 +6,7 @@ #+AUTHOR: Auto-generated #+filetags: :recipes:cooking:org:index: #+STARTUP: content -#+PROPERTY: GENERATED_AT 2026-05-13T00:00:02.380176 +#+PROPERTY: GENERATED_AT 2026-05-14T00:00:02.347312 # How to add notes: under any recipe heading, add :COOKED: to record when you made it, and :TIPS: your tip text to add notes. # Multiple :COOKED: lines are supported. These are preserved across regenerations. diff --git a/Misc/20260402135410-z_resources.org b/Misc/20260402135410-z_resources.org old mode 100644 new mode 100755 diff --git a/Misc/20260405234526-zainezq_website.org b/Misc/20260405234526-zainezq_website.org old mode 100644 new mode 100755 diff --git a/Misc/20260407121857-finances.org b/Misc/20260407121857-finances.org old mode 100644 new mode 100755 diff --git a/Misc/20260410154301-decluttering_plan.org b/Misc/20260410154301-decluttering_plan.org old mode 100644 new mode 100755 diff --git a/Misc/20260414162623-chrome_tabs_backup.org b/Misc/20260414162623-chrome_tabs_backup.org old mode 100644 new mode 100755 diff --git a/Misc/20260414162623-chrome_tabs_backup.sync-conflict-20260421-100353-VT6366A.org b/Misc/20260414162623-chrome_tabs_backup.sync-conflict-20260421-100353-VT6366A.org old mode 100644 new mode 100755 diff --git a/Misc/20260420142151-textual_hifz.org b/Misc/20260420142151-textual_hifz.org old mode 100644 new mode 100755 diff --git a/Misc/20260429110504-ibarat.org b/Misc/20260429110504-ibarat.org old mode 100644 new mode 100755 diff --git a/Notes/20241210001150-aoc_notes.org b/Notes/20241210001150-aoc_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20241210001206-leetcode_notes.org b/Notes/20241210001206-leetcode_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20241212013207-haskell_notes.org b/Notes/20241212013207-haskell_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20241212013902-lazy_evaluation.org b/Notes/20241212013902-lazy_evaluation.org old mode 100644 new mode 100755 diff --git a/Notes/20241213005125-c_notes.org b/Notes/20241213005125-c_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20241213005156-socket_programming_in_c.org b/Notes/20241213005156-socket_programming_in_c.org old mode 100644 new mode 100755 diff --git a/Notes/20241217234535-web_port_notes.org b/Notes/20241217234535-web_port_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20241217234944-wp_emacs_config_blorg.org b/Notes/20241217234944-wp_emacs_config_blorg.org old mode 100644 new mode 100755 diff --git a/Notes/20241220234456-github_notes.org b/Notes/20241220234456-github_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20250111213016-wp_prefront_cortex_blog.org b/Notes/20250111213016-wp_prefront_cortex_blog.org old mode 100644 new mode 100755 diff --git a/Notes/20250214155617-wp_new_emacs_config_blorg.org b/Notes/20250214155617-wp_new_emacs_config_blorg.org old mode 100644 new mode 100755 diff --git a/Notes/20250226184629-wp_urge_surfing_blorg.org b/Notes/20250226184629-wp_urge_surfing_blorg.org old mode 100644 new mode 100755 diff --git a/Notes/20250314223811-wp_growth_mindset.org b/Notes/20250314223811-wp_growth_mindset.org old mode 100644 new mode 100755 diff --git a/Notes/20250314230952-wp_emotional_intelligence.org b/Notes/20250314230952-wp_emotional_intelligence.org old mode 100644 new mode 100755 diff --git a/Notes/20250324041724-wp_week_12_reflections.org b/Notes/20250324041724-wp_week_12_reflections.org old mode 100644 new mode 100755 diff --git a/Notes/20250402185735-technical_java_notes.org b/Notes/20250402185735-technical_java_notes.org old mode 100644 new mode 100755 diff --git a/Notes/20250412234351-wp_sadness.org b/Notes/20250412234351-wp_sadness.org old mode 100644 new mode 100755 diff --git a/Notes/20250723171109-maven_pom_file.org b/Notes/20250723171109-maven_pom_file.org old mode 100644 new mode 100755 diff --git a/Notes/20250727121051-networking_moc.org b/Notes/20250727121051-networking_moc.org old mode 100644 new mode 100755 diff --git a/Notes/20250804212215-how_to_solve_leetcode.org b/Notes/20250804212215-how_to_solve_leetcode.org old mode 100644 new mode 100755 diff --git a/Notes/20250804212606-leetcode_arrays.org b/Notes/20250804212606-leetcode_arrays.org old mode 100644 new mode 100755 diff --git a/Notes/20250804214537-python_set.org b/Notes/20250804214537-python_set.org old mode 100644 new mode 100755 diff --git a/Notes/20250805141906-python_dictionary.org b/Notes/20250805141906-python_dictionary.org old mode 100644 new mode 100755 diff --git a/Notes/20250805143427-python_sorted_function.org b/Notes/20250805143427-python_sorted_function.org old mode 100644 new mode 100755 diff --git a/Notes/20250805143741-python_lambda.org b/Notes/20250805143741-python_lambda.org old mode 100644 new mode 100755 diff --git a/Uni/20241210012703-fyp.org b/Uni/20241210012703-fyp.org old mode 100644 new mode 100755 diff --git a/Uni/20241210152650-uni_moc.org b/Uni/20241210152650-uni_moc.org old mode 100644 new mode 100755 diff --git a/Uni/20241210152713-tpis.org b/Uni/20241210152713-tpis.org old mode 100644 new mode 100755 diff --git a/Uni/20241210232054-uml_fyp.org b/Uni/20241210232054-uml_fyp.org old mode 100644 new mode 100755 diff --git a/Uni/20250120110833-afp.org b/Uni/20250120110833-afp.org old mode 100644 new mode 100755 diff --git a/Uni/20250120111047-afp_week1.org b/Uni/20250120111047-afp_week1.org old mode 100644 new mode 100755 diff --git a/Uni/20250120113936-afp_lab_1.org b/Uni/20250120113936-afp_lab_1.org old mode 100644 new mode 100755 diff --git a/Uni/20250121110241-afp_lec_1.org b/Uni/20250121110241-afp_lec_1.org old mode 100644 new mode 100755 diff --git a/Uni/20250128110828-afp_week2.org b/Uni/20250128110828-afp_week2.org old mode 100644 new mode 100755 diff --git a/Uni/20250128111008-afp_lec_2.org b/Uni/20250128111008-afp_lec_2.org old mode 100644 new mode 100755 diff --git a/Uni/20250218110239-afp_week5.org b/Uni/20250218110239-afp_week5.org old mode 100644 new mode 100755 diff --git a/Uni/20250218110346-afp_lec_5.org b/Uni/20250218110346-afp_lec_5.org old mode 100644 new mode 100755 diff --git a/Uni/20250329114733-ise.org b/Uni/20250329114733-ise.org old mode 100644 new mode 100755 diff --git a/Uni/20250329114848-ise_week_1.org b/Uni/20250329114848-ise_week_1.org old mode 100644 new mode 100755 diff --git a/Uni/20250329121843-ise_week_2.org b/Uni/20250329121843-ise_week_2.org old mode 100644 new mode 100755 diff --git a/Uni/20250329142725-ise_week_3.org b/Uni/20250329142725-ise_week_3.org old mode 100644 new mode 100755 diff --git a/Uni/20250329200158-ise_week_4.org b/Uni/20250329200158-ise_week_4.org old mode 100644 new mode 100755 diff --git a/Uni/20250331201944-ise_week_5.org b/Uni/20250331201944-ise_week_5.org old mode 100644 new mode 100755 diff --git a/Uni/20250331202447-ise_week_7.org b/Uni/20250331202447-ise_week_7.org old mode 100644 new mode 100755 diff --git a/Uni/20250403120140-fyp_report_planning.org b/Uni/20250403120140-fyp_report_planning.org old mode 100644 new mode 100755 diff --git a/Uni/20250723184233-advanced_networking.org b/Uni/20250723184233-advanced_networking.org old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_11b2c981d83a008d1b98393a495328187647efcf.svg b/Uni/ltximg/org-ltximg_11b2c981d83a008d1b98393a495328187647efcf.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_129bff5f5583489e220403781544ad72a5a8ff36.svg b/Uni/ltximg/org-ltximg_129bff5f5583489e220403781544ad72a5a8ff36.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_145fa198e975381a3ddf848636064a231655a465.svg b/Uni/ltximg/org-ltximg_145fa198e975381a3ddf848636064a231655a465.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_2a9b399c0640ff8fa12e7427000ab19e8163081a.svg b/Uni/ltximg/org-ltximg_2a9b399c0640ff8fa12e7427000ab19e8163081a.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_3c412cc70642ad188b80c614caf3ff901c50845b.svg b/Uni/ltximg/org-ltximg_3c412cc70642ad188b80c614caf3ff901c50845b.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_3cec5028d3d563df87258700fe0b6650912fb553.svg b/Uni/ltximg/org-ltximg_3cec5028d3d563df87258700fe0b6650912fb553.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_4e004b71d46aacbf1da7283230dd11d7c27425d2.svg b/Uni/ltximg/org-ltximg_4e004b71d46aacbf1da7283230dd11d7c27425d2.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_4f9f26be13c90a4879b6e1f04868a4c3ec7fc3fd.svg b/Uni/ltximg/org-ltximg_4f9f26be13c90a4879b6e1f04868a4c3ec7fc3fd.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_542d80feb436c990ede4f0d4e4b040d4224301bd.svg b/Uni/ltximg/org-ltximg_542d80feb436c990ede4f0d4e4b040d4224301bd.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_573f5b3573641986f083fc7d2a86bbfb6b0db35c.svg b/Uni/ltximg/org-ltximg_573f5b3573641986f083fc7d2a86bbfb6b0db35c.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_5a974e33036b42f54af5e1a04f51d09a4f48157e.svg b/Uni/ltximg/org-ltximg_5a974e33036b42f54af5e1a04f51d09a4f48157e.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_71f75e24d2980dcbaaece89ae740821774d5c9e6.svg b/Uni/ltximg/org-ltximg_71f75e24d2980dcbaaece89ae740821774d5c9e6.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_8bd46d12a16056ea969eff11f607d14a8140f40a.svg b/Uni/ltximg/org-ltximg_8bd46d12a16056ea969eff11f607d14a8140f40a.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_a4f5d7eb977df4d6b7a0f2fd1e0db6072b137a7f.svg b/Uni/ltximg/org-ltximg_a4f5d7eb977df4d6b7a0f2fd1e0db6072b137a7f.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_a7851e5f22897e60bd5b4ba3cb7de6fc9b0132b4.svg b/Uni/ltximg/org-ltximg_a7851e5f22897e60bd5b4ba3cb7de6fc9b0132b4.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_ae0f49b1def43c080d37eb2f2bd02c08a1ecc1aa.svg b/Uni/ltximg/org-ltximg_ae0f49b1def43c080d37eb2f2bd02c08a1ecc1aa.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_b1fada7d5fa3caaf4dc9e43938d3d06eeb793662.svg b/Uni/ltximg/org-ltximg_b1fada7d5fa3caaf4dc9e43938d3d06eeb793662.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_d403e28e86a311ac3d8819c28ce5c67e4d6987a6.svg b/Uni/ltximg/org-ltximg_d403e28e86a311ac3d8819c28ce5c67e4d6987a6.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_da82c873d814f10367ddc849cdfdb5be4d9a05aa.svg b/Uni/ltximg/org-ltximg_da82c873d814f10367ddc849cdfdb5be4d9a05aa.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_ddeddd85f02e23ed1d003db493c425f97b46edd2.svg b/Uni/ltximg/org-ltximg_ddeddd85f02e23ed1d003db493c425f97b46edd2.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_f54e52bc5be9aa0891a9663f2d70d4b392733433.svg b/Uni/ltximg/org-ltximg_f54e52bc5be9aa0891a9663f2d70d4b392733433.svg old mode 100644 new mode 100755 diff --git a/Uni/ltximg/org-ltximg_f82edb0ae36e097f8a42a67ec2bda2e50a982afe.svg b/Uni/ltximg/org-ltximg_f82edb0ae36e097f8a42a67ec2bda2e50a982afe.svg old mode 100644 new mode 100755 diff --git a/all-files.json b/all-files.json old mode 100644 new mode 100755 index 5cb89e9..f231edb --- a/all-files.json +++ b/all-files.json @@ -160,6 +160,11 @@ "title": "Art of Computer Programming Notes", "url": "/Books/20260418225944-art_of_computer_programming_notes.html" }, + { + "id": "8a32392e-180e-4754-b80f-dc4a327d6ba9", + "title": "Artificial Intelligence", + "url": "/Career Concepts/20260513142352-aritificial_intelligence.html" + }, { "id": "b2fd7038-42a8-4cbe-882b-92fbe2c12a11", "title": "ASP.NET Core Web API Fundamental Notes", @@ -663,7 +668,7 @@ { "id": "360df04d-ea24-4f04-b8e1-3595f34aac4d", "title": "Powershell MOC", - "url": "/20260513115140-powershell_moc.html" + "url": "/Career Concepts/20260513115140-powershell_moc.html" }, { "id": "2BFB84B2-2129-4AE3-8E69-290CA5BF9747", diff --git a/all-files.org b/all-files.org old mode 100644 new mode 100755 diff --git a/assets/2_to_1.svg b/assets/2_to_1.svg old mode 100644 new mode 100755 diff --git a/assets/Big-O-Notation-3130482830.png b/assets/Big-O-Notation-3130482830.png old mode 100644 new mode 100755 diff --git a/assets/Screenshot_20251227_153037.png b/assets/Screenshot_20251227_153037.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-03-31-ikigai-ode.png b/assets/_books/2026-03-31-ikigai-ode.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-03-31-ikigai-sitting-will-age-you.png b/assets/_books/2026-03-31-ikigai-sitting-will-age-you.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-03-31-ikigai-table.png b/assets/_books/2026-03-31-ikigai-table.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-15-list.png b/assets/_books/2026-04-01-ikigai-15-list.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-never-stop-learning.png b/assets/_books/2026-04-01-ikigai-never-stop-learning.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-poem-1.png b/assets/_books/2026-04-01-ikigai-poem-1.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-radio-taiso-1.png b/assets/_books/2026-04-01-ikigai-radio-taiso-1.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-radio-taiso-2.png b/assets/_books/2026-04-01-ikigai-radio-taiso-2.png old mode 100644 new mode 100755 diff --git a/assets/_books/2026-04-01-ikigai-studies-multitasking.png b/assets/_books/2026-04-01-ikigai-studies-multitasking.png old mode 100644 new mode 100755 diff --git a/assets/career-notes/api-layers.png b/assets/career-notes/api-layers.png old mode 100644 new mode 100755 diff --git a/assets/career/APIOps.png b/assets/career/APIOps.png old mode 100644 new mode 100755 diff --git a/assets/career/Screenshot 2026-01-14 154800.png b/assets/career/Screenshot 2026-01-14 154800.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/adapter-pattern-2.png b/assets/design-patterns/adapter-pattern-2.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/adapter-pattern.png b/assets/design-patterns/adapter-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/command-pattern.png b/assets/design-patterns/command-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/composite-pattern.png b/assets/design-patterns/composite-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/decorator-pattern.png b/assets/design-patterns/decorator-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/decorator-problem.png b/assets/design-patterns/decorator-problem.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/facade-pattern.png b/assets/design-patterns/facade-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/factory-pattern.png b/assets/design-patterns/factory-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/iterator-pattern.png b/assets/design-patterns/iterator-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/observer-pattern.png b/assets/design-patterns/observer-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/proxy-pattern.png b/assets/design-patterns/proxy-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/singleton-pattern.png b/assets/design-patterns/singleton-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/state-pattern.png b/assets/design-patterns/state-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/structure-pattern.png b/assets/design-patterns/structure-pattern.png old mode 100644 new mode 100755 diff --git a/assets/design-patterns/template-method-pattern.png b/assets/design-patterns/template-method-pattern.png old mode 100644 new mode 100755 diff --git a/assets/git-cheat-sheet-1.png b/assets/git-cheat-sheet-1.png old mode 100644 new mode 100755 diff --git a/assets/git-cheat-sheet-2.png b/assets/git-cheat-sheet-2.png old mode 100644 new mode 100755 diff --git a/assets/gr.png b/assets/gr.png old mode 100644 new mode 100755 diff --git a/assets/icons/icons8-z-key-64.png b/assets/icons/icons8-z-key-64.png old mode 100644 new mode 100755 diff --git a/assets/org-roam-ui-ss-11-01-2026 b/assets/org-roam-ui-ss-11-01-2026 old mode 100644 new mode 100755 diff --git a/assets/scripts/bigger-picture.min.js b/assets/scripts/bigger-picture.min.js old mode 100644 new mode 100755 diff --git a/assets/scripts/cookbook.js b/assets/scripts/cookbook.js old mode 100644 new mode 100755 diff --git a/assets/scripts/gallery-init.js b/assets/scripts/gallery-init.js old mode 100644 new mode 100755 diff --git a/assets/scripts/mermaid.esm.min.mjs b/assets/scripts/mermaid.esm.min.mjs old mode 100644 new mode 100755 diff --git a/assets/scripts/mermaid.min.js b/assets/scripts/mermaid.min.js old mode 100644 new mode 100755 diff --git a/assets/scripts/script.js b/assets/scripts/script.js index 59fa029..8d11704 100644 --- a/assets/scripts/script.js +++ b/assets/scripts/script.js @@ -124,7 +124,11 @@ function initSidebarRail() { btn.addEventListener('click', () => { if (action === 'search') { - document.getElementById('search-box')?.focus(); + if (typeof window.openSearchModal === 'function') { + window.openSearchModal(); + } else { + document.getElementById('search-box')?.focus(); + } return; } const isExpanded = sidebar.classList.contains('expanded'); @@ -882,6 +886,7 @@ function hookSearchResults() { e.stopPropagation(); resultsBox.innerHTML = ''; if (searchBox) searchBox.value = ''; + window.closeSearchModal?.(); let resolved; try { resolved = new URL(url, location.href); } catch { return; } @@ -907,6 +912,7 @@ function hookSearchResults() { if (!url) return; resultsBox.innerHTML = ''; searchBox.value = ''; + window.closeSearchModal?.(); let resolved; try { resolved = new URL(url, location.href); } catch { return; } openNote(resolved.pathname, active.textContent.trim(), resolved.hash); diff --git a/assets/scripts/search.js b/assets/scripts/search.js index 055614c..bad1f5a 100644 --- a/assets/scripts/search.js +++ b/assets/scripts/search.js @@ -1,16 +1,16 @@ /* ========================================================= - STATE + MODAL SEARCH ========================================================= */ let index = []; let activeIndex = -1; +let currentResults = []; +const openButton = document.getElementById("search-open"); +const modal = document.getElementById("search-modal"); const box = document.getElementById("search-box"); const results = document.getElementById("search-results"); - -/* ========================================================= - LOAD SEARCH INDEX - ========================================================= */ +const empty = document.getElementById("search-empty"); fetch("/search-index.json") .then(r => r.json()) @@ -21,143 +21,233 @@ fetch("/search-index.json") console.error("Failed to load search index:", err); }); +if (openButton && modal && box && results) { + openButton.addEventListener("click", openSearchModal); + + modal.addEventListener("click", event => { + const clickedOutsidePanel = !event.target.closest(".search-panel"); + + if (clickedOutsidePanel || event.target.closest("[data-search-close]")) { + closeSearchModal(); + } + }); + + box.addEventListener("input", () => { + updateResults(box.value); + }); + + box.addEventListener("keydown", event => { + switch (event.key) { + case "ArrowDown": + event.preventDefault(); + moveActive(1); + break; + + case "ArrowUp": + event.preventDefault(); + moveActive(-1); + break; + + case "Enter": + if (activeIndex >= 0 && currentResults[activeIndex]) { + event.preventDefault(); + openResult(currentResults[activeIndex]); + } + break; + + case "Escape": + event.preventDefault(); + closeSearchModal(); + break; + } + }); + + document.addEventListener("keydown", event => { + if (event.key === "Escape" && isSearchOpen()) { + event.preventDefault(); + closeSearchModal(); + } + }); +} + +window.openSearchModal = openSearchModal; +window.closeSearchModal = closeSearchModal; + /* ========================================================= - RENDER RESULTS + MODAL STATE ========================================================= */ -function renderResults(items) { +function openSearchModal() { + if (!modal || !box) return; + + modal.hidden = false; + document.body.classList.add("search-modal-open"); + openButton?.setAttribute("aria-expanded", "true"); + + requestAnimationFrame(() => { + box.focus(); + box.select(); + updateResults(box.value); + }); +} + +function closeSearchModal() { + if (!modal || !box) return; + + modal.hidden = true; + document.body.classList.remove("search-modal-open"); + openButton?.setAttribute("aria-expanded", "false"); + clearSearch(); + openButton?.focus(); +} + +function isSearchOpen() { + return Boolean(modal && !modal.hidden); +} + +/* ========================================================= + RESULTS + ========================================================= */ + +function updateResults(value) { + const query = value.trim().toLowerCase(); clearResults(); + if (query.length < 2) { + setEmptyMessage("Type at least 2 characters to search."); + return; + } + + currentResults = index + .map(entry => ({ + ...entry, + score: fuzzyScore(query, entry.title || "") + })) + .filter(entry => entry.score > 0) + .sort((a, b) => b.score - a.score) + .slice(0, 20); + + if (!currentResults.length) { + setEmptyMessage("No matching notes."); + return; + } + + empty.hidden = true; + renderResults(currentResults); + setActive(0); +} + +function renderResults(items) { + const fragment = document.createDocumentFragment(); + items.forEach((entry, i) => { - const row = document.createElement("div"); + const row = document.createElement("button"); + row.type = "button"; + row.className = "search-result"; row.dataset.index = i; + row.dataset.url = entry.url; + row.setAttribute("role", "option"); - const link = document.createElement("a"); - link.href = entry.url; - link.textContent = entry.title; + const title = document.createElement("span"); + title.className = "search-result-title"; + title.textContent = entry.title || "Untitled note"; - link.addEventListener("click", ev => { - ev.preventDefault(); - ev.stopPropagation(); - clearSearch(); - pushPane(entry.url); - }); - - row.appendChild(link); + const path = document.createElement("span"); + path.className = "search-result-path"; + path.textContent = entry.url || ""; + row.append(title, path); + row.addEventListener("click", () => openResult(entry)); row.addEventListener("mouseenter", () => setActive(i)); - row.addEventListener("mouseleave", clearActive); - results.appendChild(row); + fragment.appendChild(row); }); + + results.appendChild(fragment); +} + +function openResult(entry) { + if (!entry?.url) return; + + closeSearchModal(); + + let resolved; + try { + resolved = new URL(entry.url, location.href); + } catch { + return; + } + + if (resolved.origin !== location.origin) { + window.open(entry.url, "_blank"); + return; + } + + if (typeof openNote === "function" && resolved.pathname.endsWith(".html")) { + openNote(resolved.pathname, entry.title || filenameToTitle(resolved.pathname), resolved.hash); + return; + } + + window.location.href = resolved.href; } /* ========================================================= ACTIVE ITEM HANDLING ========================================================= */ -function setActive(i) { - const items = [...results.children]; - - items.forEach(el => el.classList.remove("active")); - - if (items[i]) { - items[i].classList.add("active"); - activeIndex = i; - } +function moveActive(direction) { + if (!currentResults.length) return; + const next = activeIndex < 0 + ? 0 + : (activeIndex + direction + currentResults.length) % currentResults.length; + setActive(next); } -function clearActive() { - [...results.children].forEach(el => el.classList.remove("active")); - activeIndex = -1; -} - -/* ========================================================= - INPUT HANDLER - ========================================================= */ - -box.addEventListener("input", () => { - const query = box.value.trim().toLowerCase(); - - clearResults(); - if (query.length < 2) return; - - const matches = index - .map(entry => ({ - ...entry, - score: fuzzyScore(query, entry.title) - })) - .filter(entry => entry.score > 0) - .sort((a, b) => b.score - a.score) - .slice(0, 20); // optional cap - - renderResults(matches); -}); - -/* ========================================================= - KEYBOARD NAVIGATION - ========================================================= */ - -box.addEventListener("keydown", e => { +function setActive(index) { const items = [...results.children]; - if (!items.length) return; - switch (e.key) { - case "ArrowDown": - e.preventDefault(); - setActive((activeIndex + 1) % items.length); - break; + items.forEach(item => { + item.classList.remove("active"); + item.setAttribute("aria-selected", "false"); + }); - case "ArrowUp": - e.preventDefault(); - setActive((activeIndex - 1 + items.length) % items.length); - break; - - case "Enter": - if (activeIndex < 0) return; - - e.preventDefault(); - e.stopPropagation(); - - const link = items[activeIndex].querySelector("a"); - if (link) { - clearSearch(); - pushPane(link.getAttribute("href")); - } - break; - - case "Escape": - clearSearch(); - break; + if (items[index]) { + items[index].classList.add("active"); + items[index].setAttribute("aria-selected", "true"); + items[index].scrollIntoView({ block: "nearest" }); + activeIndex = index; } -}); - -/* ========================================================= - CLICK OUTSIDE TO CLOSE - ========================================================= */ - -document.addEventListener("click", e => { - if (!e.target.closest(".banner-search")) { - clearSearch(); - } -}); - -/* ========================================================= - HELPERS - ========================================================= */ +} function clearResults() { results.innerHTML = ""; + currentResults = []; + activeIndex = -1; } function clearSearch() { + box.value = ""; clearResults(); - activeIndex = -1; + setEmptyMessage("Type at least 2 characters to search."); } + +function setEmptyMessage(message) { + empty.textContent = message; + empty.hidden = false; +} + +/* ========================================================= + SCORING + ========================================================= */ + function fuzzyScore(query, text) { query = query.toLowerCase(); text = text.toLowerCase(); + if (text.includes(query)) { + return 100 - text.indexOf(query); + } + let score = 0; let qi = 0; let consecutive = 0; @@ -166,7 +256,7 @@ function fuzzyScore(query, text) { if (text[ti] === query[qi]) { qi++; consecutive++; - score += 5 + consecutive * 2; // reward runs + score += 5 + consecutive * 2; } else { consecutive = 0; } @@ -174,7 +264,5 @@ function fuzzyScore(query, text) { if (qi !== query.length) return 0; - score += Math.max(0, 20 - text.length); - - return score; + return score + Math.max(0, 20 - text.length); } diff --git a/assets/scripts/sidebar.js b/assets/scripts/sidebar.js old mode 100644 new mode 100755 diff --git a/assets/scripts/svg-pan-zoom.min.js b/assets/scripts/svg-pan-zoom.min.js old mode 100644 new mode 100755 diff --git a/assets/styles/bigger-picture.min.css b/assets/styles/bigger-picture.min.css old mode 100644 new mode 100755 diff --git a/assets/styles/cookbook.css b/assets/styles/cookbook.css old mode 100644 new mode 100755 diff --git a/assets/styles/media.css b/assets/styles/media.css old mode 100644 new mode 100755 diff --git a/assets/styles/org.css b/assets/styles/org.css old mode 100644 new mode 100755 diff --git a/assets/styles/style.css b/assets/styles/style.css index feebfee..75d4951 100644 --- a/assets/styles/style.css +++ b/assets/styles/style.css @@ -174,48 +174,175 @@ body, p, li, td, th, span, div { } /* Search */ -.banner-search { position: relative; max-width: 18rem; } +.banner-search { + position: relative; + flex: 0 0 auto; +} -#search-box { - width: 100%; - padding: 0.35rem 0.7rem; - font-size: 0.8rem; +.search-trigger { + display: inline-flex; + align-items: center; + justify-content: space-between; + gap: 1.75rem; + min-width: 11rem; + height: 30px; + padding: 0 0.45rem 0 0.7rem; + font-size: 0.78rem; font-family: var(--font-body); + color: var(--fg-dim); background: var(--surface); - color: var(--fg); border: 1px solid var(--border); border-radius: 5px; - outline: none; - transition: border-color var(--dur-fast), box-shadow var(--dur-fast); + cursor: pointer; + transition: color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast); } -#search-box:focus { +.search-trigger:hover, +.search-trigger:focus-visible { + color: var(--fg); border-color: var(--accent-dim); + background: var(--surface-2); box-shadow: 0 0 0 3px var(--accent-sub); + outline: none; } -#search-box::placeholder { color: var(--fg-faint); font-style: italic; } - -#search-results { - position: absolute; - top: calc(100% + 6px); left: 0; right: 0; +.search-trigger kbd { + min-width: 1.25rem; + height: 1.25rem; + display: inline-flex; + align-items: center; + justify-content: center; + font: 0.7rem var(--font-mono); + color: var(--fg-faint); background: var(--bg); border: 1px solid var(--border-2); - border-radius: 6px; - box-shadow: 0 16px 48px rgba(0,0,0,0.5); - max-height: 20rem; - overflow-y: auto; - z-index: 1000; + border-radius: 4px; } -#search-results > * { - padding: 0.5rem 0.75rem; - font-size: 0.82rem; - line-height: 1.4; - cursor: pointer; + +.search-modal[hidden] { display: none; } +.search-modal { + position: fixed; + inset: 0; + z-index: 1200; +} +.search-backdrop { + position: absolute; + inset: 0; + background: rgba(0, 0, 0, 0.58); + backdrop-filter: blur(3px); +} +.search-dialog { + position: relative; + min-height: 100%; + display: grid; + place-items: center; + padding: 1rem; +} +.search-panel { + width: min(42rem, calc(100vw - 2rem)); + max-height: min(34rem, calc(100dvh - 4rem)); + overflow: hidden; + background: var(--bg); + border: 1px solid var(--border-2); + border-radius: 8px; + box-shadow: 0 24px 80px rgba(0, 0, 0, 0.58); +} +.search-input-wrap { + display: flex; + align-items: center; + gap: 0.6rem; + padding: 0.75rem; border-bottom: 1px solid var(--border); - transition: background var(--dur-fast); } -#search-results > *:last-child { border-bottom: none; } -#search-results > *:hover, -#search-results > *.active { background: var(--accent-sub); color: var(--fg); } +.search-icon { + flex: 0 0 auto; + color: var(--accent); + font-size: 1rem; +} +#search-box { + width: 100%; + min-width: 0; + padding: 0.35rem 0; + font-size: 1rem; + font-family: var(--font-body); + background: transparent; + color: var(--fg); + border: 0; + outline: none; +} +#search-box::placeholder { color: var(--fg-faint); } +.search-close { + flex: 0 0 auto; + width: 1.8rem; + height: 1.8rem; + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--fg-dim); + background: transparent; + border: 1px solid transparent; + border-radius: 5px; + cursor: pointer; + font-size: 1.1rem; + line-height: 1; + transition: color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast); +} +.search-close:hover, +.search-close:focus-visible { + color: var(--fg); + border-color: var(--border-2); + background: var(--surface); + outline: none; +} +.search-title { + padding: 0.55rem 0.8rem 0.4rem; + color: var(--fg-faint); + font: 0.68rem var(--font-mono); + text-transform: uppercase; + letter-spacing: 0; +} +#search-results { + max-height: min(24rem, calc(100dvh - 11rem)); + overflow-y: auto; +} +.search-result { + width: 100%; + display: grid; + gap: 0.15rem; + padding: 0.62rem 0.8rem; + text-align: left; + color: var(--fg); + background: transparent; + border: 0; + border-top: 1px solid var(--border); + cursor: pointer; + transition: background var(--dur-fast), color var(--dur-fast); +} +.search-result:hover, +.search-result.active { + background: var(--accent-sub); +} +.search-result-title { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.88rem; + line-height: 1.35; +} +.search-result-path { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: var(--fg-faint); + font: 0.68rem var(--font-mono); + line-height: 1.35; +} +.search-empty { + padding: 1.2rem 0.8rem 1.35rem; + color: var(--fg-dim); + border-top: 1px solid var(--border); + font-size: 0.86rem; + text-align: center; +} +.search-empty[hidden] { display: none; } /* Actions */ .banner-actions { display: flex; align-items: center; gap: var(--r2); } diff --git a/assets/swappy-20250805-152411.png b/assets/swappy-20250805-152411.png old mode 100644 new mode 100755 diff --git a/convert-mov.sh b/convert-mov.sh old mode 100644 new mode 100755 diff --git a/daily/2026-04-14.org b/daily/2026-04-14.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-18.org b/daily/2026-04-18.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-20.org b/daily/2026-04-20.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-21.org b/daily/2026-04-21.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-28.org b/daily/2026-04-28.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-29.org b/daily/2026-04-29.org old mode 100644 new mode 100755 diff --git a/daily/2026-04-30.org b/daily/2026-04-30.org old mode 100644 new mode 100755 diff --git a/daily/2026-05-01.org b/daily/2026-05-01.org old mode 100644 new mode 100755 diff --git a/daily/2026-05-05.org b/daily/2026-05-05.org old mode 100644 new mode 100755 diff --git a/daily/2026-05-06.org b/daily/2026-05-06.org old mode 100644 new mode 100755 diff --git a/daily/2026-05-12.org b/daily/2026-05-12.org old mode 100644 new mode 100755 diff --git a/daily/2026-05-13.org b/daily/2026-05-13.org old mode 100644 new mode 100755 diff --git a/generate_sidebar_tree.py b/generate_sidebar_tree.py old mode 100644 new mode 100755 diff --git a/gitea-build-monitor.ps1 b/gitea-build-monitor.ps1 old mode 100644 new mode 100755 diff --git a/index.org b/index.org old mode 100644 new mode 100755 diff --git a/lisp/build.el b/lisp/build.el index e62c4cc..1f6fb44 100644 --- a/lisp/build.el +++ b/lisp/build.el @@ -273,12 +273,42 @@ window.mvOpen=function(el){
- -
+ + +
@@ -558,6 +588,7 @@ Skips files where the .mp4 already exists and is newer than the .mov." (cond ((member "--fast" command-line-args-left) + (setq command-line-args-left (remove "--fast" command-line-args-left)) (z/build-fast)) (t (z/build-full))) diff --git a/lisp/macros.el b/lisp/macros.el old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_01296884686849f0dd6a6f5f6e642ce4594a1438.png b/ltximg/org-ltximg_01296884686849f0dd6a6f5f6e642ce4594a1438.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_066a4488b21e9c9fcc08a16156947f5bab6d2771.png b/ltximg/org-ltximg_066a4488b21e9c9fcc08a16156947f5bab6d2771.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_0c35aa584277b44dec02ac13aacd1cd7acc851be.png b/ltximg/org-ltximg_0c35aa584277b44dec02ac13aacd1cd7acc851be.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_11860079d8dfebcc942c3e6b65b495a445d9f336.png b/ltximg/org-ltximg_11860079d8dfebcc942c3e6b65b495a445d9f336.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_1cbbff043d0cc4a14caacd74ec795c0a1ec11f2e.png b/ltximg/org-ltximg_1cbbff043d0cc4a14caacd74ec795c0a1ec11f2e.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_1d6de057eb18f33d9ce2df46505051a77488698f.png b/ltximg/org-ltximg_1d6de057eb18f33d9ce2df46505051a77488698f.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_205d81a43ad57fe5da4c786cb565a1a6ab8bb626.png b/ltximg/org-ltximg_205d81a43ad57fe5da4c786cb565a1a6ab8bb626.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_265a7c14da0eed5a277bb96aa1c253b307e54b23.png b/ltximg/org-ltximg_265a7c14da0eed5a277bb96aa1c253b307e54b23.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_26f0956210f41ec16057521ea641aa300fc99f1e.png b/ltximg/org-ltximg_26f0956210f41ec16057521ea641aa300fc99f1e.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_2d72905fd56b9a16fa7b45eb4b2b2e373d1e67d0.png b/ltximg/org-ltximg_2d72905fd56b9a16fa7b45eb4b2b2e373d1e67d0.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_32866fa9c245766194eeeb359244fd901090e1e2.png b/ltximg/org-ltximg_32866fa9c245766194eeeb359244fd901090e1e2.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_3a1f8c91afecdbe530c1d7260ada3f1c5d3b744f.png b/ltximg/org-ltximg_3a1f8c91afecdbe530c1d7260ada3f1c5d3b744f.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_3e3ac398ecab748a277726f7718afae46fe8b82f.png b/ltximg/org-ltximg_3e3ac398ecab748a277726f7718afae46fe8b82f.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_40fa37ebf75968e3cae8fa02423eeef19f520817.png b/ltximg/org-ltximg_40fa37ebf75968e3cae8fa02423eeef19f520817.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_44f5f8555490fc64077127e29eef0dff2ac4422d.png b/ltximg/org-ltximg_44f5f8555490fc64077127e29eef0dff2ac4422d.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_4741651405214cbe515cff3fa73813164cedaf2d.png b/ltximg/org-ltximg_4741651405214cbe515cff3fa73813164cedaf2d.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_55130395ce5e5040f6604cb7c3cc1f55c8fc3cfa.png b/ltximg/org-ltximg_55130395ce5e5040f6604cb7c3cc1f55c8fc3cfa.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_6026e5c1fa1d520353950d71af186956514e8701.png b/ltximg/org-ltximg_6026e5c1fa1d520353950d71af186956514e8701.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_635f0485ae2d07be9744e3e3723ecaf34f800012.png b/ltximg/org-ltximg_635f0485ae2d07be9744e3e3723ecaf34f800012.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_63dbc01f6593fc8d8a35c50f22f79f29a1dcf898.png b/ltximg/org-ltximg_63dbc01f6593fc8d8a35c50f22f79f29a1dcf898.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_6c899afd78a059b0ae4bef408a695041cedb5ddd.png b/ltximg/org-ltximg_6c899afd78a059b0ae4bef408a695041cedb5ddd.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_7425a163ba6edf4c7408c7f718f301a7150e4b11.png b/ltximg/org-ltximg_7425a163ba6edf4c7408c7f718f301a7150e4b11.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_777dd76637f98f808bbe2f69b2afd12e4c536ffb.png b/ltximg/org-ltximg_777dd76637f98f808bbe2f69b2afd12e4c536ffb.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_7ca4db7f61fd148ce02f3fd143c05b54dbf2ca7f.png b/ltximg/org-ltximg_7ca4db7f61fd148ce02f3fd143c05b54dbf2ca7f.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_81a6befc0e7d8c06857316dc32fb3d6545f3e479.png b/ltximg/org-ltximg_81a6befc0e7d8c06857316dc32fb3d6545f3e479.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_8aec0d26a12708fe99cdd5876863ff43a1c627d7.png b/ltximg/org-ltximg_8aec0d26a12708fe99cdd5876863ff43a1c627d7.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_8c4e482436a1dd4e34355f6ae5193641b99c4e3d.png b/ltximg/org-ltximg_8c4e482436a1dd4e34355f6ae5193641b99c4e3d.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_91ff4f41cef3c8d6b7c75380b409a7fdd5ce36b9.png b/ltximg/org-ltximg_91ff4f41cef3c8d6b7c75380b409a7fdd5ce36b9.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_925319670cdf886edbfb7200e6b4dab22965b101.png b/ltximg/org-ltximg_925319670cdf886edbfb7200e6b4dab22965b101.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_93b88f8eb4efd76fc90d4bd25d1ed1b7dd7a5be0.png b/ltximg/org-ltximg_93b88f8eb4efd76fc90d4bd25d1ed1b7dd7a5be0.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_9f34d39b4a163d0e868354be903873bcc6d09644.png b/ltximg/org-ltximg_9f34d39b4a163d0e868354be903873bcc6d09644.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_a16f0fcce4798bef7b2a672a7a2489381b89c772.png b/ltximg/org-ltximg_a16f0fcce4798bef7b2a672a7a2489381b89c772.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_a38b7f9ba4927f1b464c9524a68d0a691854379f.png b/ltximg/org-ltximg_a38b7f9ba4927f1b464c9524a68d0a691854379f.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_a568c360146b207a04126a214f96cd65cc970c51.png b/ltximg/org-ltximg_a568c360146b207a04126a214f96cd65cc970c51.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_b430ab391bb9b6d4b8ba2c1db82d8eaa789b83b1.png b/ltximg/org-ltximg_b430ab391bb9b6d4b8ba2c1db82d8eaa789b83b1.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_b8690ed0b5aa1efd8594d7c9747276cb01e148b9.png b/ltximg/org-ltximg_b8690ed0b5aa1efd8594d7c9747276cb01e148b9.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_b9a5e90acb8406cda2b0a9e46f45738e7fc64394.png b/ltximg/org-ltximg_b9a5e90acb8406cda2b0a9e46f45738e7fc64394.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_bc3ebf35ab016a6c7144cc6250d8f0e85d777ce6.png b/ltximg/org-ltximg_bc3ebf35ab016a6c7144cc6250d8f0e85d777ce6.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_be20bec73c3091c2b13083536db1bc184965ef8a.png b/ltximg/org-ltximg_be20bec73c3091c2b13083536db1bc184965ef8a.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_bf950c1e472fa38df910785f36c1570a75291377.png b/ltximg/org-ltximg_bf950c1e472fa38df910785f36c1570a75291377.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c206c0d84a3df817d72c9bfc9d1bed3d99b83308.png b/ltximg/org-ltximg_c206c0d84a3df817d72c9bfc9d1bed3d99b83308.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c3bb0e35c6ebe236afab1ca47229361e22b4e241.png b/ltximg/org-ltximg_c3bb0e35c6ebe236afab1ca47229361e22b4e241.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c8110cbc92e7c6401dba8b38185aaa1d97011b52.png b/ltximg/org-ltximg_c8110cbc92e7c6401dba8b38185aaa1d97011b52.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c91b4d45bde34f58aaec819408c75071c356821b.png b/ltximg/org-ltximg_c91b4d45bde34f58aaec819408c75071c356821b.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c9200c4e7dce25a1e27e01e1ae86f4105c2fa2dc.png b/ltximg/org-ltximg_c9200c4e7dce25a1e27e01e1ae86f4105c2fa2dc.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_c92b1f9a19d301ad86f57d82beb069e849b679fd.png b/ltximg/org-ltximg_c92b1f9a19d301ad86f57d82beb069e849b679fd.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cb453e7c12347acad1700f56cd2cb7a7438e0c11.png b/ltximg/org-ltximg_cb453e7c12347acad1700f56cd2cb7a7438e0c11.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cbbbbd9603cb09800c1ce9bd9e87995d7c609b1d.png b/ltximg/org-ltximg_cbbbbd9603cb09800c1ce9bd9e87995d7c609b1d.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cbf166f42dcd147a8e21383c5aed428f30ca0144.png b/ltximg/org-ltximg_cbf166f42dcd147a8e21383c5aed428f30ca0144.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cc02e6245b6185abae501586409d2f30fc5fa61b.png b/ltximg/org-ltximg_cc02e6245b6185abae501586409d2f30fc5fa61b.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cc9ee8e3dc18ceac67ab9b63fe21ea4ed4c0e563.png b/ltximg/org-ltximg_cc9ee8e3dc18ceac67ab9b63fe21ea4ed4c0e563.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_cfec4e7d4520ebfff12e08231870330d66e166cc.png b/ltximg/org-ltximg_cfec4e7d4520ebfff12e08231870330d66e166cc.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_d856e3330a950cdef271d8c83a94b334a11a8837.png b/ltximg/org-ltximg_d856e3330a950cdef271d8c83a94b334a11a8837.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_df2f698fcba37b4bb5ca9e15873f9f205ca53b99.png b/ltximg/org-ltximg_df2f698fcba37b4bb5ca9e15873f9f205ca53b99.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_e4d27eaf08385a5653d47c5353e882fec619834d.png b/ltximg/org-ltximg_e4d27eaf08385a5653d47c5353e882fec619834d.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_e53730ba461b03f192d1c5d7adf2c8ea141ef862.png b/ltximg/org-ltximg_e53730ba461b03f192d1c5d7adf2c8ea141ef862.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_eddc76bce6183940e7887fa7869970cce9c992e4.png b/ltximg/org-ltximg_eddc76bce6183940e7887fa7869970cce9c992e4.png old mode 100644 new mode 100755 diff --git a/ltximg/org-ltximg_f341743fe73d4f222f6c40f99ee4bb426882a0db.png b/ltximg/org-ltximg_f341743fe73d4f222f6c40f99ee4bb426882a0db.png old mode 100644 new mode 100755 diff --git a/orgroam-build.log b/orgroam-build.log old mode 100644 new mode 100755 diff --git a/search-index.py b/search-index.py old mode 100644 new mode 100755 diff --git a/tests/build-tests.el b/tests/build-tests.el old mode 100644 new mode 100755 diff --git a/tests/macros-tests.el b/tests/macros-tests.el old mode 100644 new mode 100755