{"id":16758227,"url":"https://github.com/foo123/beeld","last_synced_at":"2025-09-06T00:38:37.351Z","repository":{"id":25654847,"uuid":"29090297","full_name":"foo123/Beeld","owner":"foo123","description":"Beeld: scriptable, extendable and configurable source code builder framework (node.js / php / python platforms)","archived":false,"fork":false,"pushed_at":"2022-09-24T16:14:54.000Z","size":5273,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T07:28:06.609Z","etag":null,"topics":["builder","extendable","node-js","php","python","scriptable","source-code"],"latest_commit_sha":null,"homepage":"https://foo123.github.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foo123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-11T12:03:58.000Z","updated_at":"2024-06-28T14:30:20.000Z","dependencies_parsed_at":"2023-01-14T03:03:44.072Z","dependency_job_id":null,"html_url":"https://github.com/foo123/Beeld","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/foo123/Beeld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FBeeld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FBeeld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FBeeld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FBeeld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foo123","download_url":"https://codeload.github.com/foo123/Beeld/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo123%2FBeeld/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273842836,"owners_count":25177920,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["builder","extendable","node-js","php","python","scriptable","source-code"],"created_at":"2024-10-13T04:04:33.127Z","updated_at":"2025-09-06T00:38:37.318Z","avatar_url":"https://github.com/foo123.png","language":"JavaScript","readme":"Beeld\n=====\n\n**A scriptable, extendable and configurable source code builder framework and tool in JavaScript / Python / PHP**\n\n**version 1.0.3**\n\n![beeld is a bee that builds flowers](/beeld.jpg)\n\nThis is a new framework and tool for building projects from sources, which is based on (and extends) the [previous buildtools used here](https://github.com/foo123/scripts)\n\n\n### Usage\n\n* Modify the `beeld-sample.config` or `beeld-sample.json` or `beeld-sample.yaml` \u003cdel\u003eor `beeld-sample.ini`\u003c/del\u003e file(s) to include the configuration settings and parameters\n* Configuration file can be in `custom` config format (default), `JSON` format (`.json`) or `YAML` format (`.yaml`, `.yml`) \u003cdel\u003eor `INI` format (`.ini`)\u003c/del\u003e\n* Run the `.bat` or `.sh` scripts to build the package\n\nEach tool/compiler, if run with no parameters in the command-line, will print a help screen explaining usage options.\nAlso the sample-config files and build.bat, build.sh files, demonstrate how the build tools are used\n\n\n### Plugins, Extensions, Scripting, Custom Dynamic Expressions\n\nThe framework can be extended by plugins. The plugin code can be in the `Beeld/plugins` folder or even in current working directory. Each plugin can define a new action to be used on the source data through a pipeline.\n\nThe plugin and the new action are both defined in each config file (see sample config files).\n\nFurthermore the framework has a built-in `\"replace\"` action to replace text in sources and a `\"process-shell\"` action which allows to manipulate the source data through direct shell scripting (for example for some fast shell text manipulation)\n\n**NEW in version 0.8+**\n\nThe framework allows custom powerfull dynamic expressions (and regular expressions) to be part of config data and parameters, via the [`Xpresion` framework](https://github.com/foo123/Xpresion). The `beeld.config` file can include a `settings` part which defines the prefixes for `Xpresion` dynamic expressions and `Regular Expressions` (if any) used in the config file. The parsing and evaluation will be automatic (see sample config files for examples). A common example of the use of custom expressions is the use of current date to be displayed in the final built file (one can use a custom expression for that which uses the `date` function as part of `replace` data to be replaced in the file where needed). Another one, is to replace data in the files not simply by another string but by the contents of a whole file (one would use an expression with the `file` function to load the contents of a file dynamicaly)\n\n\n\n### UMD Templates\n\nSome UMD templates from the [UMD github repo](https://github.com/umdjs/umd) have been included as templates in the buildtools.\nA generic UMD module pattern wrapper that supports module dependencies and bundled module dependencies in same file and works transparently inside Node/CommonJS, requireJS/AMD, WebWorker/Browser, is in this [gist](https://gist.github.com/foo123/20e0ca043cdc50ecb004#)\nand in [this gist](https://gist.github.com/foo123/8b0c069445bee29b0e93) for single module wrapper (no dependencies)\n\n\n### Dependencies\n\n* `UglifyJS` (default), `Java Closure Compiler` (included), `Java YUI Compressor` (included), [`CSS Minifier`](http://foo123.github.io/examples/css-minifier) (included) can be used\n\n__For Python__\n* `Python` (2 or 3)\n* `PyYaml` module installed (for Yaml parsing)\n\n__For PHP__\n* `PHP` 5.2+\n* Modified standalone version of `Symfony Yaml` parser by (c) Fabien Potencier \u003cfabien@symfony.com\u003e (included)\n\n__For Node.js__\n* `Node.js` 0.8+\n* Modified standalone version of `yaml.js` (Symfony Yaml parser) by (c) Fabien Potencier, Jeremy Faivre (included)\n\n__Common Dependencies__\n* `UglifyJS` package (**required**, global install)\n* `Closure` compiler (**included**)\n* `YUI Compressor` compiler (**included**)\n* `Java 6` (**required** by `YUI`, `Closure` compilers)\n* `CSS Minifier` (`python`) (**included**)\n* `CSS Minifier` (`php`) (**included**)\n* `CSS Minifier` (`node`) (**included**)\n* `Xpresion` (`python`) (**included**)\n* `Xpresion` (`php`) (**included**)\n* `Xpresion` (`node`) (**included**)\n\n**NOTE:** Only one of the three `javascript` minify compilers needs be used, but `Beeld` interfaces are provided for all three.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo123%2Fbeeld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoo123%2Fbeeld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo123%2Fbeeld/lists"}