diff --git a/generators/wiki/mw_utils.rb b/generators/wiki/mw_utils.rb
index 28373089458b4c0871ea040b9b480b9e34ae4411..93450b5c760b3e2fc423c6bf0c59e7def5775cce 100644
--- a/generators/wiki/mw_utils.rb
+++ b/generators/wiki/mw_utils.rb
@@ -28,6 +28,23 @@ module MediawikiApi
       res = get_conn.send(:get, '', params)
       res.body
     end
+    
+    def get_file_content(file_name)
+      get_conn = Faraday.new(url: MW::BASE_URL + "images/#{file_name}") do |faraday|
+        faraday.request :multipart
+        faraday.request :url_encoded
+        faraday.use :cookie_jar, jar: @cookies
+        faraday.use FaradayMiddleware::FollowRedirects
+        faraday.adapter Faraday.default_adapter
+      end
+      params = {
+        :token_type => false,
+        :action => 'raw'
+      }
+      params[:token] = get_token(:csrf)
+      res = get_conn.send(:get, '', params)
+      res.body
+    end
 
     def update_file(filename, path, content_type, comment, ignorewarnings, text = nil)
       file = Faraday::UploadIO.new(path, content_type)
diff --git a/generators/wiki/wiki_generator.rb b/generators/wiki/wiki_generator.rb
index 708e5ecbf96463895ab7738153d44817abdb6c83..0ae3cf453d9cec628172d84da6a7f7f57c65dbe4 100644
--- a/generators/wiki/wiki_generator.rb
+++ b/generators/wiki/wiki_generator.rb
@@ -53,6 +53,28 @@ class WikiGenerator
     }
   end
 
+  def diff_files
+    ret = true
+    @files.each { |file|
+      if file['content-type'] == 'text/plain'
+        file_content = @mw_client.get_file_content(file['filename'])
+        generated_content = File.read(file['path'])
+        diff = Diffy::Diff.new(file_content, generated_content, :context => 0)
+        if (diff.to_s.empty?)
+          puts "No differences found between generated and current content for file #{file['filename']}."
+          ret &= true
+        else
+          puts "Differences between generated and current content for file #{file['filename']}:"
+          puts '------------ FILE DIFF BEGIN ------------'
+          puts "#{diff.to_s(:text)}"
+          puts '------------- FILE DIFF END -------------'
+          ret &= false
+        end
+      end
+    }
+    return ret
+  end
+    
   #print generator content to stdout
   def print()
     puts @generated_content
@@ -117,7 +139,8 @@ class WikiGenerator
       generator.login(options)
     end
     if (options[:diff])
-      generator.diff_page
+      generator.diff_page if generator.instance_variable_get('@generated_content')
+      generator.diff_files if generator.instance_variable_get('@files')
     end
     if (options[:print])
       generator.print