Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Silex is an online tool for visually creating static sites with dynamic data. With the free/libre spirit of internet, together.

License

NotificationsYou must be signed in to change notification settings

silexlabs/Silex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository's startsIssuesLicenseLatest commit

Silex meta repo

Silex 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.

Silex 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.

Silex UI

Brought to you byAlex Hoyau andSilex contributors.

Silex is free/libre software, users are expected to help make Silex sustainable by beingpart of the community,contributing documentation,making a financial contribution,report bugs.

Useful links

Here are the main features of Silex website builder:

  • Free and Open Source, open to contributions
  • 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.
  • Online CSS Editor: Alongside the visual editor, Silex also provides an online CSS editor for more advanced customization.
  • Static HTML Websites: Silex is designed to create static HTML websites, which are fast, secure, and easy to host.
  • SEO Features: Silex includes SEO features to help improve the visibility of websites on search engines.
  • Editor UI: Silex offers features like fonts, visual CSS editor, publication...
  • Self-hosting Option: Users can choose to host Silex website builder on their own server, using docker, nodejs or helpers forCaprover,Yunohost,Elest.io
  • Community Support: Being an open-source project, Silex has a community of developers who contribute to its development and provide support.
  • Silex v3 > Silex is based onGrapesJs
  • Silex v2 > Sync with Dropbox and FTP: Users can sync their Silex projects with Dropbox and FTP, allowing for easy access and management of files.
  • Silex v2 > Templates: Silex comes with a growing number of templates (both free and paid) that users can use as a starting point for their websites.

About this repo

This is a meta repository for Silex website builder.

It 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 usingYarn Workspaces ornpm workspaces.

To execute a command in every package, usegit submodule foreach 'command' ornpm run exec -- 'command' orscripts/exec.js 'command'.

Included repositories in this meta repo

Leave the line bellow as it is used in the doc script to insert content in the readme

Auto generated submodules

Silex packages

NameDirectoryRepoDescription
@silexlabs/sitemapgenpackages/SitemapGengit@github.com:silexlabs/SitemapGen.gitGenerate asitemap.xml from a static site generator (SSG) output directory.
Silex Puter Pluginpackages/silex-putergit@github.com:silexlabs/silex-puter.gitTheSilex 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.
Silex pluginspackages/silex-pluginsgit@github.com:silexlabs/silex-plugins.gitEnvironment agnostic (node.js, browser, commonjs, esnext...) open architecture (plugin system) inspired by 11ty.dev config
Silex Plugin Starterpackages/silex-plugin-startergit@github.com:silexlabs/silex-plugin-starter.gitA good place to start writing a Silex plugin. It supports server and/or client side plugins, in Javascript and TypeScript. CheckSilex developer docs if you need help orjoin the discussions in the forum
Silex Platform by Silex Labspackages/silex-platformgit@github.com:silexlabs/silex-platform.gitThis is also a good example on how to customize Silex. And it has a Dockerfile for easy deployment.
Silex core librarypackages/silex-libgit@github.com:silexlabs/silex-lib.gitThis 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.
Silex Dashboardpackages/silex-dashboardgit@github.com:silexlabs/silex-dashboard.gitHere is the source code of Silex dashboard. It is aSilex plugin which can be installed to manage websites you will then edit in Silex.
Silex CMSpackages/silex-cmsgit@github.com:silexlabs/silex-cms.gitThis is a Silex plugin to make Eleventy layouts visually with integration of any GraphQL API, allowing for a streamlined, code-free development process
node_modules Pathpackages/node_modules-pathgit@github.com:lexoyo/node_modules-path.gitGet the path of thenode_modules folder in your scripts or CLI orpackage.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.
Grapesjs Ui Suggest Classespackages/grapesjs-ui-suggest-classesgit@github.com:silexlabs/grapesjs-ui-suggest-classes.gitA grapesjs plugin to enable auto-complete of classes in the SelectorManager UI
Symbols plugin for GrapesJSpackages/grapesjs-symbolsgit@github.com:silexlabs/grapesjs-sympbols.gitThis plugin enables users to create symbols, which are reusable elements, in a page and accross pages
Grapesjs Storage Rate Limitpackages/grapesjs-storage-rate-limitgit@github.com:silexlabs/grapesjs-storage-rate-limit.gitA 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.
GrapesJs Notifications Pluginpackages/grapesjs-notificationsgit@github.com:silexlabs/grapesjs-notifications.gitWhy 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.
Grapesjs Loadingpackages/grapesjs-loadinggit@github.com:silexlabs/grapesjs-loading.gitShows 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.
GrapesJS Keymap Dialogpackages/grapesjs-keymaps-dialoggit@github.com:silexlabs/grapesjs-keymaps-dialog.gitThis GrapesJS plugin implements a floating UI showing the available keymaps for the editor.
Grapesjs Fontspackages/grapesjs-fontsgit@github.com:silexlabs/grapesjs-fonts.gitCustom Fonts plugin for grapesjs
Grapesjs Filter Stylespackages/grapesjs-filter-stylesgit@github.com:silexlabs/grapesjs-filter-styles.gitThis plugin adds a search bar in the Style manager so that users can search for a CSS style
GrapesJs Data Source pluginpackages/grapesjs-data-sourcegit@github.com:silexlabs/grapesjs-data-source.gitThis GrapesJS plugin integrates various APIs into the editor.
GrapesJS Advanced Selector Managerpackages/grapesjs-advanced-selectorgit@github.com:silexlabs/grapesjs-advanced-selector.gitAn advanced selector management plugin for GrapesJS, specifically designed for cases where the default Selector Manager falls short,
Expression & Popin Form Componentspackages/expression-inputgit@github.com:silexlabs/expression-input.gitA set of reusable web components to manage expressions (chains of tokens) and form overlays.
eleventy-plugin-concatpackages/eleventy-plugin-concatgit@github.com:silexlabs/eleventy-plugin-concat.gitEleventy plugin to bundle your scripts and styles

Auto generated submodules

Instruction

For the initial setup, please use yarn instead of npm, as it handles workspaces better. You can use npm after the initial setup.For the versionning process, please use npm instead of yarn, as it has not been migrated to yarn yet.

To 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 replacenpm withyarn):

  • On github, fork this repo
  • Be sure of your ssh key for gitlab and github configured (we use both for repos)
  • Don't forget to verify if nodejs, nvm and npm are installed on your server
  • Then clone and setup the project:
$ git clone git@github.com:<your github handle>/Silex.git --recurse-submodules -j8$ cd Silex$ nvm install # [optional] Get the node version from .nvmrc$ npm install # Will install dependencies in all submodules too$ npm start # Will run the Silex editor from packages/silex-lib

If needed, add your .env file in /Silex/Server side options documentation and your server-side config file ..silex.js in /Silex/packages/silex-lib/Server side configuration documentation

Then you can open your browser athttp://localhost:6805 to see the Silex editor running locally.

When you are ready to contribute to a specific library or libraries, you can do the following:

  • On github, fork the libraries you intend to contribute to, e.g.silex-desktop
  • In your local clone of this meta repo, update submodule URLs to point to your own forks of each library, e.g:
    $cd packages/silex-desktop$ git remote set-url origin git@github.com:<your-username>/silex-desktop.git'
  • Sync Changes: Once your contributions are merged into the main library repositories, they will automatically sync with the meta repository when submodules are updated.

Troubleshooting:

If you find your repositories in a strange state, e.g repositories are on commits instead of the main branch, or if yournpm install fails... You can do this:

$ scripts/exec.js "git checkout {{branch}}" # checkout the default branch in all submodules$ scripts/exec.js "npm install" # install dependencies in all submodules$ cd packages/Silex && npm run build && cd ../.. # build the Silex editor

Useful commands

  • Start Silex:npm start (or usenpm run start:debug)
  • 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 togit push --follow-tags the changed packages
  • Add a project:git submodule add $PACKAGE_GIT_URL packages/$PACKAGE_NAME, then runnpm run doc
  • Updatepackage-lock.json for a particular package:npm i --package-lock-only --workspaces false in the package directory
  • Publish a new version of a package:npm version --patch && git push --follow-tags in the package directory

Third party dependencies

Size of Silex code base

This includes all the packages of this repo.

Auto generated count

> silex-meta@1.0.0 count> 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     100 files     200 files     300 files     400 files     500 files     600 files     700 files     800 files     900 files     951 text files.classified 412 filesDuplicate file check 412 files (303 known unique)Unique:      100 files                                          Unique:      200 files                                          Unique:      300 files                                               315 unique files.                              Counting:  100Counting:  200Counting:  300     808 files ignored.github.com/AlDanial/cloc v 1.96  T=0.50 s (630.0 files/s, 205358.0 lines/s)-------------------------------------------------------------------------------Language                     files          blank        comment           code-------------------------------------------------------------------------------JavaScript                     111           1029           2406          63147TypeScript                     191           2421           6003          25738Text                             2              3              0            760GraphQL                          3             66              6            696JSX                              1              0              2            266Dockerfile                       3             12              9             73Bourne Shell                     3              8              1             24liquid                           1              0              0              9-------------------------------------------------------------------------------SUM:                           315           3539           8427          90713-------------------------------------------------------------------------------

Auto generated count

Cloc's report in mar. 2021:

-------------------------------------------------------------------------------Language                     files          blank        comment           code-------------------------------------------------------------------------------JavaScript                     149           9652          10733          54582JSON                            55              3              0          52723TypeScript                     178           2591           4713          21524HTML                           114          16988            380          16689CSS                             57           2142           1098          14399SCSS                            57            881            415           5444SVG                             17              0              0           4810LESS                            36            172            203           4039YAML                            38             18             46           2607EJS                             28             40              9           1627JSX                             14            160            109           1406Markdown                        42            472              0           1067Pug                             17             54             36            938Dockerfile                       1              3              3              9Properties                       1              1              0              1-------------------------------------------------------------------------------SUM:                           804          33177          17745         181865-------------------------------------------------------------------------------

Cloc's report in feb 2023:

$ cloc packages                                                                           515 text files.     345 unique files.                                               697 files ignored.github.com/AlDanial/cloc v 1.92  T=1.00 s (345.0 files/s, 212776.0 lines/s)-------------------------------------------------------------------------------Language                     files          blank        comment           code-------------------------------------------------------------------------------JSON                            22              1              0         119875JavaScript                      62           7190           7805          38240TypeScript                     142           2035           4067          17106CSS                             21            594            715           5761YAML                            23             53             39           2914LESS                            21            138            159           2234Markdown                        15            413              0            932Pug                             14             49             30            899EJS                              7             35              4            798HTML                             3             56             12            495SVG                             13              0              0             96Dockerfile                       2              9              9             13-------------------------------------------------------------------------------SUM:                           345          10573          12840         189363-------------------------------------------------------------------------------

About

Silex is an online tool for visually creating static sites with dynamic data. With the free/libre spirit of internet, together.

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp