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

Create public homepage based on "qx serve" startpage layout #9708

Closed
cboulanger opened this issue Jun 24, 2019 · 7 comments
Closed

Create public homepage based on "qx serve" startpage layout #9708

cboulanger opened this issue Jun 24, 2019 · 7 comments

Comments

@cboulanger
Copy link
Contributor

With qooxdoo/qooxdoo-compiler#462, the generation of the qx server startpage has been made an API (qx.tool.utils.Website). It is based on the Metalsmith static website generator.

If we want, we could reuse this feature to create the public website as well. We can use a different set of templates, but reuse the layout and assets and replace the main part of the page which has the list of applications with texts and images that advertise qooxdoo. This website can then be published together with the domentation on the qooxdoo website.

This will allow to streamline the website generation and keep the code of the website with the rest of the code. It will also allow dynamic generation of website code.

@johnspackman
Copy link
Member

The qx serve website is tiny and for a very specific purpose - it’s not unreasonable to want to change it in lots of ways that are all about improving the development process. The public website is for documentation, hosting demo apps, etc etc.

EG the worse case would be trying to make a minor alteration to the qx serve website but running into pages of code that is for the public website - or worse, accidentally breaking the public website just because of the qx serve changes.

Because of the drastic differences in purpose, I think it is a mistake to have one-size-fits-all website coding - not least because any changes to the qx serve website will have a potential impact on the public website and could easily make the public website unnecessarily fragile.

How about the styling, resources, and shared layouts come from the Qooxdoo Website and are simply used by the qxcompiler build process that generates the website for qx serve? If the website styling and resources are in an npm module, then it would be easy to reuse - but keeps the digital "style bible" within the remit of the website and allows the qx serve to override them as needed?

IMHO there is an argument where just styling and resources are copied, but provided qxcompiler can decide what to reuse, then that's not something we have to worry about now.

@johnspackman
Copy link
Member

See also my comments in core-team: https://gitter.im/qooxdoo/core-team?at=5d109e6daafbc32629752b15

@cboulanger
Copy link
Contributor Author

cboulanger commented Jun 24, 2019

Your offer to (co-)sponsor a static website obliterates the need for this PR, thank you very much!

But I do want to note that I did not propose to make the public website templates dependent on the qx serve ones, just to reuse code / structure. qx.tool.utils.Website can be configured to use different source and target directories, so the building could be completely separated and still share partials and assets.

@johnspackman
Copy link
Member

oh sorry, i think we've talked round each other i circles this morning, I got the wrong end of the stick! Perhaps we should keep this open for now though so that this is a discussion on how we implement the design, ie in files and git, rather than what it should look like as in #9709

@cboulanger
Copy link
Contributor Author

Closing in favour of #9709

@cboulanger
Copy link
Contributor Author

Ah sorry, did not see you last comment

@cboulanger cboulanger reopened this Jun 24, 2019
@cboulanger
Copy link
Contributor Author

I think this can be closed now.

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

No branches or pull requests

2 participants