Refactor content to its own namespaceλ︎
Create a new namespace called clojurebridge-landing-page.content
in the file src/clojurebridge_landing_page/content.cljs
Move all function definitions, except landing-page
from the content section to the new file for the namespace.
Require the content
namespaceλ︎
Edit the the file src/clojurebridge_landing_page/core.cljs
.
Update the clojurebridge-landing-page.core
namespace to require the new clojurebridge-landing-page.content
namespace
The content
namespace should be given the alias content
(ns ^:figwheel-hooks clojurebridge-london-landing-page.core
(:require
[goog.dom :as gdom]
[reagent.core :as reagent :refer [atom]]
[clojurebridge-landing-page.content :as content]))
Add the alias to the function callsλ︎
The landing page represents the order in which content sections are organised.
level-separator
provides a named separation between each component. The name is used by the navigation bar on the web page to jump to a specific content section on the page.
Using the name on the separator ensures the top of the content section is not displayed under the navigation bar
(defn landing-page []
[:div
[content/navigation-top]
[content/banner-columns]
[content/sponsor-current (get-in @app-state [:sponsors :current])]
(content/level-separator "overview")
[content/overview]
(content/level-separator "showcase")
[content/showcase]
(content/level-separator "learning-paths")
[content/learning-paths]
(content/level-separator "install")
[content/install]
(content/level-separator "schedule")
[content/schedule]
(content/level-separator "resources")
[content/resources]
(content/level-separator "coaches")
[content/coaches]
(content/level-separator "sponsors")
[content/sponsors]
])
The landing page should continue to work as before. If not, ensure all files are saved and check if figwheel is showing errors on the bottom of the landing page.