I’m not new to programming, but I am somewhat new to web development and I’m trying to figure out the most preferred way of taking a standalone header from one html document and adding it to other html documents without code duplication. If possible I want to do this with Javascript so I can learn with more basic tools before expanding further.

I’ve researched this a fair bit, but the advice is a bit confusing since it either seems out of date or possibly not the most secure way of handling things. Is there a preferred way of doing something like this?

  • silas
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    If I understand you right, the closest thing to this natively is probably web components. They have really good support across browsers now, and they would accomplish what you want without adding extra javascript to weigh your site down.

    You could also learn and use a javascript framework like Astro, Svelte, Vue, React, etc. which are all industry-standard frameworks built to break your website down into a ton of reusable components and keep things organized. I like Svelte or Astro because they feel closer to vanilla HTML/CSS/JS to me. Here’s the official interactive tutorial for Svelte if you want to mess around with it: learn.svelte.dev

    PHP does have “includes” too if you want to go that route

    • MossBear@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I was looking into Astro and Svelte and those definitely seem interesting. I’ve saved links so I can get into them more in a few weeks when I’m a bit further along with the fundamentals. Thanks!

      • jaredwhite@kbin.social
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Also just throwing this out there: I run a Discord called The Spicy Web that really is about learning and building stuff with the fundamentals, even for old-timers like myself (but all the more for newbies! So much advice out there is about pulling in tons of opinionated tools and dependencies, even when you don’t need them…). At any point if you want to bounce ideas or questions off folks in real-time, check it out!

        • silas
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Thanks, I’ll take a look at this too!

        • MossBear@lemmy.worldOP
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Much appreciated, thanks! I’ll save a link to this and have a look! I am definitely a fan of using simple tools, so that definitely appeals to me.

      • silas
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        No problem! Svelte has an awesome Discord community, and we got a Svelte community here too. Feel free to ask me any questions as well