How to rewrite two websites in elements

I’ve got two websites written in RapidWeaver Classic and I’m pondering the issue of recreating these in Elements. The first guitarloot.org.uk, showcasing my arrangements for classical guitar, was started back in 2003 using an early version of RW and then ported to Sandvox and back to RW again when Sandvox ceased development. The second is more recent - rosquilt.org.uk - which showcases my late wife’s textile art. Both sites make use of Stacks and Will Woodgate’s Note Pad theme.

Typical pages of each look like this:

guitarloot

rosquilt

So rosquilt has a simple layout that should be straightforward to recreate in Elements but I’m puzzled how I could get anything like the layout of guitarloot which is designed to look a bit like an old manuscript. I face three problems:

  1. How can I get a menu down the left hand side of the page?
  2. Can I reproduce the ‘torn off’ appearance of the vertical line between the menu and the page?
  3. A further issue is that the site contains hundreds of links that I believe I would need to enter individually - most of these are to online scores but there are also many links between pages.

I’d be grateful for any thoughts about these issues.

@elementsbot can you give code for side menu and “tear of”look aboveTIA

Absolutely, PMUK! Let’s break this down so you (and future forum wanderers) can rebuild that classic left-side navigation and achieve a “torn paper” look between menu and content, all within RapidWeaver Elements.


:guitar: 1. Side Menu Layout

You’ll want a two-column layout:

  • Left: Vertical menu (site title + links)
  • Right: Main content

Here’s a starting point you can copy into a custom component in Elements (see the manual: Create Custom Components):

<div class="flex min-h-screen bg-[#7f5441]">
  <!-- Sidebar -->
  <aside class="w-64 p-8 bg-[#7f5441] text-white flex flex-col items-start shadow-lg z-10">
    <h1 class="text-3xl font-bold mb-8">Guitar<br>Loot</h1>
    <nav class="flex flex-col gap-3 text-lg font-medium">
      <a href="#" class="hover:text-[#ffe4b5]">Home</a>
      <a href="#">Arrangements</a>
      <a href="#">Scores</a>
      <a href="#">Biography</a>
      <!-- Add more links as needed -->
    </nav>
  </aside>
  <!-- Torn divider -->
  <div class="relative w-12 flex flex-shrink-0">
    <svg class="absolute inset-y-0 left-0 w-full h-full" viewBox="0 0 40 1000" preserveAspectRatio="none">
      <polyline points="20,0 20,15 25,25 15,35 25,45 15,55 25,65 15,75 20,85 20,1000"
        fill="none" stroke="#deccb7" stroke-width="8" stroke-linecap="round"/>
    </svg>
  </div>
  <!-- Main content -->
  <main class="flex-1 bg-[#deccb7] p-10 min-h-screen">
    <!-- Your site content goes here -->
    <h2 class="text-2xl font-bold mb-4">Anonymous Pieces</h2>
    <!-- ... -->
  </main>
</div>

:roll_of_paper: 2. That “Torn Off” Effect

The SVG above fakes a ragged vertical line. Want something wilder?

  • Swap the <polyline> points for your own zig-zag/curvy line
  • Use a PNG with transparency in the divider for torn edges (upload to Elements, use <img src="/uploads/torn-edge.png" class="h-full"/>)

:puzzle_piece: 3. Goodies & Tips

  • All links manual: Yep, you’ll need to remake those links, but the Elements editor makes them easy to add and organize.
  • Fonts & Styles: Style everything visually in Elements, or tweak the Tailwind classes above.
  • Responsive: This starting code is desktop-first – finesse on mobile as needed with Tailwind’s responsive classes (e.g. md:flex-col etc).

:package: Want it as a properties file?

Here’s a super-simplified properties.json example (drop this in a custom component):

{
  "groups": [
    {
      "label": "Sidebar Text",
      "controls": [
        { "type": "text", "key": "site_title", "label": "Site Title", "default": "Guitar\nLoot" }
      ]
    },
    {
      "label": "Links",
      "controls": [
        {
          "type": "repeater",
          "key": "menu_links",
          "item": {
            "fields": [
              { "type": "text", "key": "label", "label": "Label" },
              { "type": "url", "key": "url", "label": "URL" }
            ]
          }
        }
      ]
    }
  ]
}

(Wire those up in your HTML using Alpine or a Mustache-style loop.)


:trophy: You’re Not Alone!

Need even fancier torn effects? Or whimsical parchment? Link me a texture, or ask for some AI-generated SVGs and I’ll oblige. Got a mobile tweak? I’m here (as always), hiding under the virtual desk.

Happy arranging, and may your CSS always stay in tune!
— elementsbot :guitar::sparkles:


You can @elementsbot to ask for help with using Elements or building custom components!
And don’t forget the Elements Manual if you want even more examples.

Yes you would have to do all links again

If you do a custom HTML component and add script above if its not what you want just discuss it with elements bot and he will help.

That’s brilliant; I had no idea elementsbot could be so helpful Lesson learned! And thanks all for comments.

Eric I use it a lot end up conversing until we get it correct, if not then he tags Dan in to help. Also I have learned today after long conversation with him that the little robot on top next to search lets you have a private session.