groupdocs 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. data/.travis.yml +0 -1
  2. data/README.md +2 -0
  3. data/examples/api-samples/public/docs/annotation-sample.html +167 -57
  4. data/examples/api-samples/public/docs/docco.css +459 -151
  5. data/examples/api-samples/public/docs/envelope-sample.html +373 -131
  6. data/examples/api-samples/public/docs/sample1.html +126 -26
  7. data/examples/api-samples/public/docs/sample10.html +213 -50
  8. data/examples/api-samples/public/docs/sample11.html +319 -87
  9. data/examples/api-samples/public/docs/sample12.html +165 -40
  10. data/examples/api-samples/public/docs/sample13.html +166 -41
  11. data/examples/api-samples/public/docs/sample14.html +142 -30
  12. data/examples/api-samples/public/docs/sample15.html +127 -27
  13. data/examples/api-samples/public/docs/sample16.html +125 -25
  14. data/examples/api-samples/public/docs/sample17.html +188 -37
  15. data/examples/api-samples/public/docs/sample18.html +614 -157
  16. data/examples/api-samples/public/docs/sample19.html +221 -59
  17. data/examples/api-samples/public/docs/sample2.html +142 -30
  18. data/examples/api-samples/public/docs/sample20.html +176 -51
  19. data/examples/api-samples/public/docs/sample21.html +287 -66
  20. data/examples/api-samples/public/docs/sample22.html +224 -53
  21. data/examples/api-samples/public/docs/sample23.html +256 -0
  22. data/examples/api-samples/public/docs/sample24.html +143 -0
  23. data/examples/api-samples/public/docs/sample25.html +429 -0
  24. data/examples/api-samples/public/docs/sample26.html +113 -0
  25. data/examples/api-samples/public/docs/sample27.html +433 -0
  26. data/examples/api-samples/public/docs/sample28.html +185 -0
  27. data/examples/api-samples/public/docs/sample29.html +175 -0
  28. data/examples/api-samples/public/docs/sample3.html +172 -34
  29. data/examples/api-samples/public/docs/sample30.html +144 -0
  30. data/examples/api-samples/public/docs/sample31.html +734 -0
  31. data/examples/api-samples/public/docs/sample4.html +204 -52
  32. data/examples/api-samples/public/docs/sample5.html +241 -63
  33. data/examples/api-samples/public/docs/sample6.html +209 -48
  34. data/examples/api-samples/public/docs/sample7.html +155 -43
  35. data/examples/api-samples/public/docs/sample8.html +235 -62
  36. data/examples/api-samples/public/docs/sample9.html +200 -49
  37. data/examples/api-samples/public/templates/merge_field1_doc.docx +0 -0
  38. data/examples/api-samples/public/templates/merge_field2_doc.docx +0 -0
  39. data/examples/api-samples/samples/sample23.rb +54 -0
  40. data/examples/api-samples/samples/sample24.rb +30 -0
  41. data/examples/api-samples/samples/sample25.rb +4 -4
  42. data/examples/api-samples/samples/sample26.rb +25 -0
  43. data/examples/api-samples/samples/sample27.rb +100 -0
  44. data/examples/api-samples/samples/sample28.rb +47 -0
  45. data/examples/api-samples/samples/sample29.rb +52 -0
  46. data/examples/api-samples/samples/sample30.rb +39 -0
  47. data/examples/api-samples/samples/sample31.rb +204 -0
  48. data/examples/api-samples/samples/sample5.rb +5 -3
  49. data/examples/api-samples/samples/sample6.rb +2 -0
  50. data/examples/api-samples/views/_others_samples.haml +12 -0
  51. data/examples/api-samples/views/index.haml +12 -0
  52. data/examples/api-samples/views/layout.haml +1 -0
  53. data/examples/api-samples/views/sample1.haml +3 -2
  54. data/examples/api-samples/views/sample10.haml +3 -2
  55. data/examples/api-samples/views/sample11.haml +4 -0
  56. data/examples/api-samples/views/sample12.haml +4 -0
  57. data/examples/api-samples/views/sample13.haml +4 -0
  58. data/examples/api-samples/views/sample14.haml +4 -0
  59. data/examples/api-samples/views/sample15.haml +4 -0
  60. data/examples/api-samples/views/sample16.haml +4 -0
  61. data/examples/api-samples/views/sample17.haml +4 -0
  62. data/examples/api-samples/views/sample19.haml +4 -0
  63. data/examples/api-samples/views/sample2.haml +3 -2
  64. data/examples/api-samples/views/sample20.haml +4 -0
  65. data/examples/api-samples/views/sample21.haml +4 -0
  66. data/examples/api-samples/views/sample22.haml +4 -0
  67. data/examples/api-samples/views/sample23.haml +87 -0
  68. data/examples/api-samples/views/sample24.haml +44 -0
  69. data/examples/api-samples/views/sample26.haml +54 -0
  70. data/examples/api-samples/views/sample27.haml +122 -0
  71. data/examples/api-samples/views/sample28.haml +47 -0
  72. data/examples/api-samples/views/sample29.haml +70 -0
  73. data/examples/api-samples/views/sample3.haml +3 -2
  74. data/examples/api-samples/views/sample30.haml +46 -0
  75. data/examples/api-samples/views/sample31.haml +114 -0
  76. data/examples/api-samples/views/sample4.haml +3 -2
  77. data/examples/api-samples/views/sample5.haml +3 -2
  78. data/examples/api-samples/views/sample6.haml +3 -2
  79. data/examples/api-samples/views/sample7.haml +3 -2
  80. data/examples/api-samples/views/sample8.haml +3 -2
  81. data/examples/api-samples/views/sample9.haml +3 -2
  82. data/examples/viewer/Gemfile +1 -1
  83. data/groupdocs.gemspec +3 -3
  84. data/lib/groupdocs/datasource.rb +22 -0
  85. data/lib/groupdocs/document.rb +493 -43
  86. data/lib/groupdocs/document/annotation.rb +73 -0
  87. data/lib/groupdocs/job.rb +82 -1
  88. data/lib/groupdocs/post.rb +83 -0
  89. data/lib/groupdocs/questionnaire.rb +41 -0
  90. data/lib/groupdocs/signature.rb +342 -0
  91. data/lib/groupdocs/signature/envelope.rb +56 -0
  92. data/lib/groupdocs/signature/form.rb +47 -5
  93. data/lib/groupdocs/signature/shared/field_methods.rb +37 -0
  94. data/lib/groupdocs/storage/file.rb +83 -0
  95. data/lib/groupdocs/subscription.rb +218 -0
  96. data/lib/groupdocs/user.rb +422 -1
  97. data/lib/groupdocs/version.rb +1 -1
  98. data/spec/groupdocs/job_spec.rb +4 -5
  99. data/spec/groupdocs/user_spec.rb +157 -0
  100. data/spec/support/json/annotation_resize.json +11 -0
  101. data/spec/support/json/annotation_text_color.json +10 -0
  102. data/spec/support/json/annotation_text_info.json +11 -0
  103. data/spec/support/json/document_content_get.json +8 -0
  104. data/spec/support/json/document_edit_lock_get.json +10 -0
  105. data/spec/support/json/document_editlock_remove.json +8 -0
  106. data/spec/support/json/document_page_html_urls_get.json +14 -0
  107. data/spec/support/json/document_password_set.json +19 -0
  108. data/spec/support/json/document_representations.json +25 -0
  109. data/spec/support/json/document_shared_documents_get.json +32 -0
  110. data/spec/support/json/document_tags_get.json +9 -0
  111. data/spec/support/json/document_tags_remove.json +8 -0
  112. data/spec/support/json/document_tags_set.json +8 -0
  113. data/spec/support/json/document_user_status_set.json +12 -0
  114. data/spec/support/json/job_documents.json +103 -35
  115. data/spec/support/json/job_xml_get.json +30 -0
  116. data/spec/support/json/jobs_documents.json +40 -0
  117. data/spec/support/json/user_get_profile.json +73 -0
  118. metadata +49 -177
data/.travis.yml CHANGED
@@ -1,7 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 1.8.7
4
- - 1.9.2
5
4
  - 1.9.3
6
5
  - 2.0.0
7
6
  matrix:
data/README.md CHANGED
@@ -53,6 +53,8 @@ GroupDocs::Storage::Folder.create!('/folder', client_id: 'your_client_id', priva
53
53
 
54
54
  Reference to [this page](http://rubydoc.info/gems/groupdocs) for docs and examples.
55
55
 
56
+ There is rather exhaustive documentation about internal SDK structure at [wiki page](https://github.com/groupdocs/groupdocs-ruby/wiki/Documentation-&-Guide).
57
+
56
58
  There are also some examples in [repository](https://github.com/groupdocs/groupdocs-ruby/tree/master/examples) and on [wiki](https://github.com/groupdocs/groupdocs-ruby/wiki)
57
59
 
58
60
  ### Entities
@@ -1,57 +1,167 @@
1
- <!DOCTYPE html> <html> <head> <title>annotation-sample.rb</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To &hellip; <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="annotation-sample.html"> annotation-sample.rb </a> <a class="source" href="envelope-sample.html"> envelope-sample.rb </a> <a class="source" href="sample1.html"> sample1.rb </a> <a class="source" href="sample10.html"> sample10.rb </a> <a class="source" href="sample11.html"> sample11.rb </a> <a class="source" href="sample12.html"> sample12.rb </a> <a class="source" href="sample13.html"> sample13.rb </a> <a class="source" href="sample14.html"> sample14.rb </a> <a class="source" href="sample15.html"> sample15.rb </a> <a class="source" href="sample16.html"> sample16.rb </a> <a class="source" href="sample17.html"> sample17.rb </a> <a class="source" href="sample18.html"> sample18.rb </a> <a class="source" href="sample19.html"> sample19.rb </a> <a class="source" href="sample2.html"> sample2.rb </a> <a class="source" href="sample20.html"> sample20.rb </a> <a class="source" href="sample21.html"> sample21.rb </a> <a class="source" href="sample22.html"> sample22.rb </a> <a class="source" href="sample3.html"> sample3.rb </a> <a class="source" href="sample4.html"> sample4.rb </a> <a class="source" href="sample5.html"> sample5.rb </a> <a class="source" href="sample6.html"> sample6.rb </a> <a class="source" href="sample7.html"> sample7.rb </a> <a class="source" href="sample8.html"> sample8.rb </a> <a class="source" href="sample9.html"> sample9.rb </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> annotation-sample.rb </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">&#182;</a> </div> <p>GET request</p> </td> <td class="code"> <div class="highlight"><pre><span class="n">get</span> <span class="s1">&#39;/annotation-sample&#39;</span> <span class="k">do</span>
2
- <span class="n">haml</span> <span class="ss">:annotation_sample</span>
3
- <span class="k">end</span>
4
-
5
-
6
- <span class="n">post</span> <span class="s1">&#39;/annotation-sample&#39;</span> <span class="k">do</span>
7
- <span class="n">set</span> <span class="ss">:client_id</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
8
- <span class="n">set</span> <span class="ss">:private_key</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
9
-
10
- <span class="n">set</span> <span class="ss">:email</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:email</span><span class="o">]</span>
11
- <span class="n">set</span> <span class="ss">:first_name</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:first_name</span><span class="o">]</span>
12
- <span class="n">set</span> <span class="ss">:last_name</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:last_name</span><span class="o">]</span>
13
- <span class="n">set</span> <span class="ss">:file_name</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:file_name</span><span class="o">]</span>
14
-
15
- <span class="k">begin</span>
16
- <span class="k">raise</span> <span class="s1">&#39;Please enter all required parameters&#39;</span> <span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">file_name</span><span class="o">.</span><span class="n">empty?</span>
17
-
18
- <span class="no">GroupDocs</span><span class="o">.</span><span class="n">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">groupdocs</span><span class="o">|</span>
19
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">client_id</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
20
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">private_key</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
21
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">api_server</span> <span class="o">=</span> <span class="s1">&#39;https://api.groupdocs.com&#39;</span>
22
- <span class="k">end</span>
23
-
24
- <span class="n">metadata</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Document</span><span class="o">.</span><span class="n">metadata!</span><span class="p">(</span><span class="n">settings</span><span class="o">.</span><span class="n">file_name</span><span class="p">)</span>
25
- <span class="n">document</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Storage</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="nb">id</span><span class="p">:</span> <span class="n">metadata</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="ss">guid</span><span class="p">:</span> <span class="n">metadata</span><span class="o">.</span><span class="n">guid</span><span class="p">)</span><span class="o">.</span><span class="n">to_document</span>
26
-
27
-
28
- <span class="n">user</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:User</span><span class="o">.</span><span class="n">new</span>
29
- <span class="n">user</span><span class="o">.</span><span class="n">nickname</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">email</span>
30
- <span class="n">user</span><span class="o">.</span><span class="n">primary_email</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">email</span>
31
- <span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">first_name</span>
32
- <span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">last_name</span>
33
- <span class="n">user</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:User</span><span class="o">.</span><span class="n">update_account!</span><span class="p">(</span><span class="n">user</span><span class="p">)</span>
34
-
35
-
36
- <span class="n">document</span><span class="o">.</span><span class="n">add_collaborator!</span> <span class="n">user</span> <span class="k">unless</span> <span class="n">document</span><span class="o">.</span><span class="n">collaborators!</span><span class="o">.</span><span class="n">any?</span> <span class="p">{</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="o">.</span><span class="n">guid</span> <span class="o">==</span> <span class="n">user</span><span class="o">.</span><span class="n">guid</span> <span class="p">}</span>
37
-
38
-
39
- <span class="n">annotation</span> <span class="o">=</span> <span class="kp">true</span> <span class="c1"># looks like &quot;IsAnnotation&quot; is some helper method so I stub it here</span>
40
- <span class="n">url</span> <span class="o">=</span> <span class="k">if</span> <span class="n">annotation</span>
41
- <span class="s2">&quot;/document-annotation2/embed?quality=50&amp;guid=</span><span class="si">#{</span><span class="n">document</span><span class="o">.</span><span class="n">file</span><span class="o">.</span><span class="n">guid</span><span class="si">}</span><span class="s2">&amp;uid=</span><span class="si">#{</span><span class="n">user</span><span class="o">.</span><span class="n">guid</span><span class="si">}</span><span class="s2">&amp;download=True&quot;</span>
42
- <span class="k">else</span>
43
- <span class="s2">&quot;/document-viewer/embed?quality=50&amp;guid=</span><span class="si">#{</span><span class="n">document</span><span class="o">.</span><span class="n">file</span><span class="o">.</span><span class="n">guid</span><span class="si">}</span><span class="s2">&amp;uid=</span><span class="si">#{</span><span class="n">user</span><span class="o">.</span><span class="n">guid</span><span class="si">}</span><span class="s2">&amp;download=True&quot;</span>
44
- <span class="k">end</span>
45
-
46
-
47
- url = GroupDocs::Api::Request.new(path: url).prepare<em>and</em>sign_url</p> </td> <td class="code"> <div class="highlight"><pre>
48
-
49
- <span class="n">iframe</span> <span class="o">=</span> <span class="s2">&quot;&lt;iframe src=&#39;https://apps.groupdocs.com</span><span class="si">#{</span><span class="n">url</span><span class="si">}</span><span class="s2">&#39; frameborder=&#39;0&#39; width=&#39;720&#39; height=&#39;600&#39;&gt;&lt;/iframe&gt;&quot;</span>
50
- <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=&gt;</span> <span class="n">e</span>
51
- <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
52
- <span class="k">end</span>
53
-
54
- <span class="n">haml</span> <span class="ss">:annotation_sample</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span><span class="ss">:client_id</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">,</span> <span class="ss">:err</span> <span class="o">=&gt;</span> <span class="n">err</span><span class="p">,</span> <span class="ss">:file_name</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">file_name</span><span class="p">,</span> <span class="ss">:email</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> <span class="ss">:first_name</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="ss">:last_name</span> <span class="o">=&gt;</span> <span class="n">settings</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span> <span class="ss">:iframe</span> <span class="o">=&gt;</span> <span class="n">iframe</span><span class="p">}</span>
55
- <span class="k">end</span>
56
-
57
- </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <title>annotation-sample.rb</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
+ <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
8
+ <link rel="stylesheet" media="all" href="docco.css" />
9
+ </head>
10
+ <body>
11
+ <div id="container">
12
+ <div id="background"></div>
13
+
14
+ <ul class="sections">
15
+
16
+ <li id="title">
17
+ <div class="annotation">
18
+ <h1>annotation-sample.rb</h1>
19
+ </div>
20
+ </li>
21
+
22
+
23
+
24
+ <li id="section-1">
25
+ <div class="annotation">
26
+
27
+ <div class="pilwrap ">
28
+ <a class="pilcrow" href="#section-1">&#182;</a>
29
+ </div>
30
+ <p>GET request</p>
31
+
32
+ </div>
33
+
34
+ <div class="content"><div class='highlight'><pre>get <span class="string">'/annotation-sample'</span> <span class="keyword">do</span>
35
+ haml <span class="symbol">:annotation_sample</span>
36
+ <span class="keyword">end</span></pre></div></div>
37
+
38
+ </li>
39
+
40
+
41
+ <li id="section-2">
42
+ <div class="annotation">
43
+
44
+ <div class="pilwrap ">
45
+ <a class="pilcrow" href="#section-2">&#182;</a>
46
+ </div>
47
+ <p>POST request</p>
48
+
49
+ </div>
50
+
51
+ <div class="content"><div class='highlight'><pre>post <span class="string">'/annotation-sample'</span> <span class="keyword">do</span>
52
+ set <span class="symbol">:client_id</span>, params[<span class="symbol">:client_id</span>]
53
+ set <span class="symbol">:private_key</span>, params[<span class="symbol">:private_key</span>]
54
+
55
+ set <span class="symbol">:email</span>, params[<span class="symbol">:email</span>]
56
+ set <span class="symbol">:first_name</span>, params[<span class="symbol">:first_name</span>]
57
+ set <span class="symbol">:last_name</span>, params[<span class="symbol">:last_name</span>]
58
+ set <span class="symbol">:file_name</span>, params[<span class="symbol">:file_name</span>]
59
+
60
+ <span class="keyword">begin</span>
61
+ raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.file_name.empty?
62
+
63
+ <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
64
+ groupdocs.client_id = params[<span class="symbol">:client_id</span>]
65
+ groupdocs.private_key = params[<span class="symbol">:private_key</span>]
66
+ groupdocs.api_server = <span class="string">'https://api.groupdocs.com'</span>
67
+ <span class="keyword">end</span></pre></div></div>
68
+
69
+ </li>
70
+
71
+
72
+ <li id="section-3">
73
+ <div class="annotation">
74
+
75
+ <div class="pilwrap ">
76
+ <a class="pilcrow" href="#section-3">&#182;</a>
77
+ </div>
78
+ <p>get document metadata</p>
79
+
80
+ </div>
81
+
82
+ <div class="content"><div class='highlight'><pre> metadata = <span class="constant">GroupDocs::Document</span>.metadata!(settings.file_name)
83
+ document = <span class="constant">GroupDocs::Storage::File</span>.new(<span class="symbol">id:</span> metadata.id, <span class="symbol">guid:</span> metadata.guid).to_document</pre></div></div>
84
+
85
+ </li>
86
+
87
+
88
+ <li id="section-4">
89
+ <div class="annotation">
90
+
91
+ <div class="pilwrap ">
92
+ <a class="pilcrow" href="#section-4">&#182;</a>
93
+ </div>
94
+ <p>create new user</p>
95
+
96
+ </div>
97
+
98
+ <div class="content"><div class='highlight'><pre> user = <span class="constant">GroupDocs::User</span>.new
99
+ user.nickname = settings.email
100
+ user.primary_email = settings.email
101
+ user.first_name = settings.first_name
102
+ user.last_name = settings.last_name
103
+ user = <span class="constant">GroupDocs::User</span>.update_account!(user)</pre></div></div>
104
+
105
+ </li>
106
+
107
+
108
+ <li id="section-5">
109
+ <div class="annotation">
110
+
111
+ <div class="pilwrap ">
112
+ <a class="pilcrow" href="#section-5">&#182;</a>
113
+ </div>
114
+ <p>add collaborator</p>
115
+
116
+ </div>
117
+
118
+ <div class="content"><div class='highlight'><pre> document.add_collaborator! user <span class="keyword">unless</span> document.collaborators!.any? { |c| c.guid == user.guid }</pre></div></div>
119
+
120
+ </li>
121
+
122
+
123
+ <li id="section-6">
124
+ <div class="annotation">
125
+
126
+ <div class="pilwrap ">
127
+ <a class="pilcrow" href="#section-6">&#182;</a>
128
+ </div>
129
+ <p>build url</p>
130
+
131
+ </div>
132
+
133
+ <div class="content"><div class='highlight'><pre> annotation = <span class="keyword">true</span> <span class="comment"># looks like "IsAnnotation" is some helper method so I stub it here</span>
134
+ url = <span class="keyword">if</span> annotation
135
+ <span class="string">"/document-annotation2/embed?quality=50&amp;guid=<span class="subst">#{document.file.guid}</span>&amp;uid=<span class="subst">#{user.guid}</span>&amp;download=True"</span>
136
+ <span class="keyword">else</span>
137
+ <span class="string">"/document-viewer/embed?quality=50&amp;guid=<span class="subst">#{document.file.guid}</span>&amp;uid=<span class="subst">#{user.guid}</span>&amp;download=True"</span>
138
+ <span class="keyword">end</span></pre></div></div>
139
+
140
+ </li>
141
+
142
+
143
+ <li id="section-7">
144
+ <div class="annotation">
145
+
146
+ <div class="pilwrap ">
147
+ <a class="pilcrow" href="#section-7">&#182;</a>
148
+ </div>
149
+ <p>you can sign document
150
+ url = GroupDocs::Api::Request.new(path: url).prepare_and_sign_url</p>
151
+
152
+ </div>
153
+
154
+ <div class="content"><div class='highlight'><pre> iframe = <span class="string">"&lt;iframe src='https://apps.groupdocs.com<span class="subst">#{url}</span>' frameborder='0' width='720' height='600'&gt;&lt;/iframe&gt;"</span>
155
+ <span class="keyword">rescue</span> <span class="constant">Exception</span> =&gt; e
156
+ err = e.message
157
+ <span class="keyword">end</span>
158
+
159
+ haml <span class="symbol">:annotation_sample</span>, <span class="symbol">:locals</span> =&gt; {<span class="symbol">:client_id</span> =&gt; settings.client_id, <span class="symbol">:private_key</span> =&gt; settings.private_key, <span class="symbol">:err</span> =&gt; err, <span class="symbol">:file_name</span> =&gt; settings.file_name, <span class="symbol">:email</span> =&gt; settings.email, <span class="symbol">:first_name</span> =&gt; settings.first_name, <span class="symbol">:last_name</span> =&gt; settings.last_name, <span class="symbol">:iframe</span> =&gt; iframe}
160
+ <span class="keyword">end</span></pre></div></div>
161
+
162
+ </li>
163
+
164
+ </ul>
165
+ </div>
166
+ </body>
167
+ </html>
@@ -1,192 +1,500 @@
1
- /*--------------------- Layout and Typography ----------------------------*/
1
+ /*--------------------- Typography ----------------------------*/
2
+
3
+ @font-face {
4
+ font-family: 'aller-light';
5
+ src: url('public/fonts/aller-light.eot');
6
+ src: url('public/fonts/aller-light.eot?#iefix') format('embedded-opentype'),
7
+ url('public/fonts/aller-light.woff') format('woff'),
8
+ url('public/fonts/aller-light.ttf') format('truetype');
9
+ font-weight: normal;
10
+ font-style: normal;
11
+ }
12
+
13
+ @font-face {
14
+ font-family: 'aller-bold';
15
+ src: url('public/fonts/aller-bold.eot');
16
+ src: url('public/fonts/aller-bold.eot?#iefix') format('embedded-opentype'),
17
+ url('public/fonts/aller-bold.woff') format('woff'),
18
+ url('public/fonts/aller-bold.ttf') format('truetype');
19
+ font-weight: normal;
20
+ font-style: normal;
21
+ }
22
+
23
+ @font-face {
24
+ font-family: 'novecento-bold';
25
+ src: url('public/fonts/novecento-bold.eot');
26
+ src: url('public/fonts/novecento-bold.eot?#iefix') format('embedded-opentype'),
27
+ url('public/fonts/novecento-bold.woff') format('woff'),
28
+ url('public/fonts/novecento-bold.ttf') format('truetype');
29
+ font-weight: normal;
30
+ font-style: normal;
31
+ }
32
+
33
+ /*--------------------- Layout ----------------------------*/
34
+ html { height: 100%; }
2
35
  body {
3
- font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
4
- font-size: 15px;
5
- line-height: 22px;
6
- color: #252519;
36
+ font-family: "aller-light";
37
+ font-size: 14px;
38
+ line-height: 18px;
39
+ color: #30404f;
7
40
  margin: 0; padding: 0;
41
+ height:100%;
8
42
  }
43
+ #container { min-height: 100%; }
44
+
9
45
  a {
10
- color: #261a3b;
46
+ color: #000;
11
47
  }
12
- a:visited {
13
- color: #261a3b;
14
- }
15
- p {
16
- margin: 0 0 15px 0;
48
+
49
+ b, strong {
50
+ font-weight: normal;
51
+ font-family: "aller-bold";
17
52
  }
53
+
54
+ p, ul, ol {
55
+ margin: 15px 0 0px;
56
+ }
57
+
18
58
  h1, h2, h3, h4, h5, h6 {
19
- margin: 0px 0 15px 0;
59
+ color: #112233;
60
+ line-height: 1em;
61
+ font-weight: normal;
62
+ font-family: "novecento-bold";
63
+ text-transform: uppercase;
64
+ margin: 30px 0 15px 0;
20
65
  }
21
- h1 {
22
- margin-top: 40px;
23
- }
66
+
67
+ h1 {
68
+ margin-top: 40px;
69
+ }
70
+
24
71
  hr {
25
- border: 0 none;
26
- border-top: 1px solid #e5e5ee;
27
- height: 1px;
28
- margin: 20px 0;
72
+ border: 0;
73
+ background: 1px solid #ddd;
74
+ height: 1px;
75
+ margin: 20px 0;
29
76
  }
30
- #container {
31
- position: relative;
77
+
78
+ pre, tt, code {
79
+ font-size: 12px; line-height: 16px;
80
+ font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
81
+ margin: 0; padding: 0;
32
82
  }
33
- #background {
34
- position: fixed;
35
- top: 0; left: 525px; right: 0; bottom: 0;
36
- background: #f5f5ff;
37
- border-left: 1px solid #e5e5ee;
38
- z-index: -1;
83
+ .annotation pre {
84
+ display: block;
85
+ margin: 0;
86
+ padding: 7px 10px;
87
+ background: #fcfcfc;
88
+ -moz-box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
89
+ -webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
90
+ box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
91
+ overflow-x: auto;
92
+ }
93
+ .annotation pre code {
94
+ border: 0;
95
+ padding: 0;
96
+ background: transparent;
97
+ }
98
+
99
+
100
+ blockquote {
101
+ border-left: 5px solid #ccc;
102
+ margin: 0;
103
+ padding: 1px 0 1px 1em;
104
+ }
105
+ .sections blockquote p {
106
+ font-family: Menlo, Consolas, Monaco, monospace;
107
+ font-size: 12px; line-height: 16px;
108
+ color: #999;
109
+ margin: 10px 0 0;
110
+ white-space: pre-wrap;
111
+ }
112
+
113
+ ul.sections {
114
+ list-style: none;
115
+ padding:0 0 5px 0;;
116
+ margin:0;
117
+ }
118
+
119
+ /*
120
+ Force border-box so that % widths fit the parent
121
+ container without overlap because of margin/padding.
122
+
123
+ More Info : http://www.quirksmode.org/css/box.html
124
+ */
125
+ ul.sections > li > div {
126
+ -moz-box-sizing: border-box; /* firefox */
127
+ -ms-box-sizing: border-box; /* ie */
128
+ -webkit-box-sizing: border-box; /* webkit */
129
+ -khtml-box-sizing: border-box; /* konqueror */
130
+ box-sizing: border-box; /* css3 */
39
131
  }
132
+
133
+
134
+ /*---------------------- Jump Page -----------------------------*/
40
135
  #jump_to, #jump_page {
136
+ margin: 0;
41
137
  background: white;
42
138
  -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
43
139
  -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
44
- font: 10px Arial;
45
- text-transform: uppercase;
140
+ font: 16px Arial;
46
141
  cursor: pointer;
47
142
  text-align: right;
143
+ list-style: none;
144
+ }
145
+
146
+ #jump_to a {
147
+ text-decoration: none;
148
+ }
149
+
150
+ #jump_to a.large {
151
+ display: none;
152
+ }
153
+ #jump_to a.small {
154
+ font-size: 22px;
155
+ font-weight: bold;
156
+ color: #676767;
48
157
  }
158
+
49
159
  #jump_to, #jump_wrapper {
50
160
  position: fixed;
51
161
  right: 0; top: 0;
52
- padding: 5px 10px;
162
+ padding: 10px 15px;
163
+ margin:0;
164
+ }
165
+
166
+ #jump_wrapper {
167
+ display: none;
168
+ padding:0;
169
+ }
170
+
171
+ #jump_to:hover #jump_wrapper {
172
+ display: block;
173
+ }
174
+
175
+ #jump_page {
176
+ padding: 5px 0 3px;
177
+ margin: 0 0 25px 25px;
178
+ }
179
+
180
+ #jump_page .source {
181
+ display: block;
182
+ padding: 15px;
183
+ text-decoration: none;
184
+ border-top: 1px solid #eee;
185
+ }
186
+
187
+ #jump_page .source:hover {
188
+ background: #f5f5ff;
189
+ }
190
+
191
+ #jump_page .source:first-child {
192
+ }
193
+
194
+ /*---------------------- Low resolutions (> 320px) ---------------------*/
195
+ @media only screen and (min-width: 320px) {
196
+ .pilwrap { display: none; }
197
+
198
+ ul.sections > li > div {
199
+ display: block;
200
+ padding:5px 10px 0 10px;
201
+ }
202
+
203
+ ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
204
+ padding-left: 30px;
205
+ }
206
+
207
+ ul.sections > li > div.content {
208
+ background: #f5f5ff;
209
+ overflow-x:auto;
210
+ -webkit-box-shadow: inset 0 0 5px #e5e5ee;
211
+ box-shadow: inset 0 0 5px #e5e5ee;
212
+ border: 1px solid #dedede;
213
+ margin:5px 10px 5px 10px;
214
+ padding-bottom: 5px;
215
+ }
216
+
217
+ ul.sections > li > div.annotation pre {
218
+ margin: 7px 0 7px;
219
+ padding-left: 15px;
220
+ }
221
+
222
+ ul.sections > li > div.annotation p tt, .annotation code {
223
+ background: #f8f8ff;
224
+ border: 1px solid #dedede;
225
+ font-size: 12px;
226
+ padding: 0 0.2em;
227
+ }
53
228
  }
229
+
230
+ /*---------------------- (> 481px) ---------------------*/
231
+ @media only screen and (min-width: 481px) {
232
+ #container {
233
+ position: relative;
234
+ }
235
+ body {
236
+ background-color: #F5F5FF;
237
+ font-size: 15px;
238
+ line-height: 21px;
239
+ }
240
+ pre, tt, code {
241
+ line-height: 18px;
242
+ }
243
+ p, ul, ol {
244
+ margin: 0 0 15px;
245
+ }
246
+
247
+
248
+ #jump_to {
249
+ padding: 5px 10px;
250
+ }
54
251
  #jump_wrapper {
55
252
  padding: 0;
253
+ }
254
+ #jump_to, #jump_page {
255
+ font: 10px Arial;
256
+ text-transform: uppercase;
257
+ }
258
+ #jump_page .source {
259
+ padding: 5px 10px;
260
+ }
261
+ #jump_to a.large {
262
+ display: inline-block;
263
+ }
264
+ #jump_to a.small {
56
265
  display: none;
57
266
  }
58
- #jump_to:hover #jump_wrapper {
59
- display: block;
60
- }
61
- #jump_page {
62
- padding: 5px 0 3px;
63
- margin: 0 0 25px 25px;
64
- }
65
- #jump_page .source {
66
- display: block;
67
- padding: 5px 10px;
68
- text-decoration: none;
69
- border-top: 1px solid #eee;
70
- }
71
- #jump_page .source:hover {
72
- background: #f5f5ff;
73
- }
74
- #jump_page .source:first-child {
75
- }
76
- table td {
77
- border: 0;
78
- outline: 0;
79
- }
80
- td.docs, th.docs {
81
- max-width: 450px;
82
- min-width: 450px;
267
+
268
+
269
+
270
+ #background {
271
+ position: absolute;
272
+ top: 0; bottom: 0;
273
+ width: 350px;
274
+ background: #fff;
275
+ border-right: 1px solid #e5e5ee;
276
+ z-index: -1;
277
+ }
278
+
279
+ ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
280
+ padding-left: 40px;
281
+ }
282
+
283
+ ul.sections > li {
284
+ white-space: nowrap;
285
+ }
286
+
287
+ ul.sections > li > div {
288
+ display: inline-block;
289
+ }
290
+
291
+ ul.sections > li > div.annotation {
292
+ max-width: 350px;
293
+ min-width: 350px;
83
294
  min-height: 5px;
84
- padding: 10px 25px 1px 50px;
295
+ padding: 13px;
85
296
  overflow-x: hidden;
297
+ white-space: normal;
86
298
  vertical-align: top;
87
299
  text-align: left;
88
300
  }
89
- .docs pre {
90
- margin: 15px 0 15px;
91
- padding-left: 15px;
92
- }
93
- .docs p tt, .docs p code {
94
- background: #f8f8ff;
95
- border: 1px solid #dedede;
96
- font-size: 12px;
97
- padding: 0 0.2em;
98
- }
99
- .pilwrap {
100
- position: relative;
101
- }
102
- .pilcrow {
103
- font: 12px Arial;
104
- text-decoration: none;
105
- color: #454545;
106
- position: absolute;
107
- top: 3px; left: -20px;
108
- padding: 1px 2px;
109
- opacity: 0;
110
- -webkit-transition: opacity 0.2s linear;
111
- }
112
- td.docs:hover .pilcrow {
113
- opacity: 1;
114
- }
115
- td.code, th.code {
116
- padding: 14px 15px 16px 25px;
117
- width: 100%;
301
+ ul.sections > li > div.annotation pre {
302
+ margin: 15px 0 15px;
303
+ padding-left: 15px;
304
+ }
305
+
306
+ ul.sections > li > div.content {
307
+ padding: 13px;
118
308
  vertical-align: top;
119
309
  background: #f5f5ff;
120
- border-left: 1px solid #e5e5ee;
310
+ border: none;
311
+ -webkit-box-shadow: none;
312
+ box-shadow: none;
121
313
  }
122
- pre, tt, code {
123
- font-size: 12px; line-height: 18px;
124
- font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
125
- margin: 0; padding: 0;
314
+
315
+ .pilwrap {
316
+ position: relative;
317
+ display: inline;
318
+ }
319
+
320
+ .pilcrow {
321
+ font: 12px Arial;
322
+ text-decoration: none;
323
+ color: #454545;
324
+ position: absolute;
325
+ top: 3px; left: -20px;
326
+ padding: 1px 2px;
327
+ opacity: 0;
328
+ -webkit-transition: opacity 0.2s linear;
329
+ }
330
+ .for-h1 .pilcrow {
331
+ top: 47px;
332
+ }
333
+ .for-h2 .pilcrow, .for-h3 .pilcrow, .for-h4 .pilcrow {
334
+ top: 35px;
126
335
  }
127
336
 
337
+ ul.sections > li > div.annotation:hover .pilcrow {
338
+ opacity: 1;
339
+ }
340
+ }
341
+
342
+ /*---------------------- (> 1025px) ---------------------*/
343
+ @media only screen and (min-width: 1025px) {
344
+
345
+ body {
346
+ font-size: 16px;
347
+ line-height: 24px;
348
+ }
349
+
350
+ #background {
351
+ width: 525px;
352
+ }
353
+ ul.sections > li > div.annotation {
354
+ max-width: 525px;
355
+ min-width: 525px;
356
+ padding: 10px 25px 1px 50px;
357
+ }
358
+ ul.sections > li > div.content {
359
+ padding: 9px 15px 16px 25px;
360
+ }
361
+ }
128
362
 
129
363
  /*---------------------- Syntax Highlighting -----------------------------*/
364
+
130
365
  td.linenos { background-color: #f0f0f0; padding-right: 10px; }
131
366
  span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
132
- body .hll { background-color: #ffffcc }
133
- body .c { color: #408080; font-style: italic } /* Comment */
134
- body .err { border: 1px solid #FF0000 } /* Error */
135
- body .k { color: #954121 } /* Keyword */
136
- body .o { color: #666666 } /* Operator */
137
- body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
138
- body .cp { color: #BC7A00 } /* Comment.Preproc */
139
- body .c1 { color: #408080; font-style: italic } /* Comment.Single */
140
- body .cs { color: #408080; font-style: italic } /* Comment.Special */
141
- body .gd { color: #A00000 } /* Generic.Deleted */
142
- body .ge { font-style: italic } /* Generic.Emph */
143
- body .gr { color: #FF0000 } /* Generic.Error */
144
- body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
145
- body .gi { color: #00A000 } /* Generic.Inserted */
146
- body .go { color: #808080 } /* Generic.Output */
147
- body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
148
- body .gs { font-weight: bold } /* Generic.Strong */
149
- body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
150
- body .gt { color: #0040D0 } /* Generic.Traceback */
151
- body .kc { color: #954121 } /* Keyword.Constant */
152
- body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
153
- body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
154
- body .kp { color: #954121 } /* Keyword.Pseudo */
155
- body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
156
- body .kt { color: #B00040 } /* Keyword.Type */
157
- body .m { color: #666666 } /* Literal.Number */
158
- body .s { color: #219161 } /* Literal.String */
159
- body .na { color: #7D9029 } /* Name.Attribute */
160
- body .nb { color: #954121 } /* Name.Builtin */
161
- body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
162
- body .no { color: #880000 } /* Name.Constant */
163
- body .nd { color: #AA22FF } /* Name.Decorator */
164
- body .ni { color: #999999; font-weight: bold } /* Name.Entity */
165
- body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
166
- body .nf { color: #0000FF } /* Name.Function */
167
- body .nl { color: #A0A000 } /* Name.Label */
168
- body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
169
- body .nt { color: #954121; font-weight: bold } /* Name.Tag */
170
- body .nv { color: #19469D } /* Name.Variable */
171
- body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
172
- body .w { color: #bbbbbb } /* Text.Whitespace */
173
- body .mf { color: #666666 } /* Literal.Number.Float */
174
- body .mh { color: #666666 } /* Literal.Number.Hex */
175
- body .mi { color: #666666 } /* Literal.Number.Integer */
176
- body .mo { color: #666666 } /* Literal.Number.Oct */
177
- body .sb { color: #219161 } /* Literal.String.Backtick */
178
- body .sc { color: #219161 } /* Literal.String.Char */
179
- body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
180
- body .s2 { color: #219161 } /* Literal.String.Double */
181
- body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
182
- body .sh { color: #219161 } /* Literal.String.Heredoc */
183
- body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
184
- body .sx { color: #954121 } /* Literal.String.Other */
185
- body .sr { color: #BB6688 } /* Literal.String.Regex */
186
- body .s1 { color: #219161 } /* Literal.String.Single */
187
- body .ss { color: #19469D } /* Literal.String.Symbol */
188
- body .bp { color: #954121 } /* Name.Builtin.Pseudo */
189
- body .vc { color: #19469D } /* Name.Variable.Class */
190
- body .vg { color: #19469D } /* Name.Variable.Global */
191
- body .vi { color: #19469D } /* Name.Variable.Instance */
192
- body .il { color: #666666 } /* Literal.Number.Integer.Long */
367
+ /*
368
+
369
+ github.com style (c) Vasily Polovnyov <vast@whiteants.net>
370
+
371
+ */
372
+
373
+ pre code {
374
+ display: block; padding: 0.5em;
375
+ color: #000;
376
+ background: #f8f8ff
377
+ }
378
+
379
+ pre .comment,
380
+ pre .template_comment,
381
+ pre .diff .header,
382
+ pre .javadoc {
383
+ color: #408080;
384
+ font-style: italic
385
+ }
386
+
387
+ pre .keyword,
388
+ pre .assignment,
389
+ pre .literal,
390
+ pre .css .rule .keyword,
391
+ pre .winutils,
392
+ pre .javascript .title,
393
+ pre .lisp .title,
394
+ pre .subst {
395
+ color: #954121;
396
+ /*font-weight: bold*/
397
+ }
398
+
399
+ pre .number,
400
+ pre .hexcolor {
401
+ color: #40a070
402
+ }
403
+
404
+ pre .string,
405
+ pre .tag .value,
406
+ pre .phpdoc,
407
+ pre .tex .formula {
408
+ color: #219161;
409
+ }
410
+
411
+ pre .title,
412
+ pre .id {
413
+ color: #19469D;
414
+ }
415
+ pre .params {
416
+ color: #00F;
417
+ }
418
+
419
+ pre .javascript .title,
420
+ pre .lisp .title,
421
+ pre .subst {
422
+ font-weight: normal
423
+ }
424
+
425
+ pre .class .title,
426
+ pre .haskell .label,
427
+ pre .tex .command {
428
+ color: #458;
429
+ font-weight: bold
430
+ }
431
+
432
+ pre .tag,
433
+ pre .tag .title,
434
+ pre .rules .property,
435
+ pre .django .tag .keyword {
436
+ color: #000080;
437
+ font-weight: normal
438
+ }
439
+
440
+ pre .attribute,
441
+ pre .variable,
442
+ pre .instancevar,
443
+ pre .lisp .body {
444
+ color: #008080
445
+ }
446
+
447
+ pre .regexp {
448
+ color: #B68
449
+ }
450
+
451
+ pre .class {
452
+ color: #458;
453
+ font-weight: bold
454
+ }
455
+
456
+ pre .symbol,
457
+ pre .ruby .symbol .string,
458
+ pre .ruby .symbol .keyword,
459
+ pre .ruby .symbol .keymethods,
460
+ pre .lisp .keyword,
461
+ pre .tex .special,
462
+ pre .input_number {
463
+ color: #990073
464
+ }
465
+
466
+ pre .builtin,
467
+ pre .constructor,
468
+ pre .built_in,
469
+ pre .lisp .title {
470
+ color: #0086b3
471
+ }
472
+
473
+ pre .preprocessor,
474
+ pre .pi,
475
+ pre .doctype,
476
+ pre .shebang,
477
+ pre .cdata {
478
+ color: #999;
479
+ font-weight: bold
480
+ }
481
+
482
+ pre .deletion {
483
+ background: #fdd
484
+ }
485
+
486
+ pre .addition {
487
+ background: #dfd
488
+ }
489
+
490
+ pre .diff .change {
491
+ background: #0086b3
492
+ }
493
+
494
+ pre .chunk {
495
+ color: #aaa
496
+ }
497
+
498
+ pre .tex .formula {
499
+ opacity: 0.5;
500
+ }