+++ title = "API" weight = 110 template = "page-api.html" aliases = [ "/api" ] +++
{{ api_listing_entry(fn_name="decode", namespace="base64", doc="```phel (decode s & [strict?])
| (ns seo-tools\google-parser | |
| (:require phel\trace :refer [dbg]) | |
| (:use \DOMDocument) | |
| (:use \DOMXPath) | |
| (:use Dom\XPath) | |
| (:use Dom\HTMLDocument)) | |
| (php/libxml_use_internal_errors true) | |
| ;; TODO update with try catch as parse-search-page |
| #!/usr/bin/env bash | |
| # Senging expected message: | |
| # dbus-send --session --type=signal /org/example/Test org.example.Test.TestSignal | |
| set -euo pipefail | |
| # Match the precise signal we’re interested in. | |
| MATCH="type='signal',interface='org.example.Test',member='TestSignal'" |
| # Author: Jarkko Saltiola | |
| # License: BSD-3 | |
| # | |
| # Convert TSV time-series to SRT subtitles or burn overlays into a video aligned to --video-start. | |
| # | |
| # Also supports a real-time rolling plot overlay of selected columns via --plot-columns. | |
| # | |
| ## Example input TSV data format: | |
| # id timestamp device_id p1 p2 p3 w1 w2 w3 w-total | |
| # 53285 2025-09-14 13:01:12 1 3.6 3.61 3.73 828 830.3 857.9 2516.2 |
+++ title = "API" weight = 110 template = "page-api.html" aliases = [ "/api" ] +++
{{ api_listing_entry(fn_name="decode", namespace="base64", doc="```phel (decode s & [strict?])
| <?php | |
| // Example for https://github.com/jasalt/twig-templating-block (2025-08-15 714be3a) | |
| // Example template | |
| // <div class="favourited-videos {{ editor_classes }}"> | |
| // {% if videos %} | |
| // {% for video in videos %} | |
| // {{ include_template_part('cpt-video-card', video.id) }} | |
| // {% endfor %} |
| #!/usr/bin/env php | |
| <?php | |
| // PHP script `vendor-to-json` that is run on composer project root and traverses through folders in `./vendor/` storing each file handle into nested associative array in format required by PHP-WASM files constructor parameter (and data-files attribute). Ignores folders. | |
| // As of 2025-05-16 requires modified PhpBase.js with support to create missing dirs (Draft PR https://github.com/seanmorris/php-wasm/pull/82) | |
| // Usage: | |
| // ./vendor-to-json.php [prefix] | |
| // | |
| // Parameters: |
| #!/bin/bash | |
| input_image="full.jpg" | |
| output_prefix="part_" | |
| max_width=3840 | |
| max_height=2160 | |
| aspect_ratio=$(bc -l <<< "$max_width / $max_height") | |
| # Get image dimensions | |
| dimensions=$(identify -ping -format "%w %h" "$input_image") |
| ;; "Phel Cider Light" Phel-lang programming config | |
| ;; Stand-alone preview version separated from from personal .emacs.d | |
| ;; https://github.com/jasalt/.emacs.d/blob/007083f149cf3954a6f38328c962c6788e179705/personal/phel.el#L1 | |
| ;; Written during two days during winter cold largely with Claude Sonnet 3.5 LLM | |
| ;; and gptel.el. While surprisingly good experience for a quick proof of concept, | |
| ;; may come with hidden defects that need to be smoothed out by hand during use. | |
| ;; Attempts to emulate some useful Clojure and Elisp editing functionalities |
| ### Phel wrapping over WP / PHP API's | |
| ## TODO make a library some day.. | |
| (ns my-project\lib\wp | |
| (:require phel\str :as str) | |
| (:require phel\pdo :as pdo) | |
| (:require phel\pdo\statement :as statement)) | |
| ## Initialize WordPress plugin environment for REPL / tests | |
| (defn resolve-wp-load-path |
| # Some Phel utility fns / macros | |
| (ns my-project\utils) | |
| (defn parse-float | |
| "Converts to float without doing odd type conversions, acting more like | |
| Float/parseFloat in Clojure." | |
| [x] | |
| (when-not (php/is_numeric x) | |
| (throw (php/new \InvalidArgumentException | |
| (str "Invalid value for parse-float (" x ")")))) |