       def talon_resource(resource) when is_map(resource) do
         talon_resource(resource.__struct__)
       end
+
+      def talon_page(page_name) when is_binary(page_name) do
+        @__page_map__[page_name] || dashboard()
+      end
+      def talon_page(_), do: dashboard()
 
       def resource_schema(resource_name) when is_binary(resource_name) do
         {String.to_atom(resource_name), talon_resource(resource_name)}

    quote location: :keep do
      @__resources__  Application.get_env(:talon, :resources, [])

      @__resource_map__  for mod <- @__resources__, into: %{},
        do: {Module.split(mod) |> List.last() |> to_string |> Inflex.underscore |> Inflex.Pluralize.pluralize, mod}

      @__view_path_names__ for {plural, _} <- @__resource_map__, into: %{}, do: {plural, Inflex.singularize(plural)}

      # @__resource_to_talon__ for resource <- @__resources__, do: {resource.schema(), resource}

      def resources, do: @__resources__

      def resource_names, do: @__resource_map__ |> Map.keys


      def dashboard_names, do: [__MODULE__. dashboard_name]

      def dashboard_name, do: "dashboard"

      def dashboard(), do: @__dashboard__


      def schema(resource_name) do
        try do
