Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. General Discussion
  3. P5js in Laytheme

P5js in Laytheme

Scheduled Pinned Locked Moved General Discussion
18 Posts 9 Posters 4.5k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mariusjopenM
    mariusjopenM
    mariusjopen
    Global Moderator
    wrote on last edited by
    #6

    Dear @debutdebut
    very good answer!

    Thank you!

    Marius

    www.mariusjopen.world

    1 Reply Last reply
    0
    • agaukstA
      agaukstA
      agaukst
      wrote on last edited by
      #7

      Sorry for necroing, but thought it'd be better to ask here since I've been following this exact tutorial.

      Hey @debutdebut - thanks for the great tutorial! I love interactive websites and I'm looking to spice my portfolio site up a bit with P5.js.

      By following this guide I have been able to get my sketches to show up and working well in Google Chrome, but none of them work in either Firefox or Edge, and I can't for the life of me figure out why. I see that your site ja-kob.ch works fine in all three of these browsers.

      I'll provide the code for my sketch, index.html and screenshots of my setup in Custom CSS & HTML in Lay Theme, let me know if I have done anything wrong that would break my sketch in other browsers than Chrome.

      Sketch.js:

      var cnv;
      var ey;
      
      function setup() {
      	cnv = createCanvas(windowWidth, windowHeight);
      	//createCanvas(windowWidth, windowHeight);
      	colorMode(HSB, 360, 100, 100, 100);
      	angleMode(DEGREES);
      	cnv.position(0, 0);
      	cnv.parent('sketch-holder');
      
      	ey = {
      		x: width/2,
      		y: height,
      		rad: width/3,
      	};
      
      
      }
      
      function draw() {
      	background(0, 0, 15);
      
      	var ang = atan2(mouseY - ey.x, mouseX - ey.x);
      
      	noStroke();
      	fill(0, 0, 100);
      	ellipse(ey.x, ey.y, ey.rad);
      	fill(340, 50, 90);
      	ellipse(ey.x + (ey.x / 4) * cos(ang), ey.y + (ey.y / 4.5) * sin(ang), ey.rad / 3.3);
      	sin(ang), ey.rad;
      	fill(0, 0, 15);
      	ellipse(ey.x + (ey.x / 3.8) * cos(ang), ey.y + (ey.y / 4) * sin(ang), ey.rad / 6);
      	sin(ang), ey.rad;
      	fill(0, 0, 100);
      	ellipse(ey.x + (ey.x / 3.2) * cos(ang), ey.y + (ey.y / 3.6) * sin(ang), ey.rad / 16);
      	sin(ang), ey.rad/2;
      
      }
      
      function windowResized(){
      	resizeCanvas(windowWidth, windowHeight);
      	ey.x = width/2;
      	ey.y = height;
      	ey.rad = width/3;
      }
      
      

      Index.html:

      <!DOCTYPE html>
      <html lang="">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>BigEye</title>
          <style> body {padding: 0; margin: 0;} </style>
          <script src="libraries/p5.js" type="text/javascript"></script>
          <script src="libraries/p5.sound.js" type="text/javascript"></script>
          <script src="libraries/p5.dom.js" type="text/javascript"></script>
          <script src="bigeye.js" type="text/javascript"></script>
        </head>
        <body>
        </body>
      </html>
      
      

      Lay Theme Custom CSS & HTML:

      Custom CSS for Desktop Version:

      #sketch-holder {
        margin: 0;
        padding: 0;
        width: 100%;
      }
      
      #sketch-holder canvas {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
      }
      

      Custom <head> content:

      <script src="https://myurl/wp-content/assets/libraries/p5.js"></script>
      <script src="https://myurl/wp-content/assets/libraries/p5.dom.js"></script>
      <script src="https://myurl/wp-content/assets/libraries/p5.sound.js"></script>
      
      <script>
          if (jQuery(window).width() > 600) {
        jQuery.getScript( "https://myurl/wp-content/assets/bigeye.js", function( data, textStatus, jqxhr ) {
          console.log( data ); // Data returned
          console.log( textStatus ); // Success
          console.log( jqxhr.status ); // 200
          console.log( "Load was performed." );
        }); 
      }
      </script>
      
      <script>
      window.laytheme.on("newpageshown", function(layoutObj, type, obj){
        if(obj.slug == "home"){
          jQuery('#sketch-holder').show();
          } else {
           jQuery('#sketch-holder').hide();
           console.log( "Hide");
        }
      });
      </script>
      

      Custom HTML at top:

      <div id='sketch-holder'></div>
      

      Cheers,
      August :--)

      augustgaukstad.com

      1 Reply Last reply
      0
      • arminunruhA
        arminunruhA
        arminunruh
        Global Moderator
        wrote on last edited by
        #8

        good luck!

        1 Reply Last reply
        0
        • L
          L
          lena...weber
          wrote on last edited by
          #9
          This post is deleted!
          1 Reply Last reply
          0
          • L
            L
            lena...weber
            wrote on last edited by
            #10

            Hello everybody,
            I have also been following the tutorial @debutdebut
            My Libraries and sketch.js load fine but the .ttf font file (stored in assets also) called by sketch.js can't be found. (console says "Load was performed." )

            The sketch isn't displayed at all, even when I comment out everything in my sketch related to my specific font (i thought there would be a standard font displayed instead like in the p5.js editor)
            I also tried choosing a path of a font i had already installed as a Webfont in Laytheme, but the problem remained the same.
            All I see is "Loading..." at the bottom of my sketch
            I can't figure out the problem.
            Does somebody know what could be the issue here?
            Beginners-Greetings :)
            Lena

            debutdebutD 1 Reply Last reply
            0
            • mariusjopenM
              mariusjopenM
              mariusjopen
              Global Moderator
              wrote on last edited by
              #11

              Dear @lena-weber
              yes. I hope someone can help!

              Best!

              Marius

              www.mariusjopen.world

              1 Reply Last reply
              0
              • C
                C
                cgvdv_bk
                wrote on last edited by
                #12

                Hey There,
                i'm sorry if this is a stupid question – my Programming Skills are very basic...

                With the code provided by the p5.js Web-Editor, I embedded a sketch via <iframe> on my Website http://homeoffice.kroenker.com

                <iframe src="https://editor.p5js.org/cgvdv_bk/embed/-zDedzX57" style="position: fixed; width: 100%; height: 100%; border: none"></iframe>
                

                Naturally i can't place anything onto the <iframe> Element... But is there any "easy" possibility (especially in Laytheme) to nest the <iframe> element into the Background?

                Best,
                Bernd

                1 Reply Last reply
                0
                • arminunruhA
                  arminunruhA
                  arminunruh
                  Global Moderator
                  wrote on last edited by
                  #13

                  yea you can put the iframe in lay options -> custom css & html -> custom html in footer
                  for example

                  and then make the background transparent so your background iframe is shown (put this in some css field)

                  #grid, .cover-region-desktop .cover-inner{ background!transparent!important; }
                  
                  C 1 Reply Last reply
                  1
                  • arminunruhA arminunruh

                    yea you can put the iframe in lay options -> custom css & html -> custom html in footer
                    for example

                    and then make the background transparent so your background iframe is shown (put this in some css field)

                    #grid, .cover-region-desktop .cover-inner{ background!transparent!important; }
                    
                    C
                    C
                    cgvdv_bk
                    wrote on last edited by
                    #14

                    @arminunruh Thanks, i'll give it a try!

                    1 Reply Last reply
                    0
                    • L lena...weber

                      Hello everybody,
                      I have also been following the tutorial @debutdebut
                      My Libraries and sketch.js load fine but the .ttf font file (stored in assets also) called by sketch.js can't be found. (console says "Load was performed." )

                      The sketch isn't displayed at all, even when I comment out everything in my sketch related to my specific font (i thought there would be a standard font displayed instead like in the p5.js editor)
                      I also tried choosing a path of a font i had already installed as a Webfont in Laytheme, but the problem remained the same.
                      All I see is "Loading..." at the bottom of my sketch
                      I can't figure out the problem.
                      Does somebody know what could be the issue here?
                      Beginners-Greetings :)
                      Lena

                      debutdebutD
                      debutdebutD
                      debutdebut
                      wrote on last edited by
                      #15

                      dear @lena-weber, from your description I suppose that the path to your font is wrong. I good place to start is by opening the developer console of your browser. Usually, p5js tells you there if something is wrong with your path.

                      Hope this helps! ✌️

                      1 Reply Last reply
                      0
                      • mariusjopenM
                        mariusjopenM
                        mariusjopen
                        Global Moderator
                        wrote on last edited by
                        #16

                        Dear @debutdebut
                        Thank you for helping!
                        We appreciate the time people take to make the LayTheme community stronger.
                        Best!
                        Marius

                        www.mariusjopen.world

                        1 Reply Last reply
                        0
                        • W
                          W
                          wrongstudio
                          wrote on last edited by
                          #17

                          i followed this but seems like if i come back i need to do a hard refresh or else nothing shows up.

                          W 1 Reply Last reply
                          0
                          • W wrongstudio

                            i followed this but seems like if i come back i need to do a hard refresh or else nothing shows up.

                            W
                            W
                            wrongstudio
                            wrote on last edited by
                            #18

                            @wrongstudio I just added:

                            jQuery.ajaxSetup({cache:true});

                            and that seemed to do it.

                            1 Reply Last reply
                            1

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Online Users
                            I
                            itsbadjujuju
                            Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
                            laytheme.com
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Search