focomy 0.1.118__tar.gz → 0.1.120__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {focomy-0.1.118 → focomy-0.1.120}/PKG-INFO +1 -1
- {focomy-0.1.118 → focomy-0.1.120}/core/admin/routes.py +7 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/engine/routes.py +2 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/base.html +3 -0
- {focomy-0.1.118 → focomy-0.1.120}/pyproject.toml +1 -1
- focomy-0.1.120/themes/default/templates/base.html +723 -0
- focomy-0.1.118/themes/default/templates/base.html +0 -327
- {focomy-0.1.118 → focomy-0.1.120}/.gitignore +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/LICENSE +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/README.md +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/admin/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/admin/url.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/auth.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/comments.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/entities.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/forms.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/media.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/relations.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/revisions.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/schema.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/search.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/api/seo.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/cli.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/config.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/audit_log.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/category.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/channel.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/comment.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/edit_lock.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/form.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/form_submission.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/menu_item.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/news.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/page.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/plugin.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/plugin_developer.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/plugin_review.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/post.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/redirect.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/scheduled_action.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/series.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/site_setting.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/tag.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/user.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/widget.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/content_types/workflow_history.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/database.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/engine/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/main.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/migrations/env.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/migrations/script.py.mako +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/migrations/versions/2038bdf6693b_add_import_jobs_table.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/migrations/versions/3a1b2c3d4e5f_add_file_hash_to_media.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/auth.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/entity.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/import_job.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/media.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/relation.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/models/revision.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/plugins/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/plugins/base.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/plugins/hooks.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/plugins/loader.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/plugins/manager.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/rate_limit.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/relations.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/.env.template +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/.gitignore.template +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/config.yaml.template +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/archive.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/base.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/category.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/home.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/post.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/templates/search.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/scaffold/themes/default/theme.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/schemas/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/schemas/import_schema.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/seo/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/api_auth.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/assets.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/audit.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/auth.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/block_converter.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/bulk.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/cache.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/channel.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/cleanup.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/comment.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/config_priority.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/deployment.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/edit_lock.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/entity.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/export.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/field.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/formula.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/i18n.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/index.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/invite.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/link_validator.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/logging.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/mail.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/marketplace.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/marketplace_verify.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/media.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/media_cleanup.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/menu.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/migration_helpers.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/oauth.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/pagination.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/plugin_resolver.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/plugin_sandbox.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/preview.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/query_optimizer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/rbac.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/redirect.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/relation.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/revision.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/routing.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/sanitizer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/schedule.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/search.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/sentry.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/seo.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/settings.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/spam_filter.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/storage.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/theme.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/theme_inheritance.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/thumbnail.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/update.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/widget.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/acf.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/analyzer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/constants.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/content_sanitizer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/diff_detector.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/dry_run.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/error_collector.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/id_resolver.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/import_service.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/importer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/link_fixer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/media.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/preview.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/redirects.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/rest_client.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/rollback.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/verification.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/wordpress_import/wxr_parser.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/services/workflow.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/backup.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/comments.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/components/editor.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/customize.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/dashboard.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/entity_form.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/entity_list.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/forgot_password.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/import.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/link_validator.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/login.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/media.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/menus.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/plugins.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/redirects.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/reset_password.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/settings.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/sitemap.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/system.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/themes.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/templates/admin/widgets.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/themes/__init__.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/themes/customizer.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/themes/manager.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/themes/marketplace.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/core/utils.py +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/static/favicon.svg +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/blog/templates/base.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/blog/templates/home.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/blog/templates/post.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/blog/theme.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/corporate/customizations.json +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/corporate/templates/base.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/corporate/templates/home.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/corporate/templates/page.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/corporate/theme.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/customizations.json +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/404.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/500.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/archive.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/category.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/channel.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/form.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/form_success.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/home.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/page.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/post.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/search.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/templates/series.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/default/theme.yaml +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/minimal/templates/base.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/minimal/templates/home.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/minimal/templates/page.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/minimal/templates/post.html +0 -0
- {focomy-0.1.118 → focomy-0.1.120}/themes/minimal/theme.yaml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: focomy
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.120
|
|
4
4
|
Summary: The Most Beautiful CMS - A metadata-driven, zero-duplicate-code content management system
|
|
5
5
|
Project-URL: Homepage, https://github.com/focomy/focomy
|
|
6
6
|
Project-URL: Documentation, https://focomy.dev/docs
|
|
@@ -198,6 +198,12 @@ async def get_context(
|
|
|
198
198
|
except Exception:
|
|
199
199
|
pass # Post content type may not exist
|
|
200
200
|
|
|
201
|
+
# Get active theme for customize link
|
|
202
|
+
from ..services.settings import SettingsService
|
|
203
|
+
settings_svc = SettingsService(db)
|
|
204
|
+
theme_settings = await settings_svc.get_by_category("theme")
|
|
205
|
+
active_theme = theme_settings.get("active", "default")
|
|
206
|
+
|
|
201
207
|
return {
|
|
202
208
|
"request": request,
|
|
203
209
|
"content_types": content_types,
|
|
@@ -208,6 +214,7 @@ async def get_context(
|
|
|
208
214
|
"user_role": user_role,
|
|
209
215
|
"channels": channels,
|
|
210
216
|
"orphan_post_count": orphan_post_count,
|
|
217
|
+
"active_theme": active_theme,
|
|
211
218
|
}
|
|
212
219
|
|
|
213
220
|
|
|
@@ -160,6 +160,8 @@ async def render_theme(
|
|
|
160
160
|
if admin_info:
|
|
161
161
|
context["is_admin"] = True
|
|
162
162
|
context["admin_user"] = admin_info["user_data"]
|
|
163
|
+
context["active_theme"] = active_theme # For customize link
|
|
164
|
+
context["csrf_token"] = getattr(request.state, "csrf_token", "") # For API calls
|
|
163
165
|
# Build edit URL if entity provided
|
|
164
166
|
if entity and content_type:
|
|
165
167
|
context["edit_url"] = f"/admin/{content_type}/{entity.id}/edit"
|
|
@@ -551,6 +551,9 @@
|
|
|
551
551
|
</a>
|
|
552
552
|
|
|
553
553
|
<div class="nav-section">外観</div>
|
|
554
|
+
<a href="/admin/themes/{{ active_theme }}/customize" class="nav-item {% if current_page == 'customize' %}active{% endif %}">
|
|
555
|
+
カスタマイズ
|
|
556
|
+
</a>
|
|
554
557
|
<a href="/admin/themes" class="nav-item {% if current_page == 'themes' %}active{% endif %}">
|
|
555
558
|
テーマ
|
|
556
559
|
</a>
|