--- a
+++ b/opensourceprojects/templates/jinja_master/theme_macros.html
@@ -0,0 +1,67 @@
+{%- macro header(login_url, logout_url) %}
+<header id="site-header">
+    <div class="wrapper">
+        <a id="header-logo" title="opensourceprojects.eu logo" href="/"><img src="{{g.theme_href('images/logo.png')}}"/></a>
+        <nav>
+            <div class="opacity50"></div>
+            <div class="top_menu">
+                <a href="/p/">Projects</a>
+            {% if c.user._id %}
+                <a href="/auth/prefs/">Settings</a>
+                <a href="{{c.user.url()}}">Profile</a>
+                <a href="{{logout_url}}">Log Out</a>
+            {% else %}
+                <a href="/auth/create_account">Register</a>
+                <a href="{{login_url}}">Log In</a>
+            {% endif %}
+          </div>
+        </nav>
+    </div>
+</header>
+{%- endmacro %}
+
+{%- macro footer(year, path_to_static='') %}
+<footer id="site-footer">
+  <nav>
+	  This project is powered by <a href="http://sourceforge.net/p/allura/">Allura</a>.
+	</nav>
+</footer>
+{%- endmacro %}
+
+{%- macro custom_js(path_to_static) %}
+
+{%- endmacro %}
+
+{%- macro custom_tracking_js(accounts, user, project) %}
+    {# This should be overridden in your custom theme (e.g., sftheme) to implement custom tracking code. #}
+    var _gaq = _gaq || [];
+
+    function _add_tracking(prefix, tracking_id) {
+        _gaq.push(
+            [prefix+'._setAccount', tracking_id],
+            [prefix+'._trackPageview'],
+        );
+    }
+
+    {%- for account in accounts %}
+    _add_tracking('sfnt{{ loop.index }}', '{{account}}');
+    {%- endfor %}
+    {% if project and project.neighborhood.features['google_analytics'] -%}
+      {% if project.neighborhood.tracking_id -%}
+          _add_tracking('nbhd', '{{project.neighborhood.tracking_id}}');
+      {%- endif %}
+      {% if project.tracking_id -%}
+          _add_tracking('proj', '{{project.tracking_id}}');
+      {%- endif %}
+    {%- endif %}
+
+    (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+    })();
+{%- endmacro %}
+
+{%- macro extra_header(path_to_static) %}
+
+{%- endmacro %}