From fa66d628a084c3c56cf188c66db98d3209e488d7 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 9 Feb 2024 14:05:38 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Major=20code=20restructuri?= =?UTF-8?q?ng?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.toml | 109 +++++++++++--- README.md | 137 +++++++++--------- ...R.bin.Cargo.toml => STARTER.bin.Cargo.toml | 0 ...R.lib.Cargo.toml => STARTER.lib.Cargo.toml | 0 pagetop/build.rs => build.rs | 0 .../settings.predefined.toml | 0 drust/Cargo.toml | 18 +-- examples/Cargo.toml | 4 - examples/basics/hello-name/Cargo.toml | 9 -- examples/basics/hello-world/Cargo.toml | 8 - .../hello-name/src/main.rs => hello-name.rs} | 0 .../src/main.rs => hello-world.rs} | 0 .../pagetop-build}/Cargo.toml | 2 +- .../pagetop-build}/README.md | 0 .../pagetop-build}/src/lib.rs | 0 .../pagetop-macros}/Cargo.toml | 2 +- .../pagetop-macros}/README.md | 0 .../pagetop-macros}/src/lib.rs | 0 .../pagetop-macros}/src/maud.rs | 0 .../pagetop-macros}/src/maud/ast.rs | 0 .../pagetop-macros}/src/maud/escape.rs | 0 .../pagetop-macros}/src/maud/generate.rs | 0 .../pagetop-macros}/src/maud/parse.rs | 0 .../pagetop-admin}/Cargo.toml | 4 +- .../pagetop-admin}/README.md | 0 .../pagetop-admin}/src/lib.rs | 0 .../pagetop-admin}/src/locale/en-US/admin.ftl | 0 .../pagetop-admin}/src/locale/es-ES/admin.ftl | 0 .../pagetop-admin}/src/summary.rs | 0 .../pagetop-bootsier}/Cargo.toml | 6 +- .../pagetop-bootsier}/README.md | 0 .../pagetop-bootsier}/build.rs | 0 .../pagetop-bootsier}/src/lib.rs | 0 .../src/locale/en-US/bootsier.ftl | 0 .../src/locale/en-US/regions.ftl | 0 .../src/locale/es-ES/bootsier.ftl | 0 .../src/locale/es-ES/regions.ftl | 0 .../static/css/bootstrap.min.css | 0 .../static/css/bootstrap.min.css.map | 0 .../pagetop-bootsier}/static/css/styles.css | 0 .../static/images/caution.png | Bin .../static/js/bootstrap.bundle.min.js | 0 .../static/js/bootstrap.bundle.min.js.map | 0 .../pagetop-bulmix}/Cargo.toml | 6 +- .../pagetop-bulmix}/README.md | 0 .../pagetop-bulmix}/build.rs | 0 .../pagetop-bulmix}/src/lib.rs | 0 .../static/css/bulma-rtl.min.css | 0 .../static/css/bulma-rtl.min.css.map | 0 .../pagetop-bulmix}/static/css/bulma.min.css | 0 .../static/css/bulma.min.css.map | 0 .../pagetop-bulmix}/static/css/styles.css | 0 .../pagetop-homedemo}/Cargo.toml | 6 +- .../pagetop-homedemo}/README.md | 0 .../pagetop-homedemo}/build.rs | 0 .../pagetop-homedemo}/src/lib.rs | 0 .../src/locale/en-US/homepage.ftl | 0 .../src/locale/es-ES/homepage.ftl | 0 .../pagetop-homedemo}/static/css/styles.css | 0 .../pagetop-homedemo}/static/images/about.svg | 0 .../static/images/header.svg | 0 .../static/images/pagetop.png | Bin .../static/images/support.jpg | Bin .../static/images/welcome.jpg | Bin .../pagetop-node}/Cargo.toml | 4 +- .../pagetop-node}/README.md | 0 .../pagetop-node}/src/lib.rs | 0 .../src/locale/en-US/homepage.ftl | 0 .../src/locale/es-ES/homepage.ftl | 0 .../pagetop-node}/src/migration.rs | 0 ...m20220316_000001_create_table_node_type.rs | 0 .../m20220316_000002_create_table_node.rs | 0 ...0220316_000003_create_table_node_access.rs | 0 ...20316_000004_create_table_node_revision.rs | 0 .../pagetop-user}/Cargo.toml | 4 +- .../pagetop-user}/README.md | 0 .../pagetop-user}/src/lib.rs | 0 .../src/locale/en-US/homepage.ftl | 0 .../src/locale/es-ES/homepage.ftl | 0 .../pagetop-user}/src/migration.rs | 0 .../m20220312_000001_create_table_role.rs | 0 ...312_000002_create_table_role_permission.rs | 0 .../m20220312_000003_create_table_user.rs | 0 ...m20220312_000004_create_table_user_role.rs | 0 pagetop/Cargo.toml | 90 ------------ pagetop/README.md | 22 --- {pagetop/src => src}/app.rs | 20 +-- {pagetop/src => src}/app/figfont.rs | 0 {pagetop/src => src}/app/slant.flf | 0 {pagetop/src => src}/app/small.flf | 0 {pagetop/src => src}/app/speed.flf | 0 {pagetop/src => src}/app/starwars.flf | 0 {pagetop/src => src}/base.rs | 0 {pagetop/src => src}/base/action.rs | 0 {pagetop/src => src}/base/action/component.rs | 2 +- .../component/after_prepare_component.rs | 6 +- .../component/before_prepare_component.rs | 6 +- {pagetop/src => src}/base/action/page.rs | 0 .../base/action/page/after_prepare_body.rs | 0 .../base/action/page/before_prepare_body.rs | 0 {pagetop/src => src}/base/component.rs | 0 {pagetop/src => src}/base/component/block.rs | 0 .../src => src}/base/component/branding.rs | 0 {pagetop/src => src}/base/component/button.rs | 0 .../src => src}/base/component/error403.rs | 0 .../src => src}/base/component/error404.rs | 0 {pagetop/src => src}/base/component/flex.rs | 0 .../base/component/flex/container.rs | 0 .../src => src}/base/component/flex/item.rs | 0 {pagetop/src => src}/base/component/form.rs | 0 .../base/component/form/action_button.rs | 0 .../src => src}/base/component/form/date.rs | 0 .../base/component/form/form_main.rs | 0 .../src => src}/base/component/form/hidden.rs | 0 .../src => src}/base/component/form/input.rs | 0 .../src => src}/base/component/heading.rs | 0 {pagetop/src => src}/base/component/html.rs | 0 {pagetop/src => src}/base/component/icon.rs | 0 {pagetop/src => src}/base/component/image.rs | 0 {pagetop/src => src}/base/component/menu.rs | 0 .../base/component/menu/element.rs | 0 .../src => src}/base/component/menu/group.rs | 0 .../src => src}/base/component/menu/item.rs | 0 .../base/component/menu/megamenu.rs | 0 .../base/component/menu/menu_main.rs | 0 .../base/component/menu/submenu.rs | 0 .../src => src}/base/component/paragraph.rs | 0 .../src => src}/base/component/powered_by.rs | 0 .../src => src}/base/component/translate.rs | 0 .../src => src}/base/component/wrapper.rs | 0 {pagetop/src => src}/base/theme.rs | 0 {pagetop/src => src}/base/theme/basic.rs | 0 {pagetop/src => src}/base/theme/chassis.rs | 0 {pagetop/src => src}/base/theme/inception.rs | 0 {pagetop/src => src}/config.rs | 0 {pagetop/src => src}/config/data.rs | 0 {pagetop/src => src}/config/de.rs | 0 {pagetop/src => src}/config/error.rs | 0 {pagetop/src => src}/config/file.rs | 0 {pagetop/src => src}/config/file/source.rs | 0 {pagetop/src => src}/config/file/toml.rs | 0 {pagetop/src => src}/config/path.rs | 0 {pagetop/src => src}/config/path/parser.rs | 0 {pagetop/src => src}/config/source.rs | 0 {pagetop/src => src}/config/value.rs | 0 {pagetop/src => src}/core.rs | 0 {pagetop/src => src}/core/action.rs | 0 {pagetop/src => src}/core/action/all.rs | 0 .../src => src}/core/action/definition.rs | 0 {pagetop/src => src}/core/action/list.rs | 0 {pagetop/src => src}/core/component.rs | 0 .../src => src}/core/component/arc_any.rs | 0 .../src => src}/core/component/arc_typed.rs | 0 .../src => src}/core/component/classes.rs | 0 .../src => src}/core/component/context.rs | 0 .../src => src}/core/component/definition.rs | 0 .../src => src}/core/component/renderable.rs | 0 {pagetop/src => src}/core/package.rs | 0 {pagetop/src => src}/core/package/all.rs | 2 +- .../src => src}/core/package/definition.rs | 0 {pagetop/src => src}/core/theme.rs | 0 {pagetop/src => src}/core/theme/all.rs | 0 {pagetop/src => src}/core/theme/definition.rs | 0 {pagetop/src => src}/core/theme/regions.rs | 0 {pagetop/src => src}/datetime.rs | 0 {pagetop/src => src}/db.rs | 0 {pagetop/src => src}/db/migration.rs | 0 .../src => src}/db/migration/connection.rs | 0 {pagetop/src => src}/db/migration/manager.rs | 0 {pagetop/src => src}/db/migration/migrator.rs | 0 {pagetop/src => src}/db/migration/prelude.rs | 0 .../db/migration/seaql_migrations.rs | 0 {pagetop/src => src}/html.rs | 0 {pagetop/src => src}/html/assets.rs | 0 .../src => src}/html/assets/headscript.rs | 0 .../src => src}/html/assets/headstyles.rs | 0 .../src => src}/html/assets/javascript.rs | 0 .../src => src}/html/assets/stylesheet.rs | 0 {pagetop/src => src}/html/favicon.rs | 0 {pagetop/src => src}/html/maud.rs | 0 {pagetop/src => src}/html/maud/escape.rs | 0 {pagetop/src => src}/html/opt_classes.rs | 0 {pagetop/src => src}/html/opt_component.rs | 0 {pagetop/src => src}/html/opt_id.rs | 0 {pagetop/src => src}/html/opt_name.rs | 0 {pagetop/src => src}/html/opt_string.rs | 0 {pagetop/src => src}/html/opt_translated.rs | 0 {pagetop/src => src}/html/unit.rs | 0 {pagetop/src => src}/lib.rs | 73 +++------- {pagetop/src => src}/locale.rs | 0 {pagetop/src => src}/locale/en-US/base.ftl | 0 {pagetop/src => src}/locale/en-US/theme.ftl | 0 {pagetop/src => src}/locale/es-ES/base.ftl | 0 {pagetop/src => src}/locale/es-ES/theme.ftl | 0 {pagetop/src => src}/prelude.rs | 2 +- {pagetop/src => src}/response.rs | 0 {pagetop/src => src}/response/page.rs | 1 + {pagetop/src => src}/response/page/error.rs | 0 {pagetop/src => src}/response/redirect.rs | 0 {pagetop/src => src}/service.rs | 0 {pagetop/src => src}/trace.rs | 0 {pagetop/src => src}/util.rs | 0 banner-pagetop.png => static/banner.png | Bin {pagetop/static => static}/base/css/basic.css | 0 .../static => static}/base/css/buttons.css | 0 .../static => static}/base/css/chassis.css | 0 {pagetop/static => static}/base/css/flex.css | 0 .../static => static}/base/css/icons.min.css | 0 .../static => static}/base/css/inception.css | 0 {pagetop/static => static}/base/css/looks.css | 0 {pagetop/static => static}/base/css/menu.css | 0 .../base/css/normalize.min.css | 0 {pagetop/static => static}/base/css/root.css | 0 {pagetop/static => static}/base/favicon.ico | Bin .../static => static}/base/fonts/icons.woff | Bin .../static => static}/base/fonts/icons.woff2 | Bin {pagetop/static => static}/base/js/menu.js | 0 .../static => static}/base/pagetop-logo.svg | 0 {pagetop/tests => tests}/main.rs | 0 .../tests => tests}/server/health_check.rs | 0 {pagetop/tests => tests}/server/mod.rs | 0 221 files changed, 228 insertions(+), 315 deletions(-) rename pagetop/STARTER.bin.Cargo.toml => STARTER.bin.Cargo.toml (100%) rename pagetop/STARTER.lib.Cargo.toml => STARTER.lib.Cargo.toml (100%) rename pagetop/build.rs => build.rs (100%) rename {pagetop/config => config}/settings.predefined.toml (100%) delete mode 100644 examples/Cargo.toml delete mode 100644 examples/basics/hello-name/Cargo.toml delete mode 100644 examples/basics/hello-world/Cargo.toml rename examples/{basics/hello-name/src/main.rs => hello-name.rs} (100%) rename examples/{basics/hello-world/src/main.rs => hello-world.rs} (100%) rename {pagetop-build => helpers/pagetop-build}/Cargo.toml (92%) rename {pagetop-build => helpers/pagetop-build}/README.md (100%) rename {pagetop-build => helpers/pagetop-build}/src/lib.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/Cargo.toml (94%) rename {pagetop-macros => helpers/pagetop-macros}/README.md (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/lib.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/maud.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/maud/ast.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/maud/escape.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/maud/generate.rs (100%) rename {pagetop-macros => helpers/pagetop-macros}/src/maud/parse.rs (100%) rename {pagetop-admin => packages/pagetop-admin}/Cargo.toml (82%) rename {pagetop-admin => packages/pagetop-admin}/README.md (100%) rename {pagetop-admin => packages/pagetop-admin}/src/lib.rs (100%) rename {pagetop-admin => packages/pagetop-admin}/src/locale/en-US/admin.ftl (100%) rename {pagetop-admin => packages/pagetop-admin}/src/locale/es-ES/admin.ftl (100%) rename {pagetop-admin => packages/pagetop-admin}/src/summary.rs (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/Cargo.toml (72%) rename {pagetop-bootsier => packages/pagetop-bootsier}/README.md (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/build.rs (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/src/lib.rs (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/src/locale/en-US/bootsier.ftl (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/src/locale/en-US/regions.ftl (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/src/locale/es-ES/bootsier.ftl (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/src/locale/es-ES/regions.ftl (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/css/bootstrap.min.css (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/css/bootstrap.min.css.map (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/css/styles.css (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/images/caution.png (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/js/bootstrap.bundle.min.js (100%) rename {pagetop-bootsier => packages/pagetop-bootsier}/static/js/bootstrap.bundle.min.js.map (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/Cargo.toml (72%) rename {pagetop-bulmix => packages/pagetop-bulmix}/README.md (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/build.rs (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/src/lib.rs (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/static/css/bulma-rtl.min.css (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/static/css/bulma-rtl.min.css.map (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/static/css/bulma.min.css (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/static/css/bulma.min.css.map (100%) rename {pagetop-bulmix => packages/pagetop-bulmix}/static/css/styles.css (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/Cargo.toml (70%) rename {pagetop-homedemo => packages/pagetop-homedemo}/README.md (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/build.rs (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/src/lib.rs (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/src/locale/en-US/homepage.ftl (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/src/locale/es-ES/homepage.ftl (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/css/styles.css (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/images/about.svg (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/images/header.svg (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/images/pagetop.png (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/images/support.jpg (100%) rename {pagetop-homedemo => packages/pagetop-homedemo}/static/images/welcome.jpg (100%) rename {pagetop-node => packages/pagetop-node}/Cargo.toml (73%) rename {pagetop-node => packages/pagetop-node}/README.md (100%) rename {pagetop-node => packages/pagetop-node}/src/lib.rs (100%) rename {pagetop-node => packages/pagetop-node}/src/locale/en-US/homepage.ftl (100%) rename {pagetop-node => packages/pagetop-node}/src/locale/es-ES/homepage.ftl (100%) rename {pagetop-node => packages/pagetop-node}/src/migration.rs (100%) rename {pagetop-node => packages/pagetop-node}/src/migration/m20220316_000001_create_table_node_type.rs (100%) rename {pagetop-node => packages/pagetop-node}/src/migration/m20220316_000002_create_table_node.rs (100%) rename {pagetop-node => packages/pagetop-node}/src/migration/m20220316_000003_create_table_node_access.rs (100%) rename {pagetop-node => packages/pagetop-node}/src/migration/m20220316_000004_create_table_node_revision.rs (100%) rename {pagetop-user => packages/pagetop-user}/Cargo.toml (76%) rename {pagetop-user => packages/pagetop-user}/README.md (100%) rename {pagetop-user => packages/pagetop-user}/src/lib.rs (100%) rename {pagetop-user => packages/pagetop-user}/src/locale/en-US/homepage.ftl (100%) rename {pagetop-user => packages/pagetop-user}/src/locale/es-ES/homepage.ftl (100%) rename {pagetop-user => packages/pagetop-user}/src/migration.rs (100%) rename {pagetop-user => packages/pagetop-user}/src/migration/m20220312_000001_create_table_role.rs (100%) rename {pagetop-user => packages/pagetop-user}/src/migration/m20220312_000002_create_table_role_permission.rs (100%) rename {pagetop-user => packages/pagetop-user}/src/migration/m20220312_000003_create_table_user.rs (100%) rename {pagetop-user => packages/pagetop-user}/src/migration/m20220312_000004_create_table_user_role.rs (100%) delete mode 100644 pagetop/Cargo.toml delete mode 100644 pagetop/README.md rename {pagetop/src => src}/app.rs (90%) rename {pagetop/src => src}/app/figfont.rs (100%) rename {pagetop/src => src}/app/slant.flf (100%) rename {pagetop/src => src}/app/small.flf (100%) rename {pagetop/src => src}/app/speed.flf (100%) rename {pagetop/src => src}/app/starwars.flf (100%) rename {pagetop/src => src}/base.rs (100%) rename {pagetop/src => src}/base/action.rs (100%) rename {pagetop/src => src}/base/action/component.rs (68%) rename {pagetop/src => src}/base/action/component/after_prepare_component.rs (92%) rename {pagetop/src => src}/base/action/component/before_prepare_component.rs (92%) rename {pagetop/src => src}/base/action/page.rs (100%) rename {pagetop/src => src}/base/action/page/after_prepare_body.rs (100%) rename {pagetop/src => src}/base/action/page/before_prepare_body.rs (100%) rename {pagetop/src => src}/base/component.rs (100%) rename {pagetop/src => src}/base/component/block.rs (100%) rename {pagetop/src => src}/base/component/branding.rs (100%) rename {pagetop/src => src}/base/component/button.rs (100%) rename {pagetop/src => src}/base/component/error403.rs (100%) rename {pagetop/src => src}/base/component/error404.rs (100%) rename {pagetop/src => src}/base/component/flex.rs (100%) rename {pagetop/src => src}/base/component/flex/container.rs (100%) rename {pagetop/src => src}/base/component/flex/item.rs (100%) rename {pagetop/src => src}/base/component/form.rs (100%) rename {pagetop/src => src}/base/component/form/action_button.rs (100%) rename {pagetop/src => src}/base/component/form/date.rs (100%) rename {pagetop/src => src}/base/component/form/form_main.rs (100%) rename {pagetop/src => src}/base/component/form/hidden.rs (100%) rename {pagetop/src => src}/base/component/form/input.rs (100%) rename {pagetop/src => src}/base/component/heading.rs (100%) rename {pagetop/src => src}/base/component/html.rs (100%) rename {pagetop/src => src}/base/component/icon.rs (100%) rename {pagetop/src => src}/base/component/image.rs (100%) rename {pagetop/src => src}/base/component/menu.rs (100%) rename {pagetop/src => src}/base/component/menu/element.rs (100%) rename {pagetop/src => src}/base/component/menu/group.rs (100%) rename {pagetop/src => src}/base/component/menu/item.rs (100%) rename {pagetop/src => src}/base/component/menu/megamenu.rs (100%) rename {pagetop/src => src}/base/component/menu/menu_main.rs (100%) rename {pagetop/src => src}/base/component/menu/submenu.rs (100%) rename {pagetop/src => src}/base/component/paragraph.rs (100%) rename {pagetop/src => src}/base/component/powered_by.rs (100%) rename {pagetop/src => src}/base/component/translate.rs (100%) rename {pagetop/src => src}/base/component/wrapper.rs (100%) rename {pagetop/src => src}/base/theme.rs (100%) rename {pagetop/src => src}/base/theme/basic.rs (100%) rename {pagetop/src => src}/base/theme/chassis.rs (100%) rename {pagetop/src => src}/base/theme/inception.rs (100%) rename {pagetop/src => src}/config.rs (100%) rename {pagetop/src => src}/config/data.rs (100%) rename {pagetop/src => src}/config/de.rs (100%) rename {pagetop/src => src}/config/error.rs (100%) rename {pagetop/src => src}/config/file.rs (100%) rename {pagetop/src => src}/config/file/source.rs (100%) rename {pagetop/src => src}/config/file/toml.rs (100%) rename {pagetop/src => src}/config/path.rs (100%) rename {pagetop/src => src}/config/path/parser.rs (100%) rename {pagetop/src => src}/config/source.rs (100%) rename {pagetop/src => src}/config/value.rs (100%) rename {pagetop/src => src}/core.rs (100%) rename {pagetop/src => src}/core/action.rs (100%) rename {pagetop/src => src}/core/action/all.rs (100%) rename {pagetop/src => src}/core/action/definition.rs (100%) rename {pagetop/src => src}/core/action/list.rs (100%) rename {pagetop/src => src}/core/component.rs (100%) rename {pagetop/src => src}/core/component/arc_any.rs (100%) rename {pagetop/src => src}/core/component/arc_typed.rs (100%) rename {pagetop/src => src}/core/component/classes.rs (100%) rename {pagetop/src => src}/core/component/context.rs (100%) rename {pagetop/src => src}/core/component/definition.rs (100%) rename {pagetop/src => src}/core/component/renderable.rs (100%) rename {pagetop/src => src}/core/package.rs (100%) rename {pagetop/src => src}/core/package/all.rs (98%) rename {pagetop/src => src}/core/package/definition.rs (100%) rename {pagetop/src => src}/core/theme.rs (100%) rename {pagetop/src => src}/core/theme/all.rs (100%) rename {pagetop/src => src}/core/theme/definition.rs (100%) rename {pagetop/src => src}/core/theme/regions.rs (100%) rename {pagetop/src => src}/datetime.rs (100%) rename {pagetop/src => src}/db.rs (100%) rename {pagetop/src => src}/db/migration.rs (100%) rename {pagetop/src => src}/db/migration/connection.rs (100%) rename {pagetop/src => src}/db/migration/manager.rs (100%) rename {pagetop/src => src}/db/migration/migrator.rs (100%) rename {pagetop/src => src}/db/migration/prelude.rs (100%) rename {pagetop/src => src}/db/migration/seaql_migrations.rs (100%) rename {pagetop/src => src}/html.rs (100%) rename {pagetop/src => src}/html/assets.rs (100%) rename {pagetop/src => src}/html/assets/headscript.rs (100%) rename {pagetop/src => src}/html/assets/headstyles.rs (100%) rename {pagetop/src => src}/html/assets/javascript.rs (100%) rename {pagetop/src => src}/html/assets/stylesheet.rs (100%) rename {pagetop/src => src}/html/favicon.rs (100%) rename {pagetop/src => src}/html/maud.rs (100%) rename {pagetop/src => src}/html/maud/escape.rs (100%) rename {pagetop/src => src}/html/opt_classes.rs (100%) rename {pagetop/src => src}/html/opt_component.rs (100%) rename {pagetop/src => src}/html/opt_id.rs (100%) rename {pagetop/src => src}/html/opt_name.rs (100%) rename {pagetop/src => src}/html/opt_string.rs (100%) rename {pagetop/src => src}/html/opt_translated.rs (100%) rename {pagetop/src => src}/html/unit.rs (100%) rename {pagetop/src => src}/lib.rs (80%) rename {pagetop/src => src}/locale.rs (100%) rename {pagetop/src => src}/locale/en-US/base.ftl (100%) rename {pagetop/src => src}/locale/en-US/theme.ftl (100%) rename {pagetop/src => src}/locale/es-ES/base.ftl (100%) rename {pagetop/src => src}/locale/es-ES/theme.ftl (100%) rename {pagetop/src => src}/prelude.rs (93%) rename {pagetop/src => src}/response.rs (100%) rename {pagetop/src => src}/response/page.rs (99%) rename {pagetop/src => src}/response/page/error.rs (100%) rename {pagetop/src => src}/response/redirect.rs (100%) rename {pagetop/src => src}/service.rs (100%) rename {pagetop/src => src}/trace.rs (100%) rename {pagetop/src => src}/util.rs (100%) rename banner-pagetop.png => static/banner.png (100%) rename {pagetop/static => static}/base/css/basic.css (100%) rename {pagetop/static => static}/base/css/buttons.css (100%) rename {pagetop/static => static}/base/css/chassis.css (100%) rename {pagetop/static => static}/base/css/flex.css (100%) rename {pagetop/static => static}/base/css/icons.min.css (100%) rename {pagetop/static => static}/base/css/inception.css (100%) rename {pagetop/static => static}/base/css/looks.css (100%) rename {pagetop/static => static}/base/css/menu.css (100%) rename {pagetop/static => static}/base/css/normalize.min.css (100%) rename {pagetop/static => static}/base/css/root.css (100%) rename {pagetop/static => static}/base/favicon.ico (100%) rename {pagetop/static => static}/base/fonts/icons.woff (100%) rename {pagetop/static => static}/base/fonts/icons.woff2 (100%) rename {pagetop/static => static}/base/js/menu.js (100%) rename {pagetop/static => static}/base/pagetop-logo.svg (100%) rename {pagetop/tests => tests}/main.rs (100%) rename {pagetop/tests => tests}/server/health_check.rs (100%) rename {pagetop/tests => tests}/server/mod.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index a6a9ecf9..31d4bbca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,24 +1,97 @@ -[workspace] +[package] +name = "pagetop" +version = "0.0.49" +edition = "2021" -members = [ - "pagetop", - # Utilities. - "pagetop-macros", - "pagetop-build", - # Themes. - "pagetop-bootsier", - "pagetop-bulmix", - # Packages. - "pagetop-homedemo", - "pagetop-admin", - "pagetop-user", - "pagetop-node", +authors = [ + "Manuel Cillero " ] +description = """\ + PageTop is an opinionated Rust web development framework to build secure and modular \ + Server-Side Rendering (SSR) web solutions. +""" +homepage = "https://pagetop.cillero.es" +repository = "https://github.com/manuelcillero/pagetop" +license = "MIT OR Apache-2.0" +categories = [ + "web-programming", "development-tools", "gui" +] +keywords = [ + "web", "framework", "frontend", "ssr", "pagetop" +] exclude = [ - "drust", - "examples", - "tests", + "config/", "drust/", "examples/", "helpers/", "packages/", "tests/", "workdir/" ] +rust-version = "1.70.0" -resolver = "2" +[workspace] +members = ["drust", "helpers/*", "packages/*"] + +[lib] +name = "pagetop" + +[features] +default = [] +database = ["futures", "sea-orm", "sea-schema"] +mysql = ["database", "sea-orm/sqlx-mysql"] +postgres = ["database", "sea-orm/sqlx-postgres"] +sqlite = ["database", "sea-orm/sqlx-sqlite"] + +[dependencies] +async-trait = "0.1.77" +chrono = "0.4.33" +concat-string = "1.0.1" +figlet-rs = "0.1.5" +itoa = "1.0.10" +nom = "7.1.3" +once_cell = "1.19.0" +paste = "1.0.14" +smart-default = "0.7.1" +substring = "1.4.5" +term_size = "0.3.2" +toml = "0.8.10" +url = "2.5.0" + +tracing = "0.1.40" +tracing-appender = "0.2.3" +tracing-subscriber = { version = "0.3.18", features = ["json", "env-filter"] } +tracing-actix-web = "0.7.9" + +fluent-templates = "0.8.0" +unic-langid = { version = "0.9.4", features = ["macros"] } + +actix-web = "4" +actix-session = { version = "0.9.0", features = ["cookie-session"] } + +actix-web-files = { package = "actix-files", version = "0.6.5" } +actix-web-static-files = "4.0.1" +static-files = "0.2.3" + +pagetop-macros = { version = "0.0", path = "helpers/pagetop-macros" } + +serde = { version = "1.0", features = ["derive"] } + +[dependencies.futures] +version = "0.3.30" +optional = true + +[dependencies.heck] +version = "0.4.1" + +[dependencies.sea-orm] +version = "0.12.9" +features = ["debug-print", "macros", "runtime-async-std-native-tls"] +default-features = false +optional = true + +[dependencies.sea-schema] +version = "0.14.1" +optional = true + +[build-dependencies] +pagetop-build = { version = "0.0", path = "helpers/pagetop-build" } + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/README.md b/README.md index 1e509f73..9d68a529 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,90 @@
- +

PageTop

- [![crate](https://img.shields.io/crates/v/pagetop.svg)](https://crates.io/crates/pagetop) - [![docs](https://docs.rs/pagetop/badge.svg)](https://docs.rs/pagetop) + [![License](https://img.shields.io/badge/license-MIT%2FApache-blue.svg?style=for-the-badge)](https://github.com/manuelcillero/pagetop#-license) + [![API Docs](https://img.shields.io/docsrs/pagetop?label=API%20Docs&style=for-the-badge&logo=Docs.rs)](https://docs.rs/pagetop) + [![Crates.io](https://img.shields.io/crates/v/pagetop.svg?style=for-the-badge&logo=ipfs)](https://crates.io/crates/pagetop) + [![Downloads](https://img.shields.io/crates/d/pagetop.svg?style=for-the-badge&logo=transmission)](https://crates.io/crates/pagetop)
-**PageTop** es un entorno de desarrollo basado en [Rust](https://www.rust-lang.org/es/) que reúne -algunos de los crates más estables y populares para crear soluciones web modulares, extensibles y -configurables. +**PageTop** is an opinionated [Rust](https://www.rust-lang.org) web development framework to build +secure and modular Server-Side Rendering (SSR) web solutions. -Incluye **Drust**, un sistema de gestión de contenidos basado en PageTop que permite crear, editar y -mantener sitios web dinámicos, rápidos y seguros. +PageTop stands on the shoulders of giants. It leverages some of the most stable and popular Rust +crates to provide extensible and easily configurable features. + +# 🚧 Warning + +**PageTop** framework is currently in active development. The API is unstable and subject to +frequent changes. Production use is not recommended until version **0.1.0**. -# 🚧 Advertencia +# 📂 Repository Structure -**PageTop** es un proyecto personal para aprender Rust y conocer su ecosistema. Sólo se liberan -versiones de desarrollo. En este contexto la API no es estable y los cambios son constantes. No -puede considerarse preparado hasta que se libere la versión **0.1.0**. +This repository is organized into a workspace that includes several subprojects, each serving a +distinct role within the PageTop ecosystem: + +## Application + +* **[drust](https://github.com/manuelcillero/pagetop/tree/main/drust)**, a simple Content Management + System (CMS) built on PageTop, which enables the creation, editing, and maintenance of dynamic, + fast, and secure websites. It uses the following essential packages to provide standard CMS + functionalities. + +## Packages + +* **[pagetop-homedemo](https://github.com/manuelcillero/pagetop/tree/main/pagetop-homedemo)**: + Showcases a demo homepage, offering a glimpse into PageTop's capabilities. + +* **[pagetop-admin](https://github.com/manuelcillero/pagetop/tree/main/pagetop-admin)**: Offers a + unified interface for administrators to configure and manage package settings. + +* **[pagetop-user](https://github.com/manuelcillero/pagetop/tree/main/pagetop-user)**: Facilitates + user management, including roles, permissions, and session handling, for PageTop-based + applications. + +* **[pagetop-node](https://github.com/manuelcillero/pagetop/tree/main/pagetop-node)**: Enables the + creation and customization of content types, enhancing website content management. + +## Themes + +* **[pagetop-bootsier](https://github.com/manuelcillero/pagetop/tree/main/pagetop-bootsier)**: + Utilizes the [Bootstrap](https://getbootstrap.com/) framework to offer versatile page layouts and + component stylings. + +* **[pagetop-bulmix](https://github.com/manuelcillero/pagetop/tree/main/pagetop-bulmix)**: Employs + the [Bulma](https://bulma.io/) framework for sleek, responsive design elements. + +## Helpers + +* **[pagetop-macros](https://github.com/manuelcillero/pagetop/tree/main/pagetop-macros)**: A + collection of procedural macros that enhance the development experience within PageTop. + +* **[pagetop-build](https://github.com/manuelcillero/pagetop/tree/main/pagetop-build)**: Simplifies + the process of embedding resources directly into binary files for PageTop applications. -# 📂 Estructura del código +# 📜 License -El repositorio se organiza en un *workspace* con los siguientes subproyectos: +PageTop is free, open source and permissively licensed! Except where noted (below and/or in +individual files), all code in this repository is dual-licensed under either: -* **[pagetop](https://github.com/manuelcillero/pagetop/tree/main/pagetop)**, es la librería esencial - construida con *crates* estables y muy conocidos del ecosistema Rust para proporcionar APIs, - patrones de desarrollo y buenas prácticas para la creación avanzada de soluciones web SSR - (*Server-Side Rendering*). + * MIT License + ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT) -## Auxiliares + * Apache License, Version 2.0, + ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0) -* **[pagetop-macros](https://github.com/manuelcillero/pagetop/tree/main/pagetop-macros)**, agrupa - las principales macros procedurales para usar desde **PageTop**. - -* **[pagetop-build](https://github.com/manuelcillero/pagetop/tree/main/pagetop-build)**, permite - incluir fácilmente recursos en los archivos binarios al compilar aplicaciones creadas con - **PageTop**. - -## Módulos - -* **[pagetop-homedemo](https://github.com/manuelcillero/pagetop/tree/main/pagetop-homedemo)**, - módulo que muestra una página de inicio de demostración para presentar **PageTop**. - -* **[pagetop-admin](https://github.com/manuelcillero/pagetop/tree/main/pagetop-admin)**, módulo que - proporciona a otros módulos un lugar común donde presentar a los administradores sus opciones de - configuración. - -* **[pagetop-user](https://github.com/manuelcillero/pagetop/tree/main/pagetop-user)**, módulo para - añadir gestión de usuarios, roles, permisos y sesiones en aplicaciones desarrolladas con PageTop. - -* **[pagetop-node](https://github.com/manuelcillero/pagetop/tree/main/pagetop-node)**, módulo para - crear, extender o personalizar los tipos de contenido que puede administrar un sitio web. - -## Temas - -* **[pagetop-bootsier](https://github.com/manuelcillero/pagetop/tree/main/pagetop-bootsier)**, tema - que utiliza el *framework* [Bootstrap](https://getbootstrap.com/) para la composición de páginas y - visualización de componentes. - -* **[pagetop-bulmix](https://github.com/manuelcillero/pagetop/tree/main/pagetop-bulmix)**, tema que - utiliza el *framework* [Bulma](https://bulma.io/) para la composición de páginas y visualización - de componentes. - -## Aplicación - -* **[drust](https://github.com/manuelcillero/pagetop/tree/main/drust)**, es una aplicación - inspirada modestamente en [Drupal](https://www.drupal.org) que utiliza PageTop para crear un CMS - (*Content Management System* o sistema de gestión de contenidos) para construir sitios web - dinámicos, administrados y configurables. +at your option. This means you can select the license you prefer! This dual-licensing approach is +the de-facto standard in the Rust ecosystem. -# 📜 Licencia +# ✨ Contributions -Este proyecto tiene licencia, de hecho tiene dos, puedes aplicar cualquiera de las siguientes a tu -elección: - -* Licencia Apache versión 2.0 - ([LICENSE-APACHE](https://github.com/manuelcillero/pagetop/blob/main/LICENSE-APACHE) o - [http://www.apache.org/licenses/LICENSE-2.0]). - -* Licencia MIT - ([LICENSE-MIT](https://github.com/manuelcillero/pagetop/blob/main/LICENSE-MIT) o - [http://opensource.org/licenses/MIT]). +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the +work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any +additional terms or conditions. diff --git a/pagetop/STARTER.bin.Cargo.toml b/STARTER.bin.Cargo.toml similarity index 100% rename from pagetop/STARTER.bin.Cargo.toml rename to STARTER.bin.Cargo.toml diff --git a/pagetop/STARTER.lib.Cargo.toml b/STARTER.lib.Cargo.toml similarity index 100% rename from pagetop/STARTER.lib.Cargo.toml rename to STARTER.lib.Cargo.toml diff --git a/pagetop/build.rs b/build.rs similarity index 100% rename from pagetop/build.rs rename to build.rs diff --git a/pagetop/config/settings.predefined.toml b/config/settings.predefined.toml similarity index 100% rename from pagetop/config/settings.predefined.toml rename to config/settings.predefined.toml diff --git a/drust/Cargo.toml b/drust/Cargo.toml index 3260e429..4669ccd1 100644 --- a/drust/Cargo.toml +++ b/drust/Cargo.toml @@ -11,15 +11,15 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop", features = ["mysql"], default-features = false } +pagetop = { version = "0.0", path = "../", features = ["mysql"], default-features = false } +# Packages. +pagetop-homedemo = { version = "0.0", path = "../packages/pagetop-homedemo" } +pagetop-admin = { version = "0.0", path = "../packages/pagetop-admin" } +pagetop-user = { version = "0.0", path = "../packages/pagetop-user" } +pagetop-node = { version = "0.0", path = "../packages/pagetop-node" } # Themes. -pagetop-bootsier = { version = "0.0", path = "../pagetop-bootsier" } -pagetop-bulmix = { version = "0.0", path = "../pagetop-bulmix" } -# Modules. -pagetop-homedemo = { version = "0.0", path = "../pagetop-homedemo" } -pagetop-admin = { version = "0.0", path = "../pagetop-admin" } -pagetop-user = { version = "0.0", path = "../pagetop-user" } -pagetop-node = { version = "0.0", path = "../pagetop-node" } +pagetop-bootsier = { version = "0.0", path = "../packages/pagetop-bootsier" } +pagetop-bulmix = { version = "0.0", path = "../packages/pagetop-bulmix" } diff --git a/examples/Cargo.toml b/examples/Cargo.toml deleted file mode 100644 index 167bbef8..00000000 --- a/examples/Cargo.toml +++ /dev/null @@ -1,4 +0,0 @@ -[workspace] -members = [ - "basics/*", -] diff --git a/examples/basics/hello-name/Cargo.toml b/examples/basics/hello-name/Cargo.toml deleted file mode 100644 index 6b41c11b..00000000 --- a/examples/basics/hello-name/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "hello_name" -version = "0.0.0" -edition = "2021" -publish = false - -[dependencies] -actix-web = "4" -pagetop = { version = "0.0", path = "../../../pagetop" } diff --git a/examples/basics/hello-world/Cargo.toml b/examples/basics/hello-world/Cargo.toml deleted file mode 100644 index 517f6a10..00000000 --- a/examples/basics/hello-world/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "hello_world" -version = "0.0.0" -edition = "2021" -publish = false - -[dependencies] -pagetop = { version = "0.0", path = "../../../pagetop" } diff --git a/examples/basics/hello-name/src/main.rs b/examples/hello-name.rs similarity index 100% rename from examples/basics/hello-name/src/main.rs rename to examples/hello-name.rs diff --git a/examples/basics/hello-world/src/main.rs b/examples/hello-world.rs similarity index 100% rename from examples/basics/hello-world/src/main.rs rename to examples/hello-world.rs diff --git a/pagetop-build/Cargo.toml b/helpers/pagetop-build/Cargo.toml similarity index 92% rename from pagetop-build/Cargo.toml rename to helpers/pagetop-build/Cargo.toml index ac0b50b7..015d3aa0 100644 --- a/pagetop-build/Cargo.toml +++ b/helpers/pagetop-build/Cargo.toml @@ -11,7 +11,7 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] static-files = "0.2.3" diff --git a/pagetop-build/README.md b/helpers/pagetop-build/README.md similarity index 100% rename from pagetop-build/README.md rename to helpers/pagetop-build/README.md diff --git a/pagetop-build/src/lib.rs b/helpers/pagetop-build/src/lib.rs similarity index 100% rename from pagetop-build/src/lib.rs rename to helpers/pagetop-build/src/lib.rs diff --git a/pagetop-macros/Cargo.toml b/helpers/pagetop-macros/Cargo.toml similarity index 94% rename from pagetop-macros/Cargo.toml rename to helpers/pagetop-macros/Cargo.toml index e6b24a45..a31e3dfb 100644 --- a/pagetop-macros/Cargo.toml +++ b/helpers/pagetop-macros/Cargo.toml @@ -11,7 +11,7 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [lib] proc-macro = true diff --git a/pagetop-macros/README.md b/helpers/pagetop-macros/README.md similarity index 100% rename from pagetop-macros/README.md rename to helpers/pagetop-macros/README.md diff --git a/pagetop-macros/src/lib.rs b/helpers/pagetop-macros/src/lib.rs similarity index 100% rename from pagetop-macros/src/lib.rs rename to helpers/pagetop-macros/src/lib.rs diff --git a/pagetop-macros/src/maud.rs b/helpers/pagetop-macros/src/maud.rs similarity index 100% rename from pagetop-macros/src/maud.rs rename to helpers/pagetop-macros/src/maud.rs diff --git a/pagetop-macros/src/maud/ast.rs b/helpers/pagetop-macros/src/maud/ast.rs similarity index 100% rename from pagetop-macros/src/maud/ast.rs rename to helpers/pagetop-macros/src/maud/ast.rs diff --git a/pagetop-macros/src/maud/escape.rs b/helpers/pagetop-macros/src/maud/escape.rs similarity index 100% rename from pagetop-macros/src/maud/escape.rs rename to helpers/pagetop-macros/src/maud/escape.rs diff --git a/pagetop-macros/src/maud/generate.rs b/helpers/pagetop-macros/src/maud/generate.rs similarity index 100% rename from pagetop-macros/src/maud/generate.rs rename to helpers/pagetop-macros/src/maud/generate.rs diff --git a/pagetop-macros/src/maud/parse.rs b/helpers/pagetop-macros/src/maud/parse.rs similarity index 100% rename from pagetop-macros/src/maud/parse.rs rename to helpers/pagetop-macros/src/maud/parse.rs diff --git a/pagetop-admin/Cargo.toml b/packages/pagetop-admin/Cargo.toml similarity index 82% rename from pagetop-admin/Cargo.toml rename to packages/pagetop-admin/Cargo.toml index 054302bd..fad42462 100644 --- a/pagetop-admin/Cargo.toml +++ b/packages/pagetop-admin/Cargo.toml @@ -12,7 +12,7 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop" } +pagetop = { version = "0.0", path = "../../" } diff --git a/pagetop-admin/README.md b/packages/pagetop-admin/README.md similarity index 100% rename from pagetop-admin/README.md rename to packages/pagetop-admin/README.md diff --git a/pagetop-admin/src/lib.rs b/packages/pagetop-admin/src/lib.rs similarity index 100% rename from pagetop-admin/src/lib.rs rename to packages/pagetop-admin/src/lib.rs diff --git a/pagetop-admin/src/locale/en-US/admin.ftl b/packages/pagetop-admin/src/locale/en-US/admin.ftl similarity index 100% rename from pagetop-admin/src/locale/en-US/admin.ftl rename to packages/pagetop-admin/src/locale/en-US/admin.ftl diff --git a/pagetop-admin/src/locale/es-ES/admin.ftl b/packages/pagetop-admin/src/locale/es-ES/admin.ftl similarity index 100% rename from pagetop-admin/src/locale/es-ES/admin.ftl rename to packages/pagetop-admin/src/locale/es-ES/admin.ftl diff --git a/pagetop-admin/src/summary.rs b/packages/pagetop-admin/src/summary.rs similarity index 100% rename from pagetop-admin/src/summary.rs rename to packages/pagetop-admin/src/summary.rs diff --git a/pagetop-bootsier/Cargo.toml b/packages/pagetop-bootsier/Cargo.toml similarity index 72% rename from pagetop-bootsier/Cargo.toml rename to packages/pagetop-bootsier/Cargo.toml index e67037fe..fa714dbf 100644 --- a/pagetop-bootsier/Cargo.toml +++ b/packages/pagetop-bootsier/Cargo.toml @@ -11,11 +11,11 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop" } +pagetop = { version = "0.0", path = "../../" } static-files = "0.2.3" [build-dependencies] -pagetop-build = { version = "0.0", path = "../pagetop-build" } +pagetop-build = { version = "0.0", path = "../../helpers/pagetop-build" } diff --git a/pagetop-bootsier/README.md b/packages/pagetop-bootsier/README.md similarity index 100% rename from pagetop-bootsier/README.md rename to packages/pagetop-bootsier/README.md diff --git a/pagetop-bootsier/build.rs b/packages/pagetop-bootsier/build.rs similarity index 100% rename from pagetop-bootsier/build.rs rename to packages/pagetop-bootsier/build.rs diff --git a/pagetop-bootsier/src/lib.rs b/packages/pagetop-bootsier/src/lib.rs similarity index 100% rename from pagetop-bootsier/src/lib.rs rename to packages/pagetop-bootsier/src/lib.rs diff --git a/pagetop-bootsier/src/locale/en-US/bootsier.ftl b/packages/pagetop-bootsier/src/locale/en-US/bootsier.ftl similarity index 100% rename from pagetop-bootsier/src/locale/en-US/bootsier.ftl rename to packages/pagetop-bootsier/src/locale/en-US/bootsier.ftl diff --git a/pagetop-bootsier/src/locale/en-US/regions.ftl b/packages/pagetop-bootsier/src/locale/en-US/regions.ftl similarity index 100% rename from pagetop-bootsier/src/locale/en-US/regions.ftl rename to packages/pagetop-bootsier/src/locale/en-US/regions.ftl diff --git a/pagetop-bootsier/src/locale/es-ES/bootsier.ftl b/packages/pagetop-bootsier/src/locale/es-ES/bootsier.ftl similarity index 100% rename from pagetop-bootsier/src/locale/es-ES/bootsier.ftl rename to packages/pagetop-bootsier/src/locale/es-ES/bootsier.ftl diff --git a/pagetop-bootsier/src/locale/es-ES/regions.ftl b/packages/pagetop-bootsier/src/locale/es-ES/regions.ftl similarity index 100% rename from pagetop-bootsier/src/locale/es-ES/regions.ftl rename to packages/pagetop-bootsier/src/locale/es-ES/regions.ftl diff --git a/pagetop-bootsier/static/css/bootstrap.min.css b/packages/pagetop-bootsier/static/css/bootstrap.min.css similarity index 100% rename from pagetop-bootsier/static/css/bootstrap.min.css rename to packages/pagetop-bootsier/static/css/bootstrap.min.css diff --git a/pagetop-bootsier/static/css/bootstrap.min.css.map b/packages/pagetop-bootsier/static/css/bootstrap.min.css.map similarity index 100% rename from pagetop-bootsier/static/css/bootstrap.min.css.map rename to packages/pagetop-bootsier/static/css/bootstrap.min.css.map diff --git a/pagetop-bootsier/static/css/styles.css b/packages/pagetop-bootsier/static/css/styles.css similarity index 100% rename from pagetop-bootsier/static/css/styles.css rename to packages/pagetop-bootsier/static/css/styles.css diff --git a/pagetop-bootsier/static/images/caution.png b/packages/pagetop-bootsier/static/images/caution.png similarity index 100% rename from pagetop-bootsier/static/images/caution.png rename to packages/pagetop-bootsier/static/images/caution.png diff --git a/pagetop-bootsier/static/js/bootstrap.bundle.min.js b/packages/pagetop-bootsier/static/js/bootstrap.bundle.min.js similarity index 100% rename from pagetop-bootsier/static/js/bootstrap.bundle.min.js rename to packages/pagetop-bootsier/static/js/bootstrap.bundle.min.js diff --git a/pagetop-bootsier/static/js/bootstrap.bundle.min.js.map b/packages/pagetop-bootsier/static/js/bootstrap.bundle.min.js.map similarity index 100% rename from pagetop-bootsier/static/js/bootstrap.bundle.min.js.map rename to packages/pagetop-bootsier/static/js/bootstrap.bundle.min.js.map diff --git a/pagetop-bulmix/Cargo.toml b/packages/pagetop-bulmix/Cargo.toml similarity index 72% rename from pagetop-bulmix/Cargo.toml rename to packages/pagetop-bulmix/Cargo.toml index e014cfde..062bad4d 100644 --- a/pagetop-bulmix/Cargo.toml +++ b/packages/pagetop-bulmix/Cargo.toml @@ -11,11 +11,11 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop" } +pagetop = { version = "0.0", path = "../../" } static-files = "0.2.3" [build-dependencies] -pagetop-build = { version = "0.0", path = "../pagetop-build" } +pagetop-build = { version = "0.0", path = "../../helpers/pagetop-build" } diff --git a/pagetop-bulmix/README.md b/packages/pagetop-bulmix/README.md similarity index 100% rename from pagetop-bulmix/README.md rename to packages/pagetop-bulmix/README.md diff --git a/pagetop-bulmix/build.rs b/packages/pagetop-bulmix/build.rs similarity index 100% rename from pagetop-bulmix/build.rs rename to packages/pagetop-bulmix/build.rs diff --git a/pagetop-bulmix/src/lib.rs b/packages/pagetop-bulmix/src/lib.rs similarity index 100% rename from pagetop-bulmix/src/lib.rs rename to packages/pagetop-bulmix/src/lib.rs diff --git a/pagetop-bulmix/static/css/bulma-rtl.min.css b/packages/pagetop-bulmix/static/css/bulma-rtl.min.css similarity index 100% rename from pagetop-bulmix/static/css/bulma-rtl.min.css rename to packages/pagetop-bulmix/static/css/bulma-rtl.min.css diff --git a/pagetop-bulmix/static/css/bulma-rtl.min.css.map b/packages/pagetop-bulmix/static/css/bulma-rtl.min.css.map similarity index 100% rename from pagetop-bulmix/static/css/bulma-rtl.min.css.map rename to packages/pagetop-bulmix/static/css/bulma-rtl.min.css.map diff --git a/pagetop-bulmix/static/css/bulma.min.css b/packages/pagetop-bulmix/static/css/bulma.min.css similarity index 100% rename from pagetop-bulmix/static/css/bulma.min.css rename to packages/pagetop-bulmix/static/css/bulma.min.css diff --git a/pagetop-bulmix/static/css/bulma.min.css.map b/packages/pagetop-bulmix/static/css/bulma.min.css.map similarity index 100% rename from pagetop-bulmix/static/css/bulma.min.css.map rename to packages/pagetop-bulmix/static/css/bulma.min.css.map diff --git a/pagetop-bulmix/static/css/styles.css b/packages/pagetop-bulmix/static/css/styles.css similarity index 100% rename from pagetop-bulmix/static/css/styles.css rename to packages/pagetop-bulmix/static/css/styles.css diff --git a/pagetop-homedemo/Cargo.toml b/packages/pagetop-homedemo/Cargo.toml similarity index 70% rename from pagetop-homedemo/Cargo.toml rename to packages/pagetop-homedemo/Cargo.toml index f2381557..54f5d8c1 100644 --- a/pagetop-homedemo/Cargo.toml +++ b/packages/pagetop-homedemo/Cargo.toml @@ -11,11 +11,11 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop" } +pagetop = { version = "0.0", path = "../../" } static-files = "0.2.3" [build-dependencies] -pagetop-build = { version = "0.0", path = "../pagetop-build" } +pagetop-build = { version = "0.0", path = "../../helpers/pagetop-build" } diff --git a/pagetop-homedemo/README.md b/packages/pagetop-homedemo/README.md similarity index 100% rename from pagetop-homedemo/README.md rename to packages/pagetop-homedemo/README.md diff --git a/pagetop-homedemo/build.rs b/packages/pagetop-homedemo/build.rs similarity index 100% rename from pagetop-homedemo/build.rs rename to packages/pagetop-homedemo/build.rs diff --git a/pagetop-homedemo/src/lib.rs b/packages/pagetop-homedemo/src/lib.rs similarity index 100% rename from pagetop-homedemo/src/lib.rs rename to packages/pagetop-homedemo/src/lib.rs diff --git a/pagetop-homedemo/src/locale/en-US/homepage.ftl b/packages/pagetop-homedemo/src/locale/en-US/homepage.ftl similarity index 100% rename from pagetop-homedemo/src/locale/en-US/homepage.ftl rename to packages/pagetop-homedemo/src/locale/en-US/homepage.ftl diff --git a/pagetop-homedemo/src/locale/es-ES/homepage.ftl b/packages/pagetop-homedemo/src/locale/es-ES/homepage.ftl similarity index 100% rename from pagetop-homedemo/src/locale/es-ES/homepage.ftl rename to packages/pagetop-homedemo/src/locale/es-ES/homepage.ftl diff --git a/pagetop-homedemo/static/css/styles.css b/packages/pagetop-homedemo/static/css/styles.css similarity index 100% rename from pagetop-homedemo/static/css/styles.css rename to packages/pagetop-homedemo/static/css/styles.css diff --git a/pagetop-homedemo/static/images/about.svg b/packages/pagetop-homedemo/static/images/about.svg similarity index 100% rename from pagetop-homedemo/static/images/about.svg rename to packages/pagetop-homedemo/static/images/about.svg diff --git a/pagetop-homedemo/static/images/header.svg b/packages/pagetop-homedemo/static/images/header.svg similarity index 100% rename from pagetop-homedemo/static/images/header.svg rename to packages/pagetop-homedemo/static/images/header.svg diff --git a/pagetop-homedemo/static/images/pagetop.png b/packages/pagetop-homedemo/static/images/pagetop.png similarity index 100% rename from pagetop-homedemo/static/images/pagetop.png rename to packages/pagetop-homedemo/static/images/pagetop.png diff --git a/pagetop-homedemo/static/images/support.jpg b/packages/pagetop-homedemo/static/images/support.jpg similarity index 100% rename from pagetop-homedemo/static/images/support.jpg rename to packages/pagetop-homedemo/static/images/support.jpg diff --git a/pagetop-homedemo/static/images/welcome.jpg b/packages/pagetop-homedemo/static/images/welcome.jpg similarity index 100% rename from pagetop-homedemo/static/images/welcome.jpg rename to packages/pagetop-homedemo/static/images/welcome.jpg diff --git a/pagetop-node/Cargo.toml b/packages/pagetop-node/Cargo.toml similarity index 73% rename from pagetop-node/Cargo.toml rename to packages/pagetop-node/Cargo.toml index 1f10aa37..cd6e6cc0 100644 --- a/pagetop-node/Cargo.toml +++ b/packages/pagetop-node/Cargo.toml @@ -12,7 +12,7 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop", features = ["database"], default-features = false } +pagetop = { version = "0.0", path = "../../", features = ["database"], default-features = false } diff --git a/pagetop-node/README.md b/packages/pagetop-node/README.md similarity index 100% rename from pagetop-node/README.md rename to packages/pagetop-node/README.md diff --git a/pagetop-node/src/lib.rs b/packages/pagetop-node/src/lib.rs similarity index 100% rename from pagetop-node/src/lib.rs rename to packages/pagetop-node/src/lib.rs diff --git a/pagetop-node/src/locale/en-US/homepage.ftl b/packages/pagetop-node/src/locale/en-US/homepage.ftl similarity index 100% rename from pagetop-node/src/locale/en-US/homepage.ftl rename to packages/pagetop-node/src/locale/en-US/homepage.ftl diff --git a/pagetop-node/src/locale/es-ES/homepage.ftl b/packages/pagetop-node/src/locale/es-ES/homepage.ftl similarity index 100% rename from pagetop-node/src/locale/es-ES/homepage.ftl rename to packages/pagetop-node/src/locale/es-ES/homepage.ftl diff --git a/pagetop-node/src/migration.rs b/packages/pagetop-node/src/migration.rs similarity index 100% rename from pagetop-node/src/migration.rs rename to packages/pagetop-node/src/migration.rs diff --git a/pagetop-node/src/migration/m20220316_000001_create_table_node_type.rs b/packages/pagetop-node/src/migration/m20220316_000001_create_table_node_type.rs similarity index 100% rename from pagetop-node/src/migration/m20220316_000001_create_table_node_type.rs rename to packages/pagetop-node/src/migration/m20220316_000001_create_table_node_type.rs diff --git a/pagetop-node/src/migration/m20220316_000002_create_table_node.rs b/packages/pagetop-node/src/migration/m20220316_000002_create_table_node.rs similarity index 100% rename from pagetop-node/src/migration/m20220316_000002_create_table_node.rs rename to packages/pagetop-node/src/migration/m20220316_000002_create_table_node.rs diff --git a/pagetop-node/src/migration/m20220316_000003_create_table_node_access.rs b/packages/pagetop-node/src/migration/m20220316_000003_create_table_node_access.rs similarity index 100% rename from pagetop-node/src/migration/m20220316_000003_create_table_node_access.rs rename to packages/pagetop-node/src/migration/m20220316_000003_create_table_node_access.rs diff --git a/pagetop-node/src/migration/m20220316_000004_create_table_node_revision.rs b/packages/pagetop-node/src/migration/m20220316_000004_create_table_node_revision.rs similarity index 100% rename from pagetop-node/src/migration/m20220316_000004_create_table_node_revision.rs rename to packages/pagetop-node/src/migration/m20220316_000004_create_table_node_revision.rs diff --git a/pagetop-user/Cargo.toml b/packages/pagetop-user/Cargo.toml similarity index 76% rename from pagetop-user/Cargo.toml rename to packages/pagetop-user/Cargo.toml index 46739909..dc5d8c7b 100644 --- a/pagetop-user/Cargo.toml +++ b/packages/pagetop-user/Cargo.toml @@ -12,8 +12,8 @@ description = """\ """ homepage = "https://pagetop.cillero.es" repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" +license = "MIT OR Apache-2.0" [dependencies] -pagetop = { version = "0.0", path = "../pagetop", features = ["database"], default-features = false } +pagetop = { version = "0.0", path = "../../", features = ["database"], default-features = false } serde = { version = "1.0", features = ["derive"] } diff --git a/pagetop-user/README.md b/packages/pagetop-user/README.md similarity index 100% rename from pagetop-user/README.md rename to packages/pagetop-user/README.md diff --git a/pagetop-user/src/lib.rs b/packages/pagetop-user/src/lib.rs similarity index 100% rename from pagetop-user/src/lib.rs rename to packages/pagetop-user/src/lib.rs diff --git a/pagetop-user/src/locale/en-US/homepage.ftl b/packages/pagetop-user/src/locale/en-US/homepage.ftl similarity index 100% rename from pagetop-user/src/locale/en-US/homepage.ftl rename to packages/pagetop-user/src/locale/en-US/homepage.ftl diff --git a/pagetop-user/src/locale/es-ES/homepage.ftl b/packages/pagetop-user/src/locale/es-ES/homepage.ftl similarity index 100% rename from pagetop-user/src/locale/es-ES/homepage.ftl rename to packages/pagetop-user/src/locale/es-ES/homepage.ftl diff --git a/pagetop-user/src/migration.rs b/packages/pagetop-user/src/migration.rs similarity index 100% rename from pagetop-user/src/migration.rs rename to packages/pagetop-user/src/migration.rs diff --git a/pagetop-user/src/migration/m20220312_000001_create_table_role.rs b/packages/pagetop-user/src/migration/m20220312_000001_create_table_role.rs similarity index 100% rename from pagetop-user/src/migration/m20220312_000001_create_table_role.rs rename to packages/pagetop-user/src/migration/m20220312_000001_create_table_role.rs diff --git a/pagetop-user/src/migration/m20220312_000002_create_table_role_permission.rs b/packages/pagetop-user/src/migration/m20220312_000002_create_table_role_permission.rs similarity index 100% rename from pagetop-user/src/migration/m20220312_000002_create_table_role_permission.rs rename to packages/pagetop-user/src/migration/m20220312_000002_create_table_role_permission.rs diff --git a/pagetop-user/src/migration/m20220312_000003_create_table_user.rs b/packages/pagetop-user/src/migration/m20220312_000003_create_table_user.rs similarity index 100% rename from pagetop-user/src/migration/m20220312_000003_create_table_user.rs rename to packages/pagetop-user/src/migration/m20220312_000003_create_table_user.rs diff --git a/pagetop-user/src/migration/m20220312_000004_create_table_user_role.rs b/packages/pagetop-user/src/migration/m20220312_000004_create_table_user_role.rs similarity index 100% rename from pagetop-user/src/migration/m20220312_000004_create_table_user_role.rs rename to packages/pagetop-user/src/migration/m20220312_000004_create_table_user_role.rs diff --git a/pagetop/Cargo.toml b/pagetop/Cargo.toml deleted file mode 100644 index d299f2eb..00000000 --- a/pagetop/Cargo.toml +++ /dev/null @@ -1,90 +0,0 @@ -[package] -name = "pagetop" -version = "0.0.48" -edition = "2021" - -authors = [ - "Manuel Cillero " -] -description = """\ - PageTop is an opinionated Rust web development framework to build secure and modular \ - Server-Side Rendering (SSR) web solutions. -""" -homepage = "https://pagetop.cillero.es" -repository = "https://github.com/manuelcillero/pagetop" -license = "Apache-2.0 OR MIT" - -keywords = [ - "web", "cms", "framework", "frontend", "ssr" -] -categories = [ - "web-programming", "development-tools", "gui" -] - -[lib] -name = "pagetop" - -[features] -default = [] -database = ["futures", "sea-orm", "sea-schema"] -mysql = ["database", "sea-orm/sqlx-mysql"] -postgres = ["database", "sea-orm/sqlx-postgres"] -sqlite = ["database", "sea-orm/sqlx-sqlite"] - -[dependencies] -async-trait = "0.1.74" -chrono = "0.4.31" -concat-string = "1.0.1" -figlet-rs = "0.1.5" -itoa = "1.0.10" -nom = "7.1.3" -once_cell = "1.19.0" -paste = "1.0.14" -smart-default = "0.7.1" -substring = "1.4.5" -term_size = "0.3.2" -toml = "0.8.8" -url = "2.5.0" - -tracing = "0.1.40" -tracing-appender = "0.2.3" -tracing-subscriber = { version = "0.3.18", features = ["json", "env-filter"] } -tracing-actix-web = "0.7.9" - -fluent-templates = "0.8.0" -unic-langid = { version = "0.9.3", features = ["macros"] } - -actix-web = "4" -actix-session = { version = "0.8.0", features = ["cookie-session"] } - -actix-web-files = { package = "actix-files", version = "0.6.2" } -actix-web-static-files = "4.0.1" -static-files = "0.2.3" - -pagetop-macros = { version = "0.0", path = "../pagetop-macros" } - -serde = { version = "1.0", features = ["derive"] } - -[dependencies.futures] -version = "0.3.29" -optional = true - -[dependencies.heck] -version = "0.4.1" - -[dependencies.sea-orm] -version = "0.12.9" -features = ["debug-print", "macros", "runtime-async-std-native-tls"] -default-features = false -optional = true - -[dependencies.sea-schema] -version = "0.14.1" -optional = true - -[build-dependencies] -pagetop-build = { version = "0.0", path = "../pagetop-build" } - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/pagetop/README.md b/pagetop/README.md deleted file mode 100644 index 05471388..00000000 --- a/pagetop/README.md +++ /dev/null @@ -1,22 +0,0 @@ -**PageTop** is an opinionated [Rust](https://www.rust-lang.org) web development framework to build -secure and modular Server-Side Rendering (SSR) web solutions. - -PageTop uses some of the most stable and popular Rust *crates* to provide modular, extensible, and -configurable features. - - -# 🚧 Warning - -**PageTop** framework is currently in active development. The API is unstable and subject to -frequent changes. Production use is not recommended until version **0.1.0**. - - -# 📜 License - -This project is licensed under either of the following licenses, at your option: - - * Apache License, Version 2.0, - ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0) - - * MIT License - ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT) diff --git a/pagetop/src/app.rs b/src/app.rs similarity index 90% rename from pagetop/src/app.rs rename to src/app.rs index 61c37887..f69dcff2 100644 --- a/pagetop/src/app.rs +++ b/src/app.rs @@ -5,7 +5,7 @@ mod figfont; use crate::core::{package, package::PackageRef}; use crate::html::Markup; use crate::response::page::{ErrorPage, ResultPage}; -use crate::{concat_string, config, locale, service, trace, LazyStatic}; +use crate::{config, locale, service, trace, LazyStatic}; #[cfg(feature = "database")] use crate::db; @@ -129,18 +129,14 @@ fn show_banner() { app_name = figfont::FIGFONT.convert(&app).unwrap().to_string(); } } + println!("\n{}", app_name); + // Application description. - let app_description = if !config::SETTINGS.app.description.is_empty() { - concat_string!("\n", config::SETTINGS.app.description) - } else { - "".to_owned() + if !config::SETTINGS.app.description.is_empty() { + println!("{}\n", config::SETTINGS.app.description); }; - // Print banner. - println!( - "\n{}{}\n\nPowered by PageTop {}\n", - app_name, - app_description, - env!("CARGO_PKG_VERSION") - ); + + // PageTop version. + println!("Powered by PageTop {}\n", env!("CARGO_PKG_VERSION")); } } diff --git a/pagetop/src/app/figfont.rs b/src/app/figfont.rs similarity index 100% rename from pagetop/src/app/figfont.rs rename to src/app/figfont.rs diff --git a/pagetop/src/app/slant.flf b/src/app/slant.flf similarity index 100% rename from pagetop/src/app/slant.flf rename to src/app/slant.flf diff --git a/pagetop/src/app/small.flf b/src/app/small.flf similarity index 100% rename from pagetop/src/app/small.flf rename to src/app/small.flf diff --git a/pagetop/src/app/speed.flf b/src/app/speed.flf similarity index 100% rename from pagetop/src/app/speed.flf rename to src/app/speed.flf diff --git a/pagetop/src/app/starwars.flf b/src/app/starwars.flf similarity index 100% rename from pagetop/src/app/starwars.flf rename to src/app/starwars.flf diff --git a/pagetop/src/base.rs b/src/base.rs similarity index 100% rename from pagetop/src/base.rs rename to src/base.rs diff --git a/pagetop/src/base/action.rs b/src/base/action.rs similarity index 100% rename from pagetop/src/base/action.rs rename to src/base/action.rs diff --git a/pagetop/src/base/action/component.rs b/src/base/action/component.rs similarity index 68% rename from pagetop/src/base/action/component.rs rename to src/base/action/component.rs index a1d4ddc8..a4589239 100644 --- a/pagetop/src/base/action/component.rs +++ b/src/base/action/component.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -pub type FnAction = fn(component: &mut C, cx: &mut Context); +pub type FnActionComponent = fn(component: &mut C, cx: &mut Context); mod before_prepare_component; pub use before_prepare_component::*; diff --git a/pagetop/src/base/action/component/after_prepare_component.rs b/src/base/action/component/after_prepare_component.rs similarity index 92% rename from pagetop/src/base/action/component/after_prepare_component.rs rename to src/base/action/component/after_prepare_component.rs index 67828e28..e7767c42 100644 --- a/pagetop/src/base/action/component/after_prepare_component.rs +++ b/src/base/action/component/after_prepare_component.rs @@ -1,11 +1,11 @@ use crate::prelude::*; use crate::BaseHandle; -use super::FnAction; +use super::FnActionComponent; #[derive(BaseHandle)] pub struct AfterPrepareComponent { - f: FnAction, + f: FnActionComponent, referer_handle: Option, referer_id: OptionId, weight: Weight, @@ -26,7 +26,7 @@ impl ActionTrait for AfterPrepareComponent { } impl AfterPrepareComponent { - pub fn new(f: FnAction) -> Self { + pub fn new(f: FnActionComponent) -> Self { AfterPrepareComponent { f, referer_handle: Some(C::static_handle()), diff --git a/pagetop/src/base/action/component/before_prepare_component.rs b/src/base/action/component/before_prepare_component.rs similarity index 92% rename from pagetop/src/base/action/component/before_prepare_component.rs rename to src/base/action/component/before_prepare_component.rs index e4c876d1..a95b907d 100644 --- a/pagetop/src/base/action/component/before_prepare_component.rs +++ b/src/base/action/component/before_prepare_component.rs @@ -1,11 +1,11 @@ use crate::prelude::*; use crate::BaseHandle; -use super::FnAction; +use super::FnActionComponent; #[derive(BaseHandle)] pub struct BeforePrepareComponent { - f: FnAction, + f: FnActionComponent, referer_handle: Option, referer_id: OptionId, weight: Weight, @@ -26,7 +26,7 @@ impl ActionTrait for BeforePrepareComponent { } impl BeforePrepareComponent { - pub fn new(f: FnAction) -> Self { + pub fn new(f: FnActionComponent) -> Self { BeforePrepareComponent { f, referer_handle: Some(C::static_handle()), diff --git a/pagetop/src/base/action/page.rs b/src/base/action/page.rs similarity index 100% rename from pagetop/src/base/action/page.rs rename to src/base/action/page.rs diff --git a/pagetop/src/base/action/page/after_prepare_body.rs b/src/base/action/page/after_prepare_body.rs similarity index 100% rename from pagetop/src/base/action/page/after_prepare_body.rs rename to src/base/action/page/after_prepare_body.rs diff --git a/pagetop/src/base/action/page/before_prepare_body.rs b/src/base/action/page/before_prepare_body.rs similarity index 100% rename from pagetop/src/base/action/page/before_prepare_body.rs rename to src/base/action/page/before_prepare_body.rs diff --git a/pagetop/src/base/component.rs b/src/base/component.rs similarity index 100% rename from pagetop/src/base/component.rs rename to src/base/component.rs diff --git a/pagetop/src/base/component/block.rs b/src/base/component/block.rs similarity index 100% rename from pagetop/src/base/component/block.rs rename to src/base/component/block.rs diff --git a/pagetop/src/base/component/branding.rs b/src/base/component/branding.rs similarity index 100% rename from pagetop/src/base/component/branding.rs rename to src/base/component/branding.rs diff --git a/pagetop/src/base/component/button.rs b/src/base/component/button.rs similarity index 100% rename from pagetop/src/base/component/button.rs rename to src/base/component/button.rs diff --git a/pagetop/src/base/component/error403.rs b/src/base/component/error403.rs similarity index 100% rename from pagetop/src/base/component/error403.rs rename to src/base/component/error403.rs diff --git a/pagetop/src/base/component/error404.rs b/src/base/component/error404.rs similarity index 100% rename from pagetop/src/base/component/error404.rs rename to src/base/component/error404.rs diff --git a/pagetop/src/base/component/flex.rs b/src/base/component/flex.rs similarity index 100% rename from pagetop/src/base/component/flex.rs rename to src/base/component/flex.rs diff --git a/pagetop/src/base/component/flex/container.rs b/src/base/component/flex/container.rs similarity index 100% rename from pagetop/src/base/component/flex/container.rs rename to src/base/component/flex/container.rs diff --git a/pagetop/src/base/component/flex/item.rs b/src/base/component/flex/item.rs similarity index 100% rename from pagetop/src/base/component/flex/item.rs rename to src/base/component/flex/item.rs diff --git a/pagetop/src/base/component/form.rs b/src/base/component/form.rs similarity index 100% rename from pagetop/src/base/component/form.rs rename to src/base/component/form.rs diff --git a/pagetop/src/base/component/form/action_button.rs b/src/base/component/form/action_button.rs similarity index 100% rename from pagetop/src/base/component/form/action_button.rs rename to src/base/component/form/action_button.rs diff --git a/pagetop/src/base/component/form/date.rs b/src/base/component/form/date.rs similarity index 100% rename from pagetop/src/base/component/form/date.rs rename to src/base/component/form/date.rs diff --git a/pagetop/src/base/component/form/form_main.rs b/src/base/component/form/form_main.rs similarity index 100% rename from pagetop/src/base/component/form/form_main.rs rename to src/base/component/form/form_main.rs diff --git a/pagetop/src/base/component/form/hidden.rs b/src/base/component/form/hidden.rs similarity index 100% rename from pagetop/src/base/component/form/hidden.rs rename to src/base/component/form/hidden.rs diff --git a/pagetop/src/base/component/form/input.rs b/src/base/component/form/input.rs similarity index 100% rename from pagetop/src/base/component/form/input.rs rename to src/base/component/form/input.rs diff --git a/pagetop/src/base/component/heading.rs b/src/base/component/heading.rs similarity index 100% rename from pagetop/src/base/component/heading.rs rename to src/base/component/heading.rs diff --git a/pagetop/src/base/component/html.rs b/src/base/component/html.rs similarity index 100% rename from pagetop/src/base/component/html.rs rename to src/base/component/html.rs diff --git a/pagetop/src/base/component/icon.rs b/src/base/component/icon.rs similarity index 100% rename from pagetop/src/base/component/icon.rs rename to src/base/component/icon.rs diff --git a/pagetop/src/base/component/image.rs b/src/base/component/image.rs similarity index 100% rename from pagetop/src/base/component/image.rs rename to src/base/component/image.rs diff --git a/pagetop/src/base/component/menu.rs b/src/base/component/menu.rs similarity index 100% rename from pagetop/src/base/component/menu.rs rename to src/base/component/menu.rs diff --git a/pagetop/src/base/component/menu/element.rs b/src/base/component/menu/element.rs similarity index 100% rename from pagetop/src/base/component/menu/element.rs rename to src/base/component/menu/element.rs diff --git a/pagetop/src/base/component/menu/group.rs b/src/base/component/menu/group.rs similarity index 100% rename from pagetop/src/base/component/menu/group.rs rename to src/base/component/menu/group.rs diff --git a/pagetop/src/base/component/menu/item.rs b/src/base/component/menu/item.rs similarity index 100% rename from pagetop/src/base/component/menu/item.rs rename to src/base/component/menu/item.rs diff --git a/pagetop/src/base/component/menu/megamenu.rs b/src/base/component/menu/megamenu.rs similarity index 100% rename from pagetop/src/base/component/menu/megamenu.rs rename to src/base/component/menu/megamenu.rs diff --git a/pagetop/src/base/component/menu/menu_main.rs b/src/base/component/menu/menu_main.rs similarity index 100% rename from pagetop/src/base/component/menu/menu_main.rs rename to src/base/component/menu/menu_main.rs diff --git a/pagetop/src/base/component/menu/submenu.rs b/src/base/component/menu/submenu.rs similarity index 100% rename from pagetop/src/base/component/menu/submenu.rs rename to src/base/component/menu/submenu.rs diff --git a/pagetop/src/base/component/paragraph.rs b/src/base/component/paragraph.rs similarity index 100% rename from pagetop/src/base/component/paragraph.rs rename to src/base/component/paragraph.rs diff --git a/pagetop/src/base/component/powered_by.rs b/src/base/component/powered_by.rs similarity index 100% rename from pagetop/src/base/component/powered_by.rs rename to src/base/component/powered_by.rs diff --git a/pagetop/src/base/component/translate.rs b/src/base/component/translate.rs similarity index 100% rename from pagetop/src/base/component/translate.rs rename to src/base/component/translate.rs diff --git a/pagetop/src/base/component/wrapper.rs b/src/base/component/wrapper.rs similarity index 100% rename from pagetop/src/base/component/wrapper.rs rename to src/base/component/wrapper.rs diff --git a/pagetop/src/base/theme.rs b/src/base/theme.rs similarity index 100% rename from pagetop/src/base/theme.rs rename to src/base/theme.rs diff --git a/pagetop/src/base/theme/basic.rs b/src/base/theme/basic.rs similarity index 100% rename from pagetop/src/base/theme/basic.rs rename to src/base/theme/basic.rs diff --git a/pagetop/src/base/theme/chassis.rs b/src/base/theme/chassis.rs similarity index 100% rename from pagetop/src/base/theme/chassis.rs rename to src/base/theme/chassis.rs diff --git a/pagetop/src/base/theme/inception.rs b/src/base/theme/inception.rs similarity index 100% rename from pagetop/src/base/theme/inception.rs rename to src/base/theme/inception.rs diff --git a/pagetop/src/config.rs b/src/config.rs similarity index 100% rename from pagetop/src/config.rs rename to src/config.rs diff --git a/pagetop/src/config/data.rs b/src/config/data.rs similarity index 100% rename from pagetop/src/config/data.rs rename to src/config/data.rs diff --git a/pagetop/src/config/de.rs b/src/config/de.rs similarity index 100% rename from pagetop/src/config/de.rs rename to src/config/de.rs diff --git a/pagetop/src/config/error.rs b/src/config/error.rs similarity index 100% rename from pagetop/src/config/error.rs rename to src/config/error.rs diff --git a/pagetop/src/config/file.rs b/src/config/file.rs similarity index 100% rename from pagetop/src/config/file.rs rename to src/config/file.rs diff --git a/pagetop/src/config/file/source.rs b/src/config/file/source.rs similarity index 100% rename from pagetop/src/config/file/source.rs rename to src/config/file/source.rs diff --git a/pagetop/src/config/file/toml.rs b/src/config/file/toml.rs similarity index 100% rename from pagetop/src/config/file/toml.rs rename to src/config/file/toml.rs diff --git a/pagetop/src/config/path.rs b/src/config/path.rs similarity index 100% rename from pagetop/src/config/path.rs rename to src/config/path.rs diff --git a/pagetop/src/config/path/parser.rs b/src/config/path/parser.rs similarity index 100% rename from pagetop/src/config/path/parser.rs rename to src/config/path/parser.rs diff --git a/pagetop/src/config/source.rs b/src/config/source.rs similarity index 100% rename from pagetop/src/config/source.rs rename to src/config/source.rs diff --git a/pagetop/src/config/value.rs b/src/config/value.rs similarity index 100% rename from pagetop/src/config/value.rs rename to src/config/value.rs diff --git a/pagetop/src/core.rs b/src/core.rs similarity index 100% rename from pagetop/src/core.rs rename to src/core.rs diff --git a/pagetop/src/core/action.rs b/src/core/action.rs similarity index 100% rename from pagetop/src/core/action.rs rename to src/core/action.rs diff --git a/pagetop/src/core/action/all.rs b/src/core/action/all.rs similarity index 100% rename from pagetop/src/core/action/all.rs rename to src/core/action/all.rs diff --git a/pagetop/src/core/action/definition.rs b/src/core/action/definition.rs similarity index 100% rename from pagetop/src/core/action/definition.rs rename to src/core/action/definition.rs diff --git a/pagetop/src/core/action/list.rs b/src/core/action/list.rs similarity index 100% rename from pagetop/src/core/action/list.rs rename to src/core/action/list.rs diff --git a/pagetop/src/core/component.rs b/src/core/component.rs similarity index 100% rename from pagetop/src/core/component.rs rename to src/core/component.rs diff --git a/pagetop/src/core/component/arc_any.rs b/src/core/component/arc_any.rs similarity index 100% rename from pagetop/src/core/component/arc_any.rs rename to src/core/component/arc_any.rs diff --git a/pagetop/src/core/component/arc_typed.rs b/src/core/component/arc_typed.rs similarity index 100% rename from pagetop/src/core/component/arc_typed.rs rename to src/core/component/arc_typed.rs diff --git a/pagetop/src/core/component/classes.rs b/src/core/component/classes.rs similarity index 100% rename from pagetop/src/core/component/classes.rs rename to src/core/component/classes.rs diff --git a/pagetop/src/core/component/context.rs b/src/core/component/context.rs similarity index 100% rename from pagetop/src/core/component/context.rs rename to src/core/component/context.rs diff --git a/pagetop/src/core/component/definition.rs b/src/core/component/definition.rs similarity index 100% rename from pagetop/src/core/component/definition.rs rename to src/core/component/definition.rs diff --git a/pagetop/src/core/component/renderable.rs b/src/core/component/renderable.rs similarity index 100% rename from pagetop/src/core/component/renderable.rs rename to src/core/component/renderable.rs diff --git a/pagetop/src/core/package.rs b/src/core/package.rs similarity index 100% rename from pagetop/src/core/package.rs rename to src/core/package.rs diff --git a/pagetop/src/core/package/all.rs b/src/core/package/all.rs similarity index 98% rename from pagetop/src/core/package/all.rs rename to src/core/package/all.rs index 722a4931..d41deaf1 100644 --- a/pagetop/src/core/package/all.rs +++ b/src/core/package/all.rs @@ -154,7 +154,7 @@ pub fn configure_services(scfg: &mut service::web::ServiceConfig) { service_for_static_files!( scfg, base => "/base", - [&config::SETTINGS.dev.pagetop_project_dir, "pagetop/static/base"] + [&config::SETTINGS.dev.pagetop_project_dir, "static/base"] ); for m in ENABLED_PACKAGES.read().unwrap().iter() { m.configure_service(scfg); diff --git a/pagetop/src/core/package/definition.rs b/src/core/package/definition.rs similarity index 100% rename from pagetop/src/core/package/definition.rs rename to src/core/package/definition.rs diff --git a/pagetop/src/core/theme.rs b/src/core/theme.rs similarity index 100% rename from pagetop/src/core/theme.rs rename to src/core/theme.rs diff --git a/pagetop/src/core/theme/all.rs b/src/core/theme/all.rs similarity index 100% rename from pagetop/src/core/theme/all.rs rename to src/core/theme/all.rs diff --git a/pagetop/src/core/theme/definition.rs b/src/core/theme/definition.rs similarity index 100% rename from pagetop/src/core/theme/definition.rs rename to src/core/theme/definition.rs diff --git a/pagetop/src/core/theme/regions.rs b/src/core/theme/regions.rs similarity index 100% rename from pagetop/src/core/theme/regions.rs rename to src/core/theme/regions.rs diff --git a/pagetop/src/datetime.rs b/src/datetime.rs similarity index 100% rename from pagetop/src/datetime.rs rename to src/datetime.rs diff --git a/pagetop/src/db.rs b/src/db.rs similarity index 100% rename from pagetop/src/db.rs rename to src/db.rs diff --git a/pagetop/src/db/migration.rs b/src/db/migration.rs similarity index 100% rename from pagetop/src/db/migration.rs rename to src/db/migration.rs diff --git a/pagetop/src/db/migration/connection.rs b/src/db/migration/connection.rs similarity index 100% rename from pagetop/src/db/migration/connection.rs rename to src/db/migration/connection.rs diff --git a/pagetop/src/db/migration/manager.rs b/src/db/migration/manager.rs similarity index 100% rename from pagetop/src/db/migration/manager.rs rename to src/db/migration/manager.rs diff --git a/pagetop/src/db/migration/migrator.rs b/src/db/migration/migrator.rs similarity index 100% rename from pagetop/src/db/migration/migrator.rs rename to src/db/migration/migrator.rs diff --git a/pagetop/src/db/migration/prelude.rs b/src/db/migration/prelude.rs similarity index 100% rename from pagetop/src/db/migration/prelude.rs rename to src/db/migration/prelude.rs diff --git a/pagetop/src/db/migration/seaql_migrations.rs b/src/db/migration/seaql_migrations.rs similarity index 100% rename from pagetop/src/db/migration/seaql_migrations.rs rename to src/db/migration/seaql_migrations.rs diff --git a/pagetop/src/html.rs b/src/html.rs similarity index 100% rename from pagetop/src/html.rs rename to src/html.rs diff --git a/pagetop/src/html/assets.rs b/src/html/assets.rs similarity index 100% rename from pagetop/src/html/assets.rs rename to src/html/assets.rs diff --git a/pagetop/src/html/assets/headscript.rs b/src/html/assets/headscript.rs similarity index 100% rename from pagetop/src/html/assets/headscript.rs rename to src/html/assets/headscript.rs diff --git a/pagetop/src/html/assets/headstyles.rs b/src/html/assets/headstyles.rs similarity index 100% rename from pagetop/src/html/assets/headstyles.rs rename to src/html/assets/headstyles.rs diff --git a/pagetop/src/html/assets/javascript.rs b/src/html/assets/javascript.rs similarity index 100% rename from pagetop/src/html/assets/javascript.rs rename to src/html/assets/javascript.rs diff --git a/pagetop/src/html/assets/stylesheet.rs b/src/html/assets/stylesheet.rs similarity index 100% rename from pagetop/src/html/assets/stylesheet.rs rename to src/html/assets/stylesheet.rs diff --git a/pagetop/src/html/favicon.rs b/src/html/favicon.rs similarity index 100% rename from pagetop/src/html/favicon.rs rename to src/html/favicon.rs diff --git a/pagetop/src/html/maud.rs b/src/html/maud.rs similarity index 100% rename from pagetop/src/html/maud.rs rename to src/html/maud.rs diff --git a/pagetop/src/html/maud/escape.rs b/src/html/maud/escape.rs similarity index 100% rename from pagetop/src/html/maud/escape.rs rename to src/html/maud/escape.rs diff --git a/pagetop/src/html/opt_classes.rs b/src/html/opt_classes.rs similarity index 100% rename from pagetop/src/html/opt_classes.rs rename to src/html/opt_classes.rs diff --git a/pagetop/src/html/opt_component.rs b/src/html/opt_component.rs similarity index 100% rename from pagetop/src/html/opt_component.rs rename to src/html/opt_component.rs diff --git a/pagetop/src/html/opt_id.rs b/src/html/opt_id.rs similarity index 100% rename from pagetop/src/html/opt_id.rs rename to src/html/opt_id.rs diff --git a/pagetop/src/html/opt_name.rs b/src/html/opt_name.rs similarity index 100% rename from pagetop/src/html/opt_name.rs rename to src/html/opt_name.rs diff --git a/pagetop/src/html/opt_string.rs b/src/html/opt_string.rs similarity index 100% rename from pagetop/src/html/opt_string.rs rename to src/html/opt_string.rs diff --git a/pagetop/src/html/opt_translated.rs b/src/html/opt_translated.rs similarity index 100% rename from pagetop/src/html/opt_translated.rs rename to src/html/opt_translated.rs diff --git a/pagetop/src/html/unit.rs b/src/html/unit.rs similarity index 100% rename from pagetop/src/html/unit.rs rename to src/html/unit.rs diff --git a/pagetop/src/lib.rs b/src/lib.rs similarity index 80% rename from pagetop/src/lib.rs rename to src/lib.rs index f1fb88a1..94d0dcc5 100644 --- a/pagetop/src/lib.rs +++ b/src/lib.rs @@ -1,45 +1,31 @@ //!
//! -//! +//! //! //!

PageTop

//! -//! [![crate](https://img.shields.io/crates/v/pagetop.svg)](https://crates.io/crates/pagetop) -//! [![docs](https://docs.rs/pagetop/badge.svg)](https://docs.rs/pagetop) +//! [![License](https://img.shields.io/badge/license-MIT%2FApache-blue.svg?style=for-the-badge)](https://github.com/manuelcillero/pagetop#-license) +//! [![API Docs](https://img.shields.io/docsrs/pagetop?label=API%20Docs&style=for-the-badge&logo=Docs.rs)](https://docs.rs/pagetop) +//! [![Crates.io](https://img.shields.io/crates/v/pagetop.svg?style=for-the-badge&logo=ipfs)](https://crates.io/crates/pagetop) +//! [![Downloads](https://img.shields.io/crates/d/pagetop.svg?style=for-the-badge&logo=transmission)](https://crates.io/crates/pagetop) //! //!
//! -//! **PageTop** is an opinionated Rust web development framework to build secure, modular and -//! configurable Server-Side Rendering (SSR) web solutions. +//! **PageTop** is an opinionated Rust web development framework to build modular Server-Side +//! Rendering (SSR) web solutions. //! -//! PageTop brings together some of the most stable and popular Rust crates providing: +//! The PageTop core API provides a comprehensive toolkit for extending its functionalities to +//! specific requirements and application scenarios through actions, components, packages, and +//! themes: //! -//! * Retrieve and apply settings values from configuration files ([`config`]). -//! -//! * Application tracing and event logging ([`trace`]). -//! -//! * HTML in code ([`html`]). -//! -//! * Localization ([`locale`]). -//! -//! * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time handling ([`datetime`]). -//! -//! * Database access ([`db`]). -//! -//! * Essential web framework ([`service`]). -//! -//! * Key types and functions for creating actions, components, packages, and themes ([`core`]). -//! -//! * Web request response variants ([`response`]). -//! -//! * Base actions, components, packages, and themes ([`base`]). -//! -//! * Utility functions ([`util`]). -//! -//! # 🚧 Warning -//! -//! **PageTop** framework is currently in active development. The API is unstable and subject to -//! frequent changes. Production use is not recommended until version **0.1.0**. +//! * **Actions** serve as a mechanism to customize PageTop's internal behavior by intercepting its +//! execution flow. +//! * **Components** encapsulate HTML, CSS, and JavaScript into functional, configurable, and +//! well-defined units. +//! * **Packages** extend or customize existing functionality by interacting with PageTop APIs or +//! third-party package APIs. +//! * **Themes** enable developers to alter the appearance of pages and components without affecting +//! their functionality. //! //! # ⚡️ Quick start //! @@ -71,21 +57,6 @@ //! the [default configuration settings](`config::Server`)). You can find this code in the PageTop //! [basic examples repository](https://github.com/manuelcillero/pagetop/tree/main/examples/basics). //! -//! # 🧱 Extending PageTop -//! -//! The PageTop core API provides a comprehensive toolkit for extending its functionalities to -//! specific requirements and application scenarios through actions, components, packages, and -//! themes: -//! -//! * **Actions** serve as a mechanism to customize PageTop's internal behavior by intercepting its -//! execution flow. -//! * **Components** encapsulate HTML, CSS, and JavaScript into functional, configurable, and -//! well-defined units. -//! * **Packages** extend or customize existing functionality by interacting with PageTop APIs or -//! third-party package APIs. -//! * **Themes** enable developers to alter the appearance of pages and components without affecting -//! their functionality. -//! //! # 🧩 Dependency Management //! //! Projects leveraging PageTop will use `cargo` to resolve dependencies, similar to any other Rust @@ -94,6 +65,11 @@ //! Nevertheless, it’s crucial that each package explicitly declares its //! [dependencies](core::package::PackageTrait#method.dependencies), if any, to assist PageTop in //! structuring and initializing the application in a modular fashion. +//! +//! # 🚧 Warning +//! +//! **PageTop** framework is currently in active development. The API is unstable and subject to +//! frequent changes. Production use is not recommended until version **0.1.0**. #![cfg_attr(docsrs, feature(doc_cfg))] @@ -106,8 +82,7 @@ pub use concat_string::concat_string; /// Enables flexible identifier concatenation in macros, allowing new items with pasted identifiers. pub use paste::paste; -/// Custom derive for automatically implementing the [Default](std::default::Default) trait with -/// customized default values. +/// Custom derive for automatically implementing the [Default] trait with customized default values. pub use smart_default::SmartDefault; pub use pagetop_macros::{fn_with, main, test, AssignHandle, ComponentClasses}; diff --git a/pagetop/src/locale.rs b/src/locale.rs similarity index 100% rename from pagetop/src/locale.rs rename to src/locale.rs diff --git a/pagetop/src/locale/en-US/base.ftl b/src/locale/en-US/base.ftl similarity index 100% rename from pagetop/src/locale/en-US/base.ftl rename to src/locale/en-US/base.ftl diff --git a/pagetop/src/locale/en-US/theme.ftl b/src/locale/en-US/theme.ftl similarity index 100% rename from pagetop/src/locale/en-US/theme.ftl rename to src/locale/en-US/theme.ftl diff --git a/pagetop/src/locale/es-ES/base.ftl b/src/locale/es-ES/base.ftl similarity index 100% rename from pagetop/src/locale/es-ES/base.ftl rename to src/locale/es-ES/base.ftl diff --git a/pagetop/src/locale/es-ES/theme.ftl b/src/locale/es-ES/theme.ftl similarity index 100% rename from pagetop/src/locale/es-ES/theme.ftl rename to src/locale/es-ES/theme.ftl diff --git a/pagetop/src/prelude.rs b/src/prelude.rs similarity index 93% rename from pagetop/src/prelude.rs rename to src/prelude.rs index 8df8638d..3ebd2240 100644 --- a/pagetop/src/prelude.rs +++ b/src/prelude.rs @@ -1,7 +1,7 @@ //! The PageTop Prelude. // Re-exported macros and derives. -pub use crate::{concat_string, fn_with, main, paste, test, SmartDefault}; +pub use crate::{concat_string, fn_with, html, main, paste, test, SmartDefault}; // Global. pub use crate::{Handle, HashMapResources, ImplementHandle, LazyStatic, Weight}; diff --git a/pagetop/src/response.rs b/src/response.rs similarity index 100% rename from pagetop/src/response.rs rename to src/response.rs diff --git a/pagetop/src/response/page.rs b/src/response/page.rs similarity index 99% rename from pagetop/src/response/page.rs rename to src/response/page.rs index b144b6ad..5c0ae234 100644 --- a/pagetop/src/response/page.rs +++ b/src/response/page.rs @@ -180,6 +180,7 @@ impl Page { let dir = match self.context.langid().character_direction() { CharacterDirection::LTR => "ltr", CharacterDirection::RTL => "rtl", + CharacterDirection::TTB => "auto", }; Ok(html! { (DOCTYPE) diff --git a/pagetop/src/response/page/error.rs b/src/response/page/error.rs similarity index 100% rename from pagetop/src/response/page/error.rs rename to src/response/page/error.rs diff --git a/pagetop/src/response/redirect.rs b/src/response/redirect.rs similarity index 100% rename from pagetop/src/response/redirect.rs rename to src/response/redirect.rs diff --git a/pagetop/src/service.rs b/src/service.rs similarity index 100% rename from pagetop/src/service.rs rename to src/service.rs diff --git a/pagetop/src/trace.rs b/src/trace.rs similarity index 100% rename from pagetop/src/trace.rs rename to src/trace.rs diff --git a/pagetop/src/util.rs b/src/util.rs similarity index 100% rename from pagetop/src/util.rs rename to src/util.rs diff --git a/banner-pagetop.png b/static/banner.png similarity index 100% rename from banner-pagetop.png rename to static/banner.png diff --git a/pagetop/static/base/css/basic.css b/static/base/css/basic.css similarity index 100% rename from pagetop/static/base/css/basic.css rename to static/base/css/basic.css diff --git a/pagetop/static/base/css/buttons.css b/static/base/css/buttons.css similarity index 100% rename from pagetop/static/base/css/buttons.css rename to static/base/css/buttons.css diff --git a/pagetop/static/base/css/chassis.css b/static/base/css/chassis.css similarity index 100% rename from pagetop/static/base/css/chassis.css rename to static/base/css/chassis.css diff --git a/pagetop/static/base/css/flex.css b/static/base/css/flex.css similarity index 100% rename from pagetop/static/base/css/flex.css rename to static/base/css/flex.css diff --git a/pagetop/static/base/css/icons.min.css b/static/base/css/icons.min.css similarity index 100% rename from pagetop/static/base/css/icons.min.css rename to static/base/css/icons.min.css diff --git a/pagetop/static/base/css/inception.css b/static/base/css/inception.css similarity index 100% rename from pagetop/static/base/css/inception.css rename to static/base/css/inception.css diff --git a/pagetop/static/base/css/looks.css b/static/base/css/looks.css similarity index 100% rename from pagetop/static/base/css/looks.css rename to static/base/css/looks.css diff --git a/pagetop/static/base/css/menu.css b/static/base/css/menu.css similarity index 100% rename from pagetop/static/base/css/menu.css rename to static/base/css/menu.css diff --git a/pagetop/static/base/css/normalize.min.css b/static/base/css/normalize.min.css similarity index 100% rename from pagetop/static/base/css/normalize.min.css rename to static/base/css/normalize.min.css diff --git a/pagetop/static/base/css/root.css b/static/base/css/root.css similarity index 100% rename from pagetop/static/base/css/root.css rename to static/base/css/root.css diff --git a/pagetop/static/base/favicon.ico b/static/base/favicon.ico similarity index 100% rename from pagetop/static/base/favicon.ico rename to static/base/favicon.ico diff --git a/pagetop/static/base/fonts/icons.woff b/static/base/fonts/icons.woff similarity index 100% rename from pagetop/static/base/fonts/icons.woff rename to static/base/fonts/icons.woff diff --git a/pagetop/static/base/fonts/icons.woff2 b/static/base/fonts/icons.woff2 similarity index 100% rename from pagetop/static/base/fonts/icons.woff2 rename to static/base/fonts/icons.woff2 diff --git a/pagetop/static/base/js/menu.js b/static/base/js/menu.js similarity index 100% rename from pagetop/static/base/js/menu.js rename to static/base/js/menu.js diff --git a/pagetop/static/base/pagetop-logo.svg b/static/base/pagetop-logo.svg similarity index 100% rename from pagetop/static/base/pagetop-logo.svg rename to static/base/pagetop-logo.svg diff --git a/pagetop/tests/main.rs b/tests/main.rs similarity index 100% rename from pagetop/tests/main.rs rename to tests/main.rs diff --git a/pagetop/tests/server/health_check.rs b/tests/server/health_check.rs similarity index 100% rename from pagetop/tests/server/health_check.rs rename to tests/server/health_check.rs diff --git a/pagetop/tests/server/mod.rs b/tests/server/mod.rs similarity index 100% rename from pagetop/tests/server/mod.rs rename to tests/server/mod.rs