ThomasTJdev / nim_websitecreator

Nim fullstack website framework - deploy a website within minutes
https://nimwc.org
MIT License
177 stars 7 forks source link

Refactor, Replace Bootstrap with Bulma #24

Closed juancarlospaco closed 6 years ago

juancarlospaco commented 6 years ago

Refactor, see https://github.com/ThomasTJdev/nim_websitecreator/issues/22#issuecomment-429519107 and https://github.com/ThomasTJdev/nim_websitecreator/issues/23#issuecomment-429326459 Clean out.

Frontend Help welcome. Wording Grammar Review welcome.

WIP

temp

temp

temp

temp

temp

:cat:

ThomasTJdev commented 6 years ago

It's looking good :) ! I'll review and test the code on Saturday.

juancarlospaco commented 6 years ago

I think the big part is done.

Needs manual testing of the whole generated site, to fix UI glitches if any (probably JS ones). :smiley:

ThomasTJdev commented 6 years ago

Hi @juancarlospaco I have been testing the new layout and it looks good. I have a rough list below, which I will start to look at in prioritized order (OK?):

Pictures

Pictures corresponding with the list above.

Settings

nimwc_arrangement


Blog edit layout

nimwc_blogeditlayout


Blog layout

nimwc_bloglayout


Frontpage

nimwc_frontpage


Edit main area

nimwc_editmainarea


Navbar (logged in)

nimwc_navbar

juancarlospaco commented 6 years ago

Append jQuery for all admin pages and rewrite JS to avoid jQuery on non-admin pages.

Better to not depend too much on jQuery on non-admin pages anyway.

Make sure you try on Incognito mode, sometimes browser cache gets your UI weird too.

Frontpage you said you are gonna replace it with more Documentation oriented content, so I didnt touch it.

This convinced me to start an HTML DSL, if it works no one gonna need to re write stuff like this.

http://youmightnotneedjquery.com :joy_cat:

juancarlospaco commented 6 years ago

Ive manually tested all of it, it looks and feels really cool :grey_exclamation: :tada::smiley_cat::+1:

juancarlospaco commented 6 years ago

Can urlEncoderCustom() be replaced with uri.encodeUrl( usePlus = true) :grey_question:

Or I am missing something... :thinking:

ThomasTJdev commented 6 years ago

Can urlEncoderCustom() be replaced with uri.encodeUrl( usePlus = true)

Or I am missing something...

I think my original idea for the custom implementation was: 1) To ensure pretty URLs 2) Escape special characters in URL ()*#?`'^œæøåôõâö etc.

echo urlEncoderCustom("url with hashtag#") # ==> url+with+hashtag
echo encodeUrl("url with hashtag#", true) # ==> url+with+hashtag%23

Should we allow the use of special chars which anyways will be converted to e.g. %23? I like to give the freedom to the user, but I dont like ugly URLs ;-)

juancarlospaco commented 6 years ago

Some spoken languages need those I think, like Arab, Portuguese, Japanese, etc. Kinda things means other things without those characters.

ThomasTJdev commented 6 years ago

Some spoken languages need those I think, like Arab, Portuguese, Japanese, etc.

My own included ;)

IDN's are supported using Punycode but how should we handle it? Save it using encodeUri, convert to IDN directly (æble.dk ==> xn--ble-xla.dk) or save it with clear text and let the browser handle the parsing? I have had some trouble with how to show the URL's when generating them as link and for the user to edit them again.

But I'm up for a another approach.

juancarlospaco commented 6 years ago

I think we should not make our own standard just for this, I say keep it simple, I see 2 options:

Use the std lib encodeUrl() and use the pattern to only allow ASCII of <input> tag on the URL. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url#Pattern_validation

Use Punycode, we also have Punycode on std lib because Nim is awesome.

juancarlospaco commented 6 years ago

I think this is kinda ready to get Merged soon, what do you think, new Release next month :grey_question: :grinning::+1:

ThomasTJdev commented 6 years ago

@juancarlospaco, you have done a great deal of work! When we merge this refactor, would you like some of the following? 1) A CONTRIBUTORS file 2) Be mentioned in the README.md 3) Be added to the repo as collaborator

juancarlospaco commented 6 years ago

Honestly the mention on readme dont adds too much for me, but Be added to the repo as collaborator can be cool, for example lets say you are on holidays travelling and NimWC explodes I can at least fix it right away. :smile:

juancarlospaco commented 6 years ago

https://mathiasbynens.github.io/rel-noopener https://source.unsplash.com

juancarlospaco commented 6 years ago

We dont have Login / Logout button on Mobile. Can you please take a look at that before we Merge ?.

juancarlospaco commented 6 years ago

temporalote

juancarlospaco commented 6 years ago

i-ship-it-gif-9

ThomasTJdev commented 6 years ago

Merge-time this weekend :) !?

Other stuff before merging?

juancarlospaco commented 6 years ago

I run out of improvements for current iteration of changes, everything looks good, 84 Commits so far. :+1:

ThomasTJdev commented 6 years ago

Plugins are now updated to support this refactor.

juancarlospaco commented 6 years ago

Cool :grey_exclamation: Make a new Release so nimble install nimwc catch up the new version change: https://github.com/ThomasTJdev/nim_websitecreator/releases

ThomasTJdev commented 6 years ago

Thank you very much for the tremendous work! NimWC is really nice now :)

I'm making you a collaborator now. Code review is required for breaking changes and design changes.

juancarlospaco commented 6 years ago

The Demo at https://nimwc.org is using the old version, needs Re-Deploy.