Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 367665
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T13:45:00+00:00 2026-05-12T13:45:00+00:00

I have a bunch of static html files that share same header and footer.

  • 0

I have a bunch of static html files that share same header and footer. I
would like to share this header and footer across all pages. For now i
use the following routed but it is a bit ugly, and i have to take care of all special cases. Is there an easyway to dothis such as the php’s include function?


(defroutes my-app
  (GET "/" 
    (html-with-template 
     "main.header"  "index.body" "main.footer" ))
  (GET "/*.html" 
    (html-with-template 
     "main.header" (str (params :*) ".body") "main.footer" ))
  (GET "/*/" 
    (html-with-template 
     (str (params :*) "/folder.header") 
     (str (params :*) "/index.body")
     (str (params :*) "/folder.footer")))
  (GET "/*" 
    (or (serve-file (params :*)) :next))
  (ANY "*"
    (page-not-found)))

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T13:45:00+00:00Added an answer on May 12, 2026 at 1:45 pm

    From what I’ve read about Compojure, I don’t think it has inherent support for the concept of “auto prepend” and “auto append” to the response body like PHP does.

    Other web frameworks with which I have experience delegate this responsibility to their templating engine, whereas PHP sort of blurs the lines a bit. They do this by allowing you to explicitly “include” a common snippet here, or render a macro, or even through rudimentary forms of inheritance (this template extends that template).

    Basically, whether your HTML is static or dynamic, a templating engine allows you to modularize for better maintainability.

    That said, Compojure doesn’t appear to have a full-blown HTML templating engine bundled with it. It does have a nice little HTML/XML domain-specific language (DSL), but I think what you are looking for is more of a first class templating engine that can be used along with Compojure.

    Enlive seems to be the Clojure-inspired templating engine that get the most hits, but I’m sure there are others. Given Clojure’s JVM integration, you can probably pick from any of the Java-inspired templating engines as well.

    Depending on which one you pick, there may be a few lines of glue code that you have to write to get your templates loaded, rendered and streamed into the Compojure HTTP responses, but you will write that once and reuse everywhere.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a helper class that is just a bunch of static methods and
I have a bunch of files that I need to be able to transport
I have a bunch of perfmon files that have captured information over a period
I have a bunch (hundreds) of files that are supposed to have Unix line
Basically I have a bunch of unmanaged VC++ static libraries. And the VC++ GUI
I have two threads, one needs to poll a bunch of separate static resources
I have a bunch of latitude/longitude pairs that map to known x/y coordinates on
I have a bunch of .NET frameworks installed on my machine. I know that
Does Java and/or Spring have the concept of properties? I have bunch of domain
I have a bunch of classes I want to rename. Some of them have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.