rafaoski

Twilight site profile for ProcessWire 3x

Recommended Posts

Hello All ... I just added a new Site Profile ...

It is important that you use the latest version that supports the new Fields => Fieldset in Tab , Fieldset ( Page ) for this time it is version 3.0.83 DEV

A simple profile for quick start new Page ... There are several pages like About Us, Blog, Portfolio, Contact Page ...
The profile is not based on any framework, I just used some css, flexbox, grid, font awesome, and added a simple FlexBox Grid called GRIDLEX ...

CAN DOWNLOAD FROM THIS LINK:

http://modules.processwire.com/modules/site-twilight/

https://github.com/rafaoski/site-twilight

Some Screenshots:

twilight.thumb.jpg.01887ca5446a1603e6f38c2dd300584e.jpg

OPTIONS PAGE:

options-page-compressor.thumb.png.3690003b150b4d0e681a410c00318592.png

CONTACT PAGE:

contact-full-compressor.thumb.png.ab2a6ae0ba105e07b2ac753f1168a1f1.png

BLOG PAGE:

blog-compressor.thumb.png.8859650f7063ab681f6c165e5a081da4.png

ABOUT PAGE:

about-compressor.thumb.png.3decb2954a046918d111355d518f9553.png

PORTFOLIO PAGE:

portfolio-compressor.thumb.png.6c2e812f04c562e3ad1409bd8d229ebd.png

 

In addition, I added 2 great modules:

Tracy Debugger:

https://modules.processwire.com/modules/tracy-debugger/

Final-Version-compressor.thumb.jpg.55f886f70326a9ed31c6191e3c02628d.jpg

Markup Sitemap:

http://modules.processwire.com/modules/markup-sitemap/

sitemap-xml.thumb.png.08eae948e65e967157c3a4e302faf2c8.png

 

  • Like 5

Share this post


Link to post
Share on other sites

HI @rafaoski - nice looking site profile - thanks for sharing and for including Tracy! I am curious about the layout of Tracy's debug bar though - is that an intentional change you have made, or is it a side-effect of some site CSS? If the latter, I'd love to know what it causing it so I can properly override it so others don't also experience it.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks @adrian for your help and for your wonderful Tracy Debugger Module.  I have disabled the Privacy Policy and I have not noticed this error. But it should already be fine and display Tracy over everything :) . I changed the z-index for cookies.

Share this post


Link to post
Share on other sites

@adrian I checked how to add to Tracy css so that in the future there were no problems and probably enough to give a high index of this element:

.tracy-panel {
    z-index: 2999 !important;
}

 

Share this post


Link to post
Share on other sites

Hi @rafaoski - I think maybe I didn't explain myself properly. I was wondering why it looks like:

5a09b83f2b659_ScreenShot2017-11-13at7_20_08AM.png.bb0ec63795a927bbc7bd261da0ce7d9f.png

and not:

5a09b8ffbc7fd_ScreenShot2017-11-13at7_23_22AM.png.02047f2bc18646a23a105762ca131c35.png

 

10 hours ago, rafaoski said:

I have disabled the Privacy Policy and I have not noticed this error

Sorry, what privacy policy and what error are you referring to?

 

5 hours ago, rafaoski said:

I checked how to add to Tracy css so that in the future there were no problems and probably enough to give a high index of this element:

If you are having z-index issues, please take a look at the "Staring Z-Index for Panels" setting in the Tracy config settings. That is the best way of taking care of those issues if you are having any. By default the Tracy core sets panels to 20000, but I found this put panels over the top of PW submenus in the admin which was annoying, so I changed the default setting to 100 but made it configurable if you are having issues on the frontend of your site.

Share this post


Link to post
Share on other sites

Hi @adrian ... I noticed a problem with the information of Cookies that overshadowed some of the Tracy Debugger components and changed them, i thought that was exactly what it was.This screenshot I made using Easy Screenshot which changes the resolution while the screenshot it finished. I'll change this Screenshot  to better which will show the bottom of the Tracy Debugger. Usually everything is fine.

Screenshot taken with a lightshot:

5a09c6a11beea_Tracy-good.thumb.jpg.ba474bfe5e1a3d2a3d5d6f06542211ba.jpg

 

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the follow up and explanation about Easy Screenshot messing with the debug bar layout.

One final question for you - it looks like there is a layout issue on the panel selector - the time for the Captain hook panel has moved down one row and all the others have followed. Does this always happen? I have never seen that before - it would be good to fix if I could figure out why it's happening for you.

Share this post


Link to post
Share on other sites

@adrian On the browser Firefox something does not play and on Chrome shows correctly:
Dump with Chrome:

Tracy-Chrome-compressor.thumb.png.73bc10584f6446019da12f484b64f09b.png

In the Mozilla most likely the error causes the rule below which I checked in the inspector in the blue frame  I turned off or changed to normal and is ok

tracy-naprawa-compressor.thumb.jpg.813137271aae6dbc3342ca60d1c217c6.jpg

It works for me in Mozilla:

#tracy-debug-panel-PanelSelectorPanel fieldset div label {
    white-space: normal;
}
/* OR UNCOMMENT */
#tracy-debug-panel-PanelSelectorPanel fieldset div label {
   /* white-space: normal; */
}

I just commented this line code on the module in style.css on line number 293 and it works correctly ( You just have to refresh the module ):

#tracy-debug-panel-PanelSelectorPanel fieldset div label {
    width: 300px !important;
    /* white-space: nowrap; */
    border-bottom: 1px solid #e4e4e4;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid-column;
}

 

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for checking into that so thoroughly. I don't remember why I had "nowrap" in there, but it certainly doesn't seem to be needed. Maybe it was needed in one of the older layouts I had. Anyway, I have removed it and it will appear in the next version.

Thanks again!

PS - there are some very long times for some of those panels - is that your local dev setup, or a shared server?

Sorry, we are getting so OT here.

  • Like 1

Share this post


Link to post
Share on other sites

No problem, I thank you for the help, because so many times I have read your helpful answers in the forum.

As for the server, this is the local Environment Laragon (I used to have a problem with xamp and bernhard recommended it )

I got from here:

https://laragon.org/

I probably need to set it up better, but for me It works much better than xampp or wamp

  • Like 1

Share this post


Link to post
Share on other sites

Hey @bernhard - when using Laragon do you see the slow panel load times that are shown in the screenshots above? In particular 9 secs for an uncached Captain Hook seems crazy slow. For me it's about 1 to 1.5 seconds. And then once cached, it's 15ms.

Share this post


Link to post
Share on other sites

Hi @adrian @bernhard   The screenshot above is after first loading the virtual host in the laragon, the dump below is after the next stage of loading all the services and it looks a bit better:

good-tracy-load-compressor.thumb.png.123bd5a5ac578766aef19f1de52d029c.png

  • Like 1

Share this post


Link to post
Share on other sites

hey @adrian its slower on laragon than on my live linux server but not that slow. its no factor for me since i can disable everything when i don't need it.

  • Like 2

Share this post


Link to post
Share on other sites

@rafaoski - that second load looks good, although of course the Captain Hook results are now cached, but the others have sped up also. I won't worry about anything for now.

  • Like 1

Share this post


Link to post
Share on other sites

Thank you @adrian for the interest in my test machine, maybe someday I will go back to Linux distribution, but now thanks to @bernhard and his tips on simple to use test environment laragon everything works great ...

  • Like 1

Share this post


Link to post
Share on other sites

Hey, @rafaoski I just stumbled across your kindly shared profile and decided to give it a try to check what other approaches I could borrow from the PRO's to make my life easier and the code beautiful. So I grabbed a fresh copy of PW 3.0.85 and put your profile in the default server folder. Created a local DB for the test and then browsed the installer. I can see every profile but yours on the list. I know I could upload the SQL and manually place the folders, however, would you know of any reason why the profile would not show during the install? I really like the Markup Regions approach and would be nice to play a bit with it to get used to that. I am also looking into the delayed output to mess around but one step at a time :)

Share this post


Link to post
Share on other sites

Hi and thanks @MilenKo ...  I've just tested on version 3.0.85 and installed the profile without any problems ...
I do not know if you have unpacked catalog correctly in the installer folder ...
A while back I added a simple tutorial on how to install profiles and maybe this simple tutorial will help you:

 

I also recommend you this profile:

Which I recently added and is based on Spectre.css ... I think you should also like it ... It is very simple and clean ...

You may have trouble with CHMOD access rights if you use Linux or Mac locally, but I'm not sure because I installed the profiles on the Laragon test environment as well as ordinary shared hosting ...
Maybe these links will help in something:

https://processwire.com/docs/security/file-permissions/

A simple example for files and folders:

https://help.directadmin.com/item.php?id=589

Share this post


Link to post
Share on other sites

Hello @rafaoski . For my test environment, I use OpenServer under windows, so it has no issues with the permissions (windows is not that tight as the Unix environment is). So far I've installed several profiles and it was working, however only with this one, I am not able to see it. What I did was to place the latest copy of ProcessWire and then copy your profile folder and files in it to the root of my domain. Then I fire up the installer and am seeing any other profile, but yours. Will try again and see what would happen.

Thank you for the suggestions and links. Will try the other profile as I will be soon on paternity leave for a while so should have some spare time for my learning curve ;)

Edit: All works fine now, by redownloading the profile and extracting it to the root folder. Now I will start the exploration and learn something new. If someone has a similar issue, feel free to try to re-download the profile, maybe extract it with a different extractor if you use anything out of the built-in windows.

 

Share this post


Link to post
Share on other sites

@rafaoski, I tried to install another profile of yours - site-bs4-master and it appears promptly in my PW 3.0.85 installation. So something else is happening and I do not blame the profile in no way, there is something else. It happened to me as well once I was exporting an old profile, I could not find it listed on the list during install. I even tried to move my files to the Default profile that was visible promptly, however, the install failed.  

Will test with your server out of curiosity to see how would that show the profile.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks @Milenko for investigating  what's happening ... Honestly, I do not know what can cause installer errors ...

I also had a problem with the test machine (xampp, wampp) ...


But after switching to the laragon everything works much better ...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By louisstephens
      From my last post, I was given a good idea on how to count the repeater items, and it worked wonderfully. I got my code working well and the columns (based on the count) all work well as well. Now, I have a head scratcher on my hands. 
      <?php $buttonsIncluded = $page->special_custom_buttons->find('special_custom_buttons_include=1'); $buttonsIncludedCount = count($buttonsIncluded); $buttonsIncludedCountAdditional = $buttonsIncludedCount +1; echo $buttonsIncludedCount; ?> <div class="row"> <?php foreach($buttonsIncluded as $button): ?> <?php if($button->custom_buttons_include): ?> <?php if($buttonsIncludedCountAdditional == 2): ?> <div class="col-6"> <a href=""><?php echo $button->custom_buttons_text; ?></a> </div> <?php elseif($buttonsIncludedCountAdditional == 3): ?> <div class="col-4"> <a href=""><?php echo $button->custom_buttons_text; ?></a> </div> <?php elseif($buttonsIncludedCountAdditional == 4): ?> <div class="col-3"> <a href=""><?php echo $button->custom_buttons_text; ?></a> </div> <?php endif; ?> <?php endif; ?> <?php endforeach; ?> </div> All of this is included in a larger foreach statement that is pulling in other data (like body copy etc etc) from a Page Table field. As you can see in my code above, I am adding "1" to the count, so I can have space in the grid layout for a new button.
      So, right now: it looks something like: 
      [repeater button] [repeater button] [repeater button] [space for new button] What I really need to do is to pull in the button from the Page Table and add it into the new space so it looks like:
      [repeater button] [repeater button] [repeater button] [button from Page Table] Is this even possible todo, or is there a better way to go about this? 
       
      *Edit*
      So, I really just overlooked something quite easy here. Since the grid is based on 12 columns, I could just take 12 and divide by $buttonsIncludedCountAdditional which would give me the remaining col width to use outside the foreach loop. I was trying to make this too complicated.
    • By Chris Bennett
      Not sure where I originally saw it while lurking around the forums, but someone, somewhere at some time was asking about styling Uikit checkboxes as toggle-style switches, much like the ones at the bottom of this post asking me if I want to be notified of replies.
      So here is my humble offering, rough and ready,  which can be thrown in at the bottom of your Uikit css as a starting point.
      Everything is based on ems and rems, so you can increase size as you desire by altering the single instance of font-size.
      It only targets single instances of labels within a specific field to a) try to limit unintended consequences and b) because in those cases it often seems more user-friendly to have an on/off binary switch rather than a checkbox. It's still totally a checkbox, just styled differently.
       
      .uk-form-controls-text label:only-of-type input.uk-checkbox { font-size:.8rem; margin-top:0; position:relative; -webkit-appearance:none; outline:none; width:4em; height:2.4em; border:2px solid #D6D6D6; border-radius: 3em; box-shadow:inset 5em 0 0 0 #DDD; flex-shrink: 0; } .uk-form-controls-text label:only-of-type input.uk-checkbox:after { content:""; position:absolute; top:.25em; left:.25em; background:#FFF; width:1.6em; height:1.6em; border-radius:50%; transition:all 250ms ease 20ms; box-shadow:.05em .25em .5em rgba(0,0,0,0.2); } .uk-form-controls-text label:only-of-type input.uk-checkbox:checked { background-color: transparent; box-shadow:inset 5em 0 0 0 #4ed164; border-color:#67bba5; } .uk-form-controls-text label:only-of-type input.uk-checkbox:checked:after { left:1.85em; box-shadow:0 0 1em rgba(0,0,0,0.2); } label:only-of-type input.uk-checkbox:checked + span { color:#008a00; transition:all 250ms ease 20ms; } .InputfieldCheckbox .InputfieldContent label:only-of-type {display:flex;} label:only-of-type input.uk-checkbox + span { color:#c3c3c3; display:flex; align-items:center; line-height:1.1; } /* Below is only necessary if you want the optional "tick" after items when selected */ label:only-of-type input.uk-checkbox + span:after { flex-shrink:0; margin-left:.5em;width:2em; opacity:0; content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 250'%3E%3Ccircle cx='125' cy='125' r='125' fill='%23231F20' opacity='.1'/%3E%3Cpath fill='%230B8B44' d='M95.823 139.432l-32.492-32.56-31.872 31.883-.008-.008 63.72 63.732L218.549 79.116 187.494 47.52z'/%3E%3C/svg%3E"); } label:only-of-type input.uk-checkbox:checked + span:after { opacity:1; transition: opacity 250ms ease 150ms; }  

    • By Violet
      Here I'm writing up about my first ProcessWire site, Reached.space, a blog and directory about shops which offer international shipping. 
      I'm from The GrayFly Group, which is the registered trade name for GrayFly Stationery, LLC, a limited liability company registered in the state of Kentucky, USA. You might ask, why is a stationery company creating websites?! Well, in a way both activities are very similar: both activities have the goal of getting written messages across in a pleasing manner to the reader.
      With that out of the way, let's move on and explain what went on behind the scenes of the Reached.space site:
      Template
      I used a free CSS-based template from W3CSS at https://www.w3schools.com/w3css/w3css_templates.asp , using mainly the "Architect" template as the basis and modifying it as needed.
      Pagination
      The pagination feature of ProcessWire was very helpful here; I kept the home page to just two blogroll articles so that the reader was not overwhelmed, but upon pressing "more articles" the remainder of the blogroll is paginated with 4 articles to a page.
      Screen reader
      I made adjustments to my usage of the template to make it screen-reader-friendly. I used the Google Chrome extension to test out how the site would be handled with a screen reader.
      Security
      Security is always important, so I was thrilled to find a great all-in-one-place security guide in the ProcessWire docs at https://processwire.com/docs/security/ - I simply went through the guide and did what it said, using it as a checklist.  
      Modules
      As far as I'm aware, the only additional modules I used (that were not already activated by default in standard PW install) were the Upgrade and Upgrade Checker modules. The main reason for this was security considerations, but it was also an added convenience and peace of mind to have it check for updates every time I logged in.
      However, I did use additional software that was not modules, as described below.
      Other software - Simple HTML DOM
      Here I was very fortunate to receive help from the ProcessWire community on the forum. Due to the site's monetization model being affiliate marketing, I wished to make all my external links nofollow and target _blank by default. User @Robin S was instrumental in showing me how to do this using Simple HTML DOM in the forum post  https://processwire.com/talk/topic/17295-solved-how-to-make-external-links-nofollow-and-target-_blank-by-default-if-using-source-code-toggle-in-editor/
      Other software - Google Analytics cookie manager
      My site requirements for GDPR were specific enough that I felt I would rather develop my own code to handle Google Analytics tracking, which I'll describe here. I wanted to be certain GA tracking was disabled by default requiring opt-in, instead of opt-out. I also included in the Cookie Manager some written info about third party cookies (these are placed when clicking on affiliate links) and how the user can avoid such tracking (turn off third party cookies in their browser settings). 
      I also disabled front-end PW cookies as described here: https://processwire.com/talk/topic/15270-session-storage-and-lifetime/ 
      Google Analytics cookie settings
      The Google Analytics cookie setting code was done using JavaScript. I used a session storage variable to indicate whether the user had a) accepted GA tracking cookies b) declined them or c) had not made a choice yet. I also had to make some changes also to the <head> code to ensure Google Analytics cookies were not set unless the user had accepted them. 
      Efficiency - optimizing 404s
      I used the guide at https://processwire.com/blog/posts/optimizing-404s-in-processwire/ to sinkhole bot-driven 404 requests to a static 404 file. 
      Back office pic
      Below is an image of how ProcessWire allows helpful field descriptions and displays them when used in templates, so that when I come to actually use or enter content in fields I created months ago, I know what the ramifications are. Very helpful. Also, when using the back office I found the Reno admin theme to be very pleasing, efficient, and easy to use.

       
    • By mjut
      Hello!
      I am trying to get some extra css-file into my admin templates. I managed to modify my admin.php to this:
      <?php namespace ProcessWire; require($config->paths->adminTemplates . 'controller.php'); echo "<link rel='stylesheet' type='text/css' href='" . $config->urls->templates . "css/admin.css'>"; By doing so, the css <link> is added to the very end of each parsed admin-html. (right AFTER the closing </body> tag.)
      That causes some trouble. e.g. the page tree is not displaying any more. Although, other pages are working - like the edit form of a page.
      My question: is there a correct way of adding my extra css to the admin area?
      Thanks for you help!
      Stephan
       
    • By rafaoski
      This profile can be used as a business card or very simple blog.
      Requires the latest version processwire 3.0.101 !!!
      Milligram Site Profile For Processwire 3x with include functions like:
      MarkupRegions
      FunctionsAPI
      wireIncludeFile | wireRenderFile
      Essentially, this structure uses minimalist CSS framework Milligram and the Flexbox Grid System Gridlex
       
      Live Example
      CAN DOWNLOAD FROM THIS LINK ( Basic Version and simple Blog Version )
      https://github.com/rafaoski/site-milligram
      https://github.com/rafaoski/site-milligram-blog
      Screenshot:

      If you want to use Laravel Mix you must first ensure that Node.js and NPM are installed on your machine.
      Basic example to Debian and Ubuntu based Linux distributions:
      Node.js
      curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
      See more installation options LINK
      npm is installed with Node.js just check in linux terminal like below:
      node -v
      npm -v
      Set BrowserSync inside folder /templates/webpack.mix.js and change your dev url
      proxy: 'http://localhost/mix/', to your installation processwire folder like:
      proxy: 'http://localhost/your-processwire-installation-folder/',
      Next install npm packages in your templates folder with command npm install
      Now, boot up the dev server npm run watch, and you're all set go!
      On completion, use the command npm run production to build styles and scripts in the dist folder
      Simple Usage ( Basic Command )
      Run npm install Watch npm run watch Build npm run production All files to Webpack build steps is inside file ( webpack.mix.js )
      Folder With all SCSS files is inside templates/src/scss
      All build styles and scripts is inside the ( dist ) folder
      References:
      Milligram
      Gridlex
      Laravel Mix
      Feather Icons
      Web Font Loader
      Verlok Lazy Load
      Cookie Consent
      Particles.js