diff options
Diffstat (limited to 'src/guff.cr')
| -rw-r--r-- | src/guff.cr | 30 | 
1 files changed, 28 insertions, 2 deletions
| diff --git a/src/guff.cr b/src/guff.cr index 2343d12..9791288 100644 --- a/src/guff.cr +++ b/src/guff.cr @@ -2122,8 +2122,33 @@ module Guff        ECR.def_to_s("src/views/logout-page.ecr")      end +    class BlogListItemView < HTMLView +      def initialize(context : Context, @post_id : Int64) +        super(context) +      end + +      ECR.def_to_s("src/views/blog/list-item.ecr") +    end + +    # +    # TODO: add y/m/d/page +    #      class BlogListView < HTMLView -      ECR.def_to_s("src/views/blog-list.ecr") +      TITLE = "Blog List" + +      def initialize(context : Context, @post_ids : Array(Int64)) +        super(context) +      end + +      def posts +        String.build do |io| +          @post_ids.each do |id| +            BlogListItemView.new(@context, id).to_s(io) +          end +        end +      end + +      ECR.def_to_s("src/views/blog/list.ecr")      end    end @@ -2599,7 +2624,8 @@ module Guff            context.response.headers["x-frame-options"] = "SAMEORIGIN"            context.response.content_type = "text/html; charset=utf-8"            context.response.status_code = 200 -          context.response << "blog list: ids = #{ids.join(", ")}" + +          Views::BlogListView.new(@context, ids).to_s(context.response)          else            # unknown page            call_next(context) | 
