{"id":14979471,"url":"https://github.com/silexlabs/silex","last_synced_at":"2025-12-28T03:03:47.565Z","repository":{"id":10897109,"uuid":"13190625","full_name":"silexlabs/Silex","owner":"silexlabs","description":"Silex is an online tool for visually creating static sites with dynamic data. With the free/libre spirit of internet, together.","archived":false,"fork":false,"pushed_at":"2025-05-06T11:19:47.000Z","size":73197,"stargazers_count":2527,"open_issues_count":139,"forks_count":620,"subscribers_count":121,"default_branch":"main","last_synced_at":"2025-05-13T18:16:57.476Z","etag":null,"topics":["composable","design","grapesjs","jamstack","javascript","no-code","nocode","nodejs","saas","silex","visual","visual-programming","webdesign","website-builder"],"latest_commit_sha":null,"homepage":"https://www.silex.me","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/silexlabs.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"silex"}},"created_at":"2013-09-29T10:22:10.000Z","updated_at":"2025-05-13T06:49:42.000Z","dependencies_parsed_at":"2023-09-23T14:34:40.563Z","dependency_job_id":"be8d8a65-4db0-4415-8e66-749dd8719471","html_url":"https://github.com/silexlabs/Silex","commit_stats":{"total_commits":3034,"total_committers":38,"mean_commits":79.84210526315789,"dds":"0.21259063941990775","last_synced_commit":"b4a900158e3467aa8fb5a967f63a4b3bf9ab00be"},"previous_names":[],"tags_count":258,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silexlabs%2FSilex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silexlabs%2FSilex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silexlabs%2FSilex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silexlabs%2FSilex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silexlabs","download_url":"https://codeload.github.com/silexlabs/Silex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000895,"owners_count":21997444,"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":["composable","design","grapesjs","jamstack","javascript","no-code","nocode","nodejs","saas","silex","visual","visual-programming","webdesign","website-builder"],"created_at":"2024-09-24T14:00:04.336Z","updated_at":"2025-12-28T03:03:47.554Z","avatar_url":"https://github.com/silexlabs.png","language":"JavaScript","funding_links":["https://opencollective.com/silex"],"categories":[],"sub_categories":[],"readme":"[![Repository's starts](https://img.shields.io/github/stars/silexlabs/Silex?colorA=2c2837\u0026colorB=c9cbff\u0026style=for-the-badge\u0026logo=starship)](https://github.com/silexlabs/Silex/stargazers)\n[![Issues](https://img.shields.io/github/issues-raw/silexlabs/Silex?colorA=2c2837\u0026colorB=f2cdcd\u0026style=for-the-badge\u0026logo=starship)](https://github.com/silexlabs/Silex/issues)\n[![License](https://img.shields.io/github/license/silexlabs/Silex?colorA=2c2837\u0026colorB=b5e8e0\u0026style=for-the-badge\u0026logo=starship)](https://github.com/silexlabs/Silex/blob/main/LICENSE)\n[![Latest commit](https://img.shields.io/github/last-commit/silexlabs/Silex/main?colorA=2c2837\u0026colorB=ddb6f2\u0026style=for-the-badge\u0026logo=starship)](https://github.com/silexlabs/Silex/commits/main)\n\n\n## Silex meta repo\n\nSilex is a no-code tool for building websites. It also lets you code when needed. It can be used online, offline or in a JAMStack project.\n\nSilex lets you create websites without coding, but it also has built-in editors for HTML, CSS, and JavaScript for when you need more control. It is used by freelancers and web studios to make real websites for real clients. Also Silex can generate templates or be integrated in a nodejs ilproject, it has a plugin system and can integrate with headleass CMS and static site generators, it is part of the JSAMStack ecosystem since the v3.\n\n![Silex UI](https://github.com/silexlabs/www.silex.me/raw/gh-pages/assets/silex-ui.gif)\n\nBrought to you by [Alex Hoyau](https://lexoyo.me) and [Silex contributors](https://github.com/silexlabs/silex-lib/graphs/contributors).\n\nSilex is free/libre software, users are expected to help make Silex sustainable by being [part of the community](https://community.silex.me/), [contributing documentation](https://docs.silex.me/), [making a financial contribution](https://opencollective.com/silex), [report bugs](https://github.com/silexlabs/Silex/issues).\n\nUseful links\n\n* [User docs](https://docs.silex.me/en/user/selectors)\n* [Official website](https://www.silex.me/)\n* [Road map (please help defining tasks and prioritising)](https://roadmap.silex.me)\n* [Bug report in Github issues](https://github.com/silexlabs/Silex/issues)\n* [Forums in Github discussions](https://community.silex.me)\n* [Silex meta package with more source code](https://github.com/silexlabs/Silex)\n\nHere are the main features of Silex website builder:\n\n* Free and Open Source, open to contributions\n* Visual Editor: Silex offers a visual editor that allows users to create websites without needing to write code. It supports drag-and-drop functionality for easy website creation.\n* Online CSS Editor: Alongside the visual editor, Silex also provides an online CSS editor for more advanced customization.\n* Static HTML Websites: Silex is designed to create static HTML websites, which are fast, secure, and easy to host.\n* SEO Features: Silex includes SEO features to help improve the visibility of websites on search engines.\n* Editor UI: Silex offers features like fonts, visual CSS editor, publication...\n* Self-hosting Option: Users can choose to host Silex website builder on their own server, using docker, nodejs or helpers for [Caprover](https://caprover.com/), [Yunohost](https://yunohost.org/), [Elest.io](https://elest.io/)\n* Community Support: Being an open-source project, Silex has a community of developers who contribute to its development and provide support.\n* Silex v3 \u003e Silex is based on [GrapesJs](https://grapesjs.com/)\n* Silex v2 \u003e Sync with Dropbox and FTP: Users can sync their Silex projects with Dropbox and FTP, allowing for easy access and management of files.\n* Silex v2 \u003e Templates: Silex comes with a growing number of templates (both free and paid) that users can use as a starting point for their websites.\n\n## About this repo\n\nThis is a meta repository for Silex website builder.\n\nIt includes all projects needed for Silex development as git submodules. This is the repo you need to contribute to Silex, many of the repositories are dependencies of each other so use this meta repo and benefit from using [Yarn Workspaces](https://classic.yarnpkg.com/en/docs/workspaces/) or [npm workspaces](https://docs.npmjs.com/cli/using-npm/workspaces).\n\nTo execute a command in every package, use `git submodule foreach 'command'` or `npm run exec -- 'command'` or `scripts/exec.js 'command'`.\n\n## Included repositories in this meta repo\n\n\u003e Leave the line bellow as it is used in the doc script to insert content in the readme\n\u003e\n\u003e Auto generated submodules\n\n# Silex packages\n\n| Name | Directory | Repo | Description |\n| ---- | --------- | ---- | ----------- |\n| @silexlabs/sitemapgen | `packages/SitemapGen` | `git@github.com:silexlabs/SitemapGen.git` | Generate a`sitemap.xml` from a static site generator (SSG) output directory. |\n| Silex Puter Plugin | `packages/silex-puter` | `git@github.com:silexlabs/silex-puter.git` | The **Silex Puter Plugin** brings Silex’s professional website-building capabilities to the Puter environment, letting users create, save, and publish static websites directly in Puter. This plugin enables seamless integration, making it easier than ever to use Silex within Puter for web design and content management. |\n| Silex plugins | `packages/silex-plugins` | `git@github.com:silexlabs/silex-plugins.git` | Environment agnostic (node.js, browser, commonjs, esnext...) open architecture (plugin system) inspired by 11ty.dev config |\n| Silex Plugin Starter | `packages/silex-plugin-starter` | `git@github.com:silexlabs/silex-plugin-starter.git` | A good place to start writing a Silex plugin. It supports server and/or client side plugins, in Javascript and TypeScript. Check [Silex developer docs if you need help](https://docs.silex.me/en/dev) or [join the discussions in the forum](https://community.silex.me/) |\n| Silex Platform by Silex Labs | `packages/silex-platform` | `git@github.com:silexlabs/silex-platform.git` | This is also a good example on how to customize Silex. And it has a Dockerfile for easy deployment. |\n| Silex core library | `packages/silex-lib` | `git@github.com:silexlabs/silex-lib.git` | This repository is the core library of Silex, it is a nodejs server which serves the Silex editor and the websites created with Silex. The core library is used in the online version of Silex, in the desktop app, and in the nodejs integration. It is available as a npx cli, as a docker image, and as a npm/nodejs library. |\n| Silex desktop (v2) | `packages/silex-desktop` | `git@github.com:silexlabs/silex-desktop.git` | This is the official [Silex](https://www.silex.me) desktop version, an installable application for Windows, MacOS and linux. |\n| Silex Dashboard | `packages/silex-dashboard` | `git@github.com:silexlabs/silex-dashboard.git` | Here is the source code of Silex dashboard. It is a [Silex](https://www.silex.me) plugin which can be installed to manage websites you will then edit in Silex. |\n| node_modules Path | `packages/node_modules-path` | `git@github.com:lexoyo/node_modules-path.git` | Get the path of the `node_modules` folder in your scripts or CLI or `package.json`. This is useful when you are building a library that can either be used as an npm dependency or directly, [see this question on SO](https://stackoverflow.com/questions/44279838/copy-assets-from-npm). |\n| @silexlabs/grapesjs-version-flow | `packages/grapesjs-version-flow` | `git@github.com:silexlabs/grapesjs-version-flow.git` | A GrapesJS plugin for managing version upgrades and migrations with sequential upgrade flow and modal UI |\n| Grapesjs Tailwind(WIP) | `packages/grapesjs-tailwind` | `git@github.com:silexlabs/grapesjs-tailwind.git` | [DEMO](https://codepen.io/ju99ernaut/pen/BaKGadb) |\n| Symbols plugin for GrapesJS | `packages/grapesjs-symbols` | `git@github.com:silexlabs/grapesjs-symbols.git` | This plugin enables users to create symbols, which are reusable elements, in a page and accross pages |\n| Grapesjs Storage Rate Limit | `packages/grapesjs-storage-rate-limit` | `git@github.com:silexlabs/grapesjs-storage-rate-limit.git` | A plugin for GrapesJS that provides rate-limited storage, allowing you to save changes immediately and then cool down for a specified period before saving again. |\n| GrapesJs Notifications Plugin | `packages/grapesjs-notifications` | `git@github.com:silexlabs/grapesjs-notifications.git` | Why this plugin? GrapesJs is a powerful framework to build no-code tools and allow users to create templates using a drag-and-drop interface. However, the framework does not offer a standard way of notifying users and each plugin implements its own, which is messy and not user friendly. This plugin provides a centralized notification system that can be used by all plugins to display messages to the user. |\n| Grapesjs Loading | `packages/grapesjs-loading` | `git@github.com:silexlabs/grapesjs-loading.git` | Shows a loading bar while the site is loaded or saved. By default it looks like the classic loading bar on top of the page, e.g. on github.com. |\n| GrapesJS Keymap Dialog | `packages/grapesjs-keymaps-dialog` | `git@github.com:silexlabs/grapesjs-keymaps-dialog.git` | This GrapesJS plugin implements a floating UI showing the available keymaps for the editor. |\n| Grapesjs Fonts | `packages/grapesjs-fonts` | `git@github.com:silexlabs/grapesjs-fonts.git` | Custom Fonts plugin for grapesjs |\n| Grapesjs Filter Styles | `packages/grapesjs-filter-styles` | `git@github.com:silexlabs/grapesjs-filter-styles.git` | This plugin adds a search bar in the Style manager so that users can search for a CSS style |\n| GrapesJs Data Source plugin | `packages/grapesjs-data-source` | `git@github.com:silexlabs/grapesjs-data-source.git` | This GrapesJS plugin integrates various APIs into the editor, providing powerful data-driven website building capabilities. |\n| GrapesJS AI Copilot | `packages/grapesjs-ai-copilot` | `git@github.com:silexlabs/grapesjs-ai-copilot.git` | ![AI Copilot Banner](https://img.shields.io/badge/AI-Copilot-blue?style=for-the-badge) |\n| GrapesJS Advanced Selector Manager | `packages/grapesjs-advanced-selector` | `git@github.com:silexlabs/grapesjs-advanced-selector.git` | An advanced selector management plugin for GrapesJS, designed for cases where the default Selector Manager falls short |\n| Expression \u0026 Popin Form Components | `packages/expression-input` | `git@github.com:silexlabs/expression-input.git` | A set of reusable web components to manage expressions (chains of tokens) and form overlays.   |\n| eleventy-plugin-concat | `packages/eleventy-plugin-concat` | `git@github.com:silexlabs/eleventy-plugin-concat.git` | Eleventy plugin to bundle your scripts and styles |\n\n\n\u003e Auto generated submodules\n\n## Instruction\n\n\u003e For the initial setup, please use yarn instead of npm, as it handles workspaces better. You can use npm after the initial setup.\n\u003e For the versionning process, please use npm instead of yarn, as it has not been migrated to yarn yet.\n\nTo contribute to Silex you need to fork this repo then clone locally (mini 2CPU and 4GoRAM) this repo with its submodules, make sure you use the required nodejs version (nvm) and install its dependencies (you can replace `npm` with `yarn`):\n\n* On github, fork this repo\n* Be sure of your ssh key for gitlab and github configured (we use both for repos)\n* Don't forget to verify if nodejs, nvm and npm are installed on your server\n* Then clone and setup the project:\n\n```\n$ git clone git@github.com:\u003cyour github handle\u003e/Silex.git --recurse-submodules -j8\n$ cd Silex\n$ nvm install # [optional] Get the node version from .nvmrc\n$ npm install # Will install dependencies in all submodules too\n$ npm start # Will run the Silex editor from packages/silex-lib\n```\nIf needed, add your .env file in \u003cyour-install-dir\u003e/Silex/ [Server side options documentation](https://docs.silex.me/en/dev/options#server-side-options) and your server-side config file .\u003cname\u003e.silex.js in \u003cyour-install-dir\u003e/Silex/packages/silex-lib/ [Server side configuration documentation](https://docs.silex.me/en/dev/connect#configuring-silex-with-existing-connectors)\n\nThen you can open your browser at [http://localhost:6805](http://localhost:6805) to see the Silex editor running locally.\n\nWhen you are ready to contribute to a specific library or libraries, you can do the following:\n\n* On github, fork the libraries you intend to contribute to, e.g. `silex-desktop`\n* In your local clone of this meta repo, update submodule URLs to point to your own forks of each library, e.g:\n  ```sh\n  $ cd packages/silex-desktop\n  $ git remote set-url origin git@github.com:\u003cyour-username\u003e/silex-desktop.git'\n  ```\n* Sync Changes: Once your contributions are merged into the main library repositories, they will automatically sync with the meta repository when submodules are updated.\n\nTroubleshooting:\n\nIf you find your repositories in a strange state, e.g repositories are on commits instead of the main branch, or if your `npm install` fails... You can do this:\n```\n$ scripts/exec.js \"git checkout {{branch}}\" # checkout the default branch in all submodules\n$ scripts/exec.js \"npm install\" # install dependencies in all submodules\n$ cd packages/Silex \u0026\u0026 npm run build \u0026\u0026 cd ../.. # build the Silex editor\n```\n\nUseful commands\n\n* Start Silex: `npm start` (or use `npm run start:debug`)\n* Release a package (which is in packages/$PACKAGE_NAME) and bump version of a library and all its dependents: `scripts/release-version packages/$PACKAGE_NAME $VERSION`, then you probably want to `git push --follow-tags` the changed packages\n* Add a project: `git submodule add $PACKAGE_GIT_URL packages/$PACKAGE_NAME`, then run `npm run doc`\n* Update `package-lock.json` for a particular package: `npm i --package-lock-only --workspaces false` in the package directory\n* Publish a new version of a package: `npm version --patch \u0026\u0026 git push --follow-tags` in the package directory\n\n## Third party dependencies\n\n* The excellent [GrapesJs framework](https://grapesjs.com/) used for the front end drag/drop feature\n* [Typescript](https://www.typescriptlang.org/) is used to build Silex\n* [GLYPHICONS library of icons and symbols](http://glyphicons.com/) ([CC license](http://creativecommons.org/licenses/by/3.0/)) and [fontawesome icons](http://fontawesome.io/)\n\n## Size of Silex code base\n\nThis includes all the packages of this repo.\n\n\u003e Auto generated count\n\n```\n\n\u003e silex-meta@1.0.0 count\n\u003e cloc packages --exclude-dir node_modules,doc,strapi,test,dist,mock --exclude-ext=md,xml,pug,njk,ini,scss,css,json,svg,yaml,yml,html\n\n     100 files\r     200 files\r     300 files\r     400 files\r     500 files\r     600 files\r     700 files\r     800 files\r     900 files\r     938 text files.\nclassified 558 files\rDuplicate file check 558 files (461 known unique)\rUnique:      100 files                                          \rUnique:      200 files                                          \rUnique:      300 files                                          \rUnique:      400 files                                          \r     479 unique files.                              \nCounting:  100\rCounting:  200\rCounting:  300\rCounting:  400\r     542 files ignored.\n\ngithub.com/AlDanial/cloc v 1.96  T=0.41 s (1180.7 files/s, 279547.1 lines/s)\n-------------------------------------------------------------------------------\nLanguage                     files          blank        comment           code\n-------------------------------------------------------------------------------\nJavaScript                     269           1907           2889          68820\nTypeScript                     197           2984           6929          28244\nGraphQL                          4            115              6           1002\nJSX                              1              0              2            266\nText                             2             32              0             86\nDockerfile                       2             10              7             66\nBourne Shell                     3              8              1             24\nliquid                           1              0              0              9\n-------------------------------------------------------------------------------\nSUM:                           479           5056           9834          98517\n-------------------------------------------------------------------------------\n\n```\n\n\u003e Auto generated count\n\n[Cloc's report](https://github.com/AlDanial/cloc) in mar. 2021:\n\n```\n-------------------------------------------------------------------------------\nLanguage                     files          blank        comment           code\n-------------------------------------------------------------------------------\nJavaScript                     149           9652          10733          54582\nJSON                            55              3              0          52723\nTypeScript                     178           2591           4713          21524\nHTML                           114          16988            380          16689\nCSS                             57           2142           1098          14399\nSCSS                            57            881            415           5444\nSVG                             17              0              0           4810\nLESS                            36            172            203           4039\nYAML                            38             18             46           2607\nEJS                             28             40              9           1627\nJSX                             14            160            109           1406\nMarkdown                        42            472              0           1067\nPug                             17             54             36            938\nDockerfile                       1              3              3              9\nProperties                       1              1              0              1\n-------------------------------------------------------------------------------\nSUM:                           804          33177          17745         181865\n-------------------------------------------------------------------------------\n```\n\n[Cloc's report](https://github.com/AlDanial/cloc) in feb 2023:\n\n```\n$ cloc packages\n     515 text files.\n     345 unique files.\n     697 files ignored.\n\ngithub.com/AlDanial/cloc v 1.92  T=1.00 s (345.0 files/s, 212776.0 lines/s)\n-------------------------------------------------------------------------------\nLanguage                     files          blank        comment           code\n-------------------------------------------------------------------------------\nJSON                            22              1              0         119875\nJavaScript                      62           7190           7805          38240\nTypeScript                     142           2035           4067          17106\nCSS                             21            594            715           5761\nYAML                            23             53             39           2914\nLESS                            21            138            159           2234\nMarkdown                        15            413              0            932\nPug                             14             49             30            899\nEJS                              7             35              4            798\nHTML                             3             56             12            495\nSVG                             13              0              0             96\nDockerfile                       2              9              9             13\n-------------------------------------------------------------------------------\nSUM:                           345          10573          12840         189363\n-------------------------------------------------------------------------------\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilexlabs%2Fsilex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilexlabs%2Fsilex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilexlabs%2Fsilex/lists"}