{"id":18552494,"url":"https://github.com/andrejewski/sprose","last_synced_at":"2025-10-24T05:19:20.619Z","repository":{"id":57368069,"uuid":"41404606","full_name":"andrejewski/sprose","owner":"andrejewski","description":"S-expressive prose language","archived":false,"fork":false,"pushed_at":"2015-08-31T00:20:32.000Z","size":144,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-26T05:19:13.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrejewski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-26T04:36:08.000Z","updated_at":"2019-07-15T13:14:28.000Z","dependencies_parsed_at":"2022-08-23T20:10:59.957Z","dependency_job_id":null,"html_url":"https://github.com/andrejewski/sprose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejewski%2Fsprose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejewski%2Fsprose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejewski%2Fsprose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejewski%2Fsprose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrejewski","download_url":"https://codeload.github.com/andrejewski/sprose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328389,"owners_count":22052633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T21:14:22.195Z","updated_at":"2025-10-24T05:19:20.550Z","avatar_url":"https://github.com/andrejewski.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sprose\n\nSprose is an embeddable programming language for plain text.\nEssentially, a given text file is parsed into a series of expressions.\nThese expressions (S-expressions) are evaluated and their results are\n  are inserted into the text in place of the expressions.\nThe cool thing is that is all Sprose does. Literally everything else is\n  completely customizable.\nSprose expressions can be nested, create variables and namespaces, define\n  functions, and anything else really.\n\n```bash\nnpm install sprose\n```\n\n## Example\n\nA Sprose program needs two files, the text file which contains the expressions\n to evaluate and a JavaScript module which contains the functions and variables\n accessible by the text file.\n\n```\nThis is a text file.\nI can use (uppercase words in here).\n```\n\n```js\nmodule.exports = {\n  uppercase: function(scope, args) {\n    return sprose.util.stringify(args).toUpperCase();\n  }\n};\n```\n\n```\nThis is a text file.\nI can use WORDS IN HERE.\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejewski%2Fsprose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrejewski%2Fsprose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejewski%2Fsprose/lists"}