Landing Pages 插件 ✈️

This looks exciting. Hoping to use a landing page to list upcoming events, or at least by tag.

Thanks!

Thanks for the patch! That works well. Do you think that it would be reasonable to add a config option for the landing homepage path? I tried other solutions to set a custom home page, but this is the only one that actually worked for me and this landing pages plugin.

Is there a way to access values from the plugin variables in the plugin.rb file?

@angus, is there a way to render the content of certain custom landing pages inside the normal Discourse layout instead of the layout for the landing pages plugin?

Not directly, but perhaps explain a bit more about what you have in mind and I’ll point you in the right direction.

I’m wondering if we can have the content of the custom landing pages load directly inside the main Ember app container layout rather than the landing pages layout?

I know now that Discourse has the option to turn topics into static pages, but I’d rather not have the author info at the top or have the page URLs nested under /pub/.

I have one example where I’d like to link to one of the static pages in the nav using the custom nav items component, but because it is not a path that the Ember app recognizes, it gives a 404 page when clicking the link in the header. If you navigate directly to the page URL it works fine, but not through Ember app links.

Is this plugin mostly meant to only work with static landing pages for when the user is not logged in or signed up, not inside the main app layout for logged-in users?

I see.

Is this the only reason you’re interested in rendering the content of landing page in Ember? If so we can handle that in a more lightweight way.

Thank you. I’m hoping to be able to render either the built in Discourse pages or those of the landing pages plugin inside the ember app layout as informational pages for site members.

Some pages are for the public and can be rendered in the landing pages plugin layout and others will be for logged-in users and should be rendered in the main app layout so the customizations I’ve done for the main app can be persisted including custom nav items and the user menu.

There doesn’t seem to be any existing way to do this with plugins or the Discourse core. Everything seems to be using their own layout for custom pages. Do you know if this is just a use-case limitation by existing solution’s developers, or a limitation of the Discourse platform itself?

I’m imagining that it involves more or less pulling custom pages from an API endpoint and using the slugs to match against the wildcard falback path in the js router?

hm, the distinctions you’re drawing here will make less sense once you get into the weeds a bit more.

Can you give me an example of this kind of page? Yes it’s true that the landing pages plugin doesn’t include the discourse nav items and user menu, however if you want those in a page, it’s best to create it for each specific use case within the Discourse app itself on a case by case basis. Trying to recreate them in a landing page wouldn’t make sense.

The reason there isn’t a generic way of doing this is because there isn’t a generic use case per se. There’s a number of approaches you can take, the best one will depend on what you’re looking to achieve. It’s best if you lay what you’re trying to do in more detail, then I can give you more specific advice.

Start a new topic in dev or over on Pavilion explaining what you’re doing in detail and @me.

Alright, thank you. I’ll do that :blush:

帖子已拆分为新主题:导入私有存储库时出错

您好,我无法安装示例主题,您能帮帮我吗?

您需要描述您做了什么以及尝试时发生了什么。

1 个赞

https://develcoder.com/join 我不明白为什么这部分

你好 @angus,我尝试在我的 Discourse 实例上安装这个插件,但在尝试重建应用时一直出现错误。这部分可能相关:

I, [2022-06-16T15:13:33.339825 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::LoadError: can't activate jquery-rails-4.4.0, already activated jquery-rails-4.5.0
/var/www/discourse/lib/plugin_gem.rb:27:in `load'
/var/www/discourse/lib/plugin/instance.rb:773:in `gem'
/var/www/discourse/plugins/discourse-landing-pages/plugin.rb:20:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:679:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:679:in `activate!'
/var/www/discourse/lib/discourse.rb:279:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:276:in `each'
/var/www/discourse/lib/discourse.rb:276:in `activate_plugins!'
/var/www/discourse/config/application.rb:228:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:227:in `<class:Application>'
/var/www/discourse/config/application.rb:81:in `<module:Discourse>'
/var/www/discourse/config/application.rb:80:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)
I, [2022-06-16T15:13:34.530066 #1]  INFO -- : gem install jquery-rails -v 4.4.0 -i /var/www/discourse/plugins/discourse-landing-pages/gems/2.7.6 --no-document --ignore-dependencies --no-user-install
Successfully installed jquery-rails-4.4.0
1 gem installed

I, [2022-06-16T15:13:34.530330 #1]  INFO -- : Terminating async processes
I, [2022-06-16T15:13:34.530366 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
103:signal-handler (1655392414) Received SIGTERM scheduling shutdown...
I, [2022-06-16T15:13:34.530403 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2022-06-16 15:13:34.530 UTC [42] LOG:  received fast shutdown request
103:M 16 Jun 2022 15:13:34.546 # User requested shutdown...
103:M 16 Jun 2022 15:13:34.546 * Saving the final RDB snapshot before exiting.
2022-06-16 15:13:34.551 UTC [42] LOG:  aborting any active transactions
2022-06-16 15:13:34.553 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-06-16 15:13:34.554 UTC [46] LOG:  shutting down
103:M 16 Jun 2022 15:13:34.668 * DB saved on disk
103:M 16 Jun 2022 15:13:34.668 # Redis is now ready to exit, bye bye...
2022-06-16 15:13:34.724 UTC [42] LOG:  database system is shut down

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1735 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
bd8d903e1ec861801fdd32f7c35089aaebb97ca210dbe6eb5d584fc58379773e

我认为问题在于:Gem::LoadError: can't activate jquery-rails-4.4.0, already activated jquery-rails-4.5.0
这应该是一个简单的修复,对吧?只需要将 plugin.rb 中的依赖项从 gem "jquery-rails", "4.4.0" 更新为 gem "jquery-rails", "4.5.0"

感谢这个插件。

该插件似乎已失效。不过,您可能需要等到七月的第一周才能获得补丁。

https://discourse.pluginmanager.org/t/discourse-landing-pages-master-does-not-work-on-tests-passed/145

4 个赞

此插件现已支持最新版 Discourse :tada:

4 个赞

很高兴得知您从新冠中康复。感谢您在这种情况下修复了插件…… :拥抱: 多休息!

3 个赞

很遗憾,此插件即将停用,因此带有#end-of-life标签。我不会深入探讨技术细节,但鉴于discourse/discourse的一些变化以及Pavilion内部的整体工作量和资源分配,继续维护它已不再有意义。

该插件可与最新的tests-passed配合使用,但它将不再随着discourse/discourse的任何更改而更新。如果将来有人希望接手此项目,我很乐意与他们合作。

7 个赞

感谢您为此付出的努力;使用它非常有趣。

有人能指出 discourse/discourse 中我们可以转而关注的未来变化吗?

1 个赞

我很高兴!

啊,抱歉,我并不是说 discourse/discourse 中会有替代方案(尽管页面发布可能适合某些用例)。我的意思是,Discourse 的技术结构已经发生了变化,使得这个插件在没有大量工作来改变其工作结构的情况下是不可行的。我们目前在 Pavilion 有很多其他工作要做,我不能凭良心承诺在 Discourse 的任何进一步变化中维护此插件。

Pavilion 正在开发我们自己的新登陆页面。我们将使用 Hugo 而不是这个插件。

1 个赞