diff --git a/lib/jekyll/strapi/collection.rb b/lib/jekyll/strapi/collection.rb index 22ea2c3..a74e7a1 100755 --- a/lib/jekyll/strapi/collection.rb +++ b/lib/jekyll/strapi/collection.rb @@ -17,9 +17,12 @@ def generate? @config['output'] || false end + def path + "/#{@config['type'] || @collection_name}?_limit=10000" + end + def each # Initialize the HTTP query - path = "/#{@config['type'] || @collection_name}?_limit=10000" uri = URI("#{@site.endpoint}#{path}") Jekyll.logger.info "Jekyll Strapi:", "Fetching entries from #{uri}" # Get entries @@ -34,14 +37,26 @@ def each end # Add necessary properties - result.each do |document| - document.type = collection_name - document.collection = collection_name - document.id ||= document._id - document.url = @site.strapi_link_resolver(collection_name, document) - end + case @config["api_version"] + when "v4" + result.data.each do |document| + document.type = collection_name + document.collection = collection_name + document.id ||= document._id + document.url = @site.strapi_link_resolver(collection_name, document) + end - result.each {|x| yield(x)} + result.data.each {|x| yield(x)} + else + result.each do |document| + document.type = collection_name + document.collection = collection_name + document.id ||= document._id + document.url = @site.strapi_link_resolver(collection_name, document) + end + + result.each {|x| yield(x)} + end end end end diff --git a/lib/jekyll/strapi/site.rb b/lib/jekyll/strapi/site.rb index 3a83613..c92c5d6 100755 --- a/lib/jekyll/strapi/site.rb +++ b/lib/jekyll/strapi/site.rb @@ -7,7 +7,7 @@ def strapi def strapi_collections return Array.new unless has_strapi_collections? - @strapi_collections ||= Hash[@config['strapi']['collections'].map {|name, config| [name, Strapi::StrapiCollection.new(self, name, config)]}] + @strapi_collections ||= Hash[@config['strapi']['collections'].map {|name, config| [name, Strapi::StrapiCollection.new(self, name, config.merge("api_version" => @config['strapi']['api_version']))]} ] end def has_strapi?