Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enginify Publify #718

Merged
merged 68 commits into from Aug 17, 2016
Merged

Enginify Publify #718

merged 68 commits into from Aug 17, 2016

Conversation

mvz
Copy link
Member

@mvz mvz commented Jun 28, 2016

Implements #516.

For this PR:

  • Pull most functionality into a publify_core engine, keeping some plug-ins in the main application.
  • Move optional parts into their own engine (sidebar plug-ins, themes, etc.).
  • Test i18n separately for core and move translations to their appropriate plugins.
  • Investigate not having the dummy apps in the repo (Hint: generate_test_dummy).

Afterward:

  • Publish each engine as a gem.
  • Release the main Publify app as a lightweight tarball that depends on the released gems.
  • Provide a way for people to create their own custom Publify app with their own selection of engines/plug-ins.

@mvz mvz changed the title [WIP] Enginify Publify Enginify Publify - Part 1 Jul 13, 2016
@mvz mvz changed the title Enginify Publify - Part 1 Enginify Publify Jul 13, 2016
@mvz mvz mentioned this pull request Jul 14, 2016
mvz added 22 commits July 15, 2016 17:33
- Generate engine using

  rails plugin new publify_core \
    --dummy-path=spec/dummy --skip-test-unit --full

- Update gemspec and license
- Moves all models to the Engine
- Moves a minimum set of supporting libraries, which includes the text
  filters.
- Moves 'plain' theme, but not the bootstrap-2 theme. As a result, the
  default theme for a new Blog is 'plain'.
- Unifies DNS mocks across specs
- Moves article after_save hook from observer into article
- Move controllers
- Include rails-observers
- Rename ApplicationController to BaseController, since Rails will
  generate one in the main app, causing the engine's
  ApplicationController not to be loaded.
- Move locale files and publify_lang into engine
- Move supporting helpers, services, gems dependencies
- Remove email observer and move notification mailing logic
- Move '$default_token' global variable
- Move googlesitemap mime type
- Move sidebar registry and static and search sidebars
- Test with plain instead of bootstrap-2 theme
- Move ignoring of accept headers
- Fix PublifyPlugins registry logic to allow zero plugins to be
  registered
- Remove require of moved publify_lang file
- Ensure rails-observers loads everything
mvz added 7 commits July 16, 2016 11:23
- Create plugin with
    rails plugin new publify_textfilter_code --dummy-path=spec/dummy \
      --skip-test-unit --full --skip-keeps

- Move text filter implementation and dependencies to plugin
- Depend on publify_core
- Generate publify_core migrations and schema with

    rake app:publify_core_engine:install:migrations
    rake db:migrate
- Configure rspec and its tasks with

    rails g rspec:install

- Adjust Rakefile to add spec task and have it run by default
- Move over code filter part of text filter spec
- Adjust rails_helper to load environment from dummy application
- Adjust specs to not need TextFilter objects
mvz added 3 commits July 16, 2016 13:23
We're not supporting 2.0 anymore, so make that clear. This also allows
removal of the RUBY_VERSION check for i18n-tasks.
- Include publify_textfilter_code in the Travis run
- Ensure sqlite3 is present for gem tests
@mvz
Copy link
Member Author

mvz commented Jul 16, 2016

I think this is ready to review and merge. The two remaining points can be taken on later and I really want to seen this merged so any bug fixes won't have give new merge conflicts.

/cc @ook @fdv @yaf

@mvz mvz merged commit 13795c5 into master Aug 17, 2016
@mvz mvz deleted the enginify branch August 17, 2016 11:58
@mvz mvz removed the in progress label Aug 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant