stevecrox commented on PR #32:
URL: https://github.com/apache/maven-fluido-skin/pull/32#issuecomment-1147355223

   I am interested in this skin, because maven allows me to incorporate 
documentation and analysis into a site. The problem is the current site style 
has dated.
   
   Historically full stack development has JS/HTML/CSS stored in an appropriate 
resources directory of a java project. This made developing frontends painful.
   
   Node.js/NPM appeared 10 years ago and you could build a mini webserver 
fairly easy with express and iterate there was much joy. We hit the problem I 
am addressing in this PR.
   
   The format NPM releases a project is different to Maven. 
   
   There are several common approaches to integrate the UI with the backend
   
   1) write a release time script which calls Maven and generates a JAR when 
the NPM project releases.
   2) Use the latest java wrapper for JS
   3) Write the front end so its hosted statically in its own webserver and the 
UI calls to the backend
   4) Use the front end plugin to pull down the dependecies
   
   The problem with 1 is what we see here and requires bootstrap to make a 
change to support you.
   
   The problem with 2 (e.g. webjars) is Web Development is happy in its 
ecosystem. So adoption always fails (Personally I loved the maven extension 
that let me package js).
   
   Approach 3 isn't valid here, fundamentally what this skin offers are some 
resources and a template file to apache velocity. 
   
   The last approach is what I have chosen, we use the frontend plugin to 
retrieve node/npm which are stored in a temporary directory. We use NPM to 
retrieve the releases and then the minify plugin to generate the JS artifacts. 
   
   The result is no additional dependencies for users of the skin, there should 
be zero change from their perspective. 
   
   I saw the comment on CDN, I have always worked in defense companies. Defense 
company infosec departments are not reasonable (and iften non technical) 
meaning this sort of stuff is developed in effectively air gapped environments 
and I have spent way to much of my life designing and pushing for mirrors of 
real world infrastructure. One of the reasons I love Maven is as a toolit makes 
redirecting to local mirrors really easy.
   
   As for why this change?
   
   I have a bootstrap 5 skin supporting a fixed navbar top but its a complete 
rewrite. Bootstrap has its examples and then there are HTML layouts


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to