random-words 1.0.5 → 1.0.6

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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec_status +148 -39
  3. data/.rubocop.yml +1 -0
  4. data/CHANGELOG.md +42 -0
  5. data/Gemfile.lock +4 -1
  6. data/README.md +153 -4
  7. data/bin/randw +195 -49
  8. data/lib/random-words/array.rb +51 -0
  9. data/lib/random-words/config.rb +248 -0
  10. data/lib/random-words/generator.rb +239 -93
  11. data/lib/random-words/hash.rb +16 -0
  12. data/lib/random-words/html2markdown.rb +205 -0
  13. data/lib/random-words/lorem-markdown.rb +398 -0
  14. data/lib/random-words/number-to-word.rb +137 -0
  15. data/lib/random-words/source.rb +105 -0
  16. data/lib/random-words/string.rb +221 -47
  17. data/lib/random-words/table-cleanup.rb +210 -0
  18. data/lib/random-words/version.rb +1 -1
  19. data/lib/random-words/words/1984/adjectives.txt +103 -0
  20. data/lib/random-words/words/1984/adverbs.txt +92 -0
  21. data/lib/random-words/words/1984/articles-plural.txt +10 -0
  22. data/lib/random-words/words/1984/articles-singular.txt +10 -0
  23. data/lib/random-words/words/1984/clauses.txt +79 -0
  24. data/lib/random-words/words/1984/config.yml +4 -0
  25. data/lib/random-words/words/1984/conjunctions-coordinating.txt +20 -0
  26. data/lib/random-words/words/1984/conjunctions-subordinate.txt +29 -0
  27. data/lib/random-words/words/1984/names.txt +74 -0
  28. data/lib/random-words/words/1984/nouns-plural.txt +89 -0
  29. data/lib/random-words/words/1984/nouns-singular.txt +74 -0
  30. data/lib/random-words/words/1984/numbers.yml +5 -0
  31. data/lib/random-words/words/1984/prepositions.txt +89 -0
  32. data/lib/random-words/words/1984/terminators.txt +16 -0
  33. data/lib/random-words/words/1984/verbs-passive.txt +83 -0
  34. data/lib/random-words/words/1984/verbs-plural.txt +91 -0
  35. data/lib/random-words/words/1984/verbs-singular.txt +110 -0
  36. data/lib/random-words/words/alice/adjectives.txt +80 -0
  37. data/lib/random-words/words/alice/adverbs.txt +87 -0
  38. data/lib/random-words/words/alice/articles-plural.txt +10 -0
  39. data/lib/random-words/words/alice/articles-singular.txt +10 -0
  40. data/lib/random-words/words/alice/clauses.txt +81 -0
  41. data/lib/random-words/words/alice/config.yml +4 -0
  42. data/lib/random-words/words/alice/conjunctions-coordinating.txt +20 -0
  43. data/lib/random-words/words/alice/conjunctions-subordinate.txt +29 -0
  44. data/lib/random-words/words/alice/names.txt +74 -0
  45. data/lib/random-words/words/alice/nouns-plural.txt +95 -0
  46. data/lib/random-words/words/alice/nouns-singular.txt +82 -0
  47. data/lib/random-words/words/alice/numbers.yml +5 -0
  48. data/lib/random-words/words/alice/prepositions.txt +45 -0
  49. data/lib/random-words/words/alice/terminators.txt +16 -0
  50. data/lib/random-words/words/alice/verbs-passive.txt +495 -0
  51. data/lib/random-words/words/alice/verbs-plural.txt +115 -0
  52. data/lib/random-words/words/alice/verbs-singular.txt +97 -0
  53. data/lib/random-words/words/bacon/clauses.txt +592 -592
  54. data/lib/random-words/words/bacon/config.yml +4 -0
  55. data/lib/random-words/words/bacon/conjunctions-coordinating.txt +20 -0
  56. data/lib/random-words/words/bacon/names.txt +74 -0
  57. data/lib/random-words/words/bacon/numbers.yml +5 -0
  58. data/lib/random-words/words/bacon/prepositions.txt +45 -0
  59. data/lib/random-words/words/bacon/terminators.txt +16 -0
  60. data/lib/random-words/words/corporate/config.yml +4 -0
  61. data/lib/random-words/words/corporate/conjunctions-coordinating.txt +20 -0
  62. data/lib/random-words/words/corporate/names.txt +74 -0
  63. data/lib/random-words/words/corporate/numbers.yml +5 -0
  64. data/lib/random-words/words/corporate/prepositions.txt +45 -0
  65. data/lib/random-words/words/corporate/terminators.txt +16 -0
  66. data/lib/random-words/words/doctor/adjectives.txt +92 -0
  67. data/lib/random-words/words/doctor/adverbs.txt +92 -0
  68. data/lib/random-words/words/doctor/articles-plural.txt +10 -0
  69. data/lib/random-words/words/doctor/articles-singular.txt +10 -0
  70. data/lib/random-words/words/doctor/clauses.txt +83 -0
  71. data/lib/random-words/words/doctor/config.yml +10 -0
  72. data/lib/random-words/words/doctor/conjunctions-coordinating.txt +20 -0
  73. data/lib/random-words/words/doctor/conjunctions-subordinate.txt +29 -0
  74. data/lib/random-words/words/doctor/names.txt +74 -0
  75. data/lib/random-words/words/doctor/nouns-plural.txt +84 -0
  76. data/lib/random-words/words/doctor/nouns-singular.txt +84 -0
  77. data/lib/random-words/words/doctor/numbers.yml +5 -0
  78. data/lib/random-words/words/doctor/prepositions.txt +45 -0
  79. data/lib/random-words/words/doctor/terminators.txt +16 -0
  80. data/lib/random-words/words/doctor/verbs-passive.txt +83 -0
  81. data/lib/random-words/words/doctor/verbs-plural.txt +88 -0
  82. data/lib/random-words/words/doctor/verbs-singular.txt +83 -0
  83. data/lib/random-words/words/english/clauses.txt +592 -592
  84. data/lib/random-words/words/english/config.yml +4 -0
  85. data/lib/random-words/words/english/conjunctions-coordinating.txt +20 -0
  86. data/lib/random-words/words/english/names.txt +74 -0
  87. data/lib/random-words/words/english/numbers.yml +5 -0
  88. data/lib/random-words/words/english/prepositions.txt +45 -0
  89. data/lib/random-words/words/english/terminators.txt +16 -0
  90. data/lib/random-words/words/english/verbs-plural.txt +1 -0
  91. data/lib/random-words/words/english/verbs-singular.txt +1 -0
  92. data/lib/random-words/words/foulmouth/adjectives.txt +89 -0
  93. data/lib/random-words/words/foulmouth/adverbs.txt +97 -0
  94. data/lib/random-words/words/foulmouth/articles-plural.txt +10 -0
  95. data/lib/random-words/words/foulmouth/articles-singular.txt +10 -0
  96. data/lib/random-words/words/foulmouth/clauses.txt +74 -0
  97. data/lib/random-words/words/foulmouth/config.yml +4 -0
  98. data/lib/random-words/words/foulmouth/conjunctions-coordinating.txt +20 -0
  99. data/lib/random-words/words/foulmouth/conjunctions-subordinate.txt +29 -0
  100. data/lib/random-words/words/foulmouth/names.txt +74 -0
  101. data/lib/random-words/words/foulmouth/nouns-plural.txt +96 -0
  102. data/lib/random-words/words/foulmouth/nouns-singular.txt +99 -0
  103. data/lib/random-words/words/foulmouth/numbers.yml +5 -0
  104. data/lib/random-words/words/foulmouth/prepositions.txt +35 -0
  105. data/lib/random-words/words/foulmouth/terminators.txt +16 -0
  106. data/lib/random-words/words/foulmouth/verbs-passive.txt +143 -0
  107. data/lib/random-words/words/foulmouth/verbs-plural.txt +91 -0
  108. data/lib/random-words/words/foulmouth/verbs-singular.txt +104 -0
  109. data/lib/random-words/words/hipster/adjectives.txt +100 -0
  110. data/lib/random-words/words/hipster/adverbs.txt +89 -0
  111. data/lib/random-words/words/hipster/articles-plural.txt +10 -0
  112. data/lib/random-words/words/hipster/articles-singular.txt +10 -0
  113. data/lib/random-words/words/hipster/clauses.txt +180 -0
  114. data/lib/random-words/words/hipster/config.yml +4 -0
  115. data/lib/random-words/words/hipster/conjunctions-coordinating.txt +20 -0
  116. data/lib/random-words/words/hipster/conjunctions-subordinate.txt +29 -0
  117. data/lib/random-words/words/hipster/names.txt +74 -0
  118. data/lib/random-words/words/hipster/nouns-plural.txt +96 -0
  119. data/lib/random-words/words/hipster/nouns-singular.txt +100 -0
  120. data/lib/random-words/words/hipster/numbers.yml +5 -0
  121. data/lib/random-words/words/hipster/prepositions.txt +45 -0
  122. data/lib/random-words/words/hipster/terminators.txt +16 -0
  123. data/lib/random-words/words/hipster/verbs-passive.txt +88 -0
  124. data/lib/random-words/words/hipster/verbs-plural.txt +106 -0
  125. data/lib/random-words/words/hipster/verbs-singular.txt +114 -0
  126. data/lib/random-words/words/latin/config.yml +4 -0
  127. data/lib/random-words/words/latin/conjunctions-coordinating.txt +15 -0
  128. data/lib/random-words/words/latin/names.txt +74 -0
  129. data/lib/random-words/words/latin/numbers.yml +5 -0
  130. data/lib/random-words/words/latin/prepositions.txt +18 -0
  131. data/lib/random-words/words/latin/terminators.txt +16 -0
  132. data/lib/random-words/words/spanish/adjectives.txt +81 -0
  133. data/lib/random-words/words/spanish/adverbs.txt +87 -0
  134. data/lib/random-words/words/spanish/articles-plural.txt +4 -0
  135. data/lib/random-words/words/spanish/articles-singular.txt +4 -0
  136. data/lib/random-words/words/spanish/clauses.txt +74 -0
  137. data/lib/random-words/words/spanish/config.yml +4 -0
  138. data/lib/random-words/words/spanish/conjunctions-coordinating.txt +8 -0
  139. data/lib/random-words/words/spanish/conjunctions-subordinate.txt +16 -0
  140. data/lib/random-words/words/spanish/names.txt +74 -0
  141. data/lib/random-words/words/spanish/nouns-plural.txt +92 -0
  142. data/lib/random-words/words/spanish/nouns-singular.txt +125 -0
  143. data/lib/random-words/words/spanish/numbers.yml +5 -0
  144. data/lib/random-words/words/spanish/prepositions.txt +31 -0
  145. data/lib/random-words/words/spanish/terminators.txt +17 -0
  146. data/lib/random-words/words/spanish/verbs-passive.txt +495 -0
  147. data/lib/random-words/words/spanish/verbs-plural.txt +326 -0
  148. data/lib/random-words/words/spanish/verbs-singular.txt +351 -0
  149. data/lib/random-words/words/veggie/adjectives.txt +111 -0
  150. data/lib/random-words/words/veggie/adverbs.txt +81 -0
  151. data/lib/random-words/words/veggie/articles-plural.txt +10 -0
  152. data/lib/random-words/words/veggie/articles-singular.txt +10 -0
  153. data/lib/random-words/words/veggie/clauses.txt +57 -0
  154. data/lib/random-words/words/veggie/config.yml +4 -0
  155. data/lib/random-words/words/veggie/conjunctions-coordinating.txt +20 -0
  156. data/lib/random-words/words/veggie/conjunctions-subordinate.txt +29 -0
  157. data/lib/random-words/words/veggie/names.txt +74 -0
  158. data/lib/random-words/words/veggie/nouns-plural.txt +78 -0
  159. data/lib/random-words/words/veggie/nouns-singular.txt +105 -0
  160. data/lib/random-words/words/veggie/numbers.yml +5 -0
  161. data/lib/random-words/words/veggie/prepositions.txt +45 -0
  162. data/lib/random-words/words/veggie/terminators.txt +16 -0
  163. data/lib/random-words/words/veggie/verbs-passive.txt +56 -0
  164. data/lib/random-words/words/veggie/verbs-plural.txt +79 -0
  165. data/lib/random-words/words/veggie/verbs-singular.txt +79 -0
  166. data/lib/random-words.rb +28 -0
  167. data/random-words.gemspec +2 -0
  168. data/src/_README.md +153 -4
  169. metadata +168 -7
  170. data/lib/random-words/words/bacon/numbers.txt +0 -21
  171. data/lib/random-words/words/corporate/numbers.txt +0 -21
  172. data/lib/random-words/words/english/numbers.txt +0 -21
  173. data/lib/random-words/words/latin/numbers.txt +0 -21
@@ -0,0 +1,210 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RandomWords
4
+ # Table formatting, cleans up tables in content
5
+ # @api public
6
+ class TableCleanup
7
+ # Max cell width for formatting, defaults to 30
8
+ attr_writer :max_cell_width
9
+ # Max table width for formatting, defaults to 60
10
+ attr_writer :max_table_width
11
+ # The content to process
12
+ attr_writer :content
13
+
14
+ ##
15
+ ## Initialize a table cleaner
16
+ ##
17
+ ## @param content [String] The content to clean
18
+ ## @param options [Hash] The options
19
+ ##
20
+ def initialize(content = nil, options = nil)
21
+ @content = content || ''
22
+ @max_cell_width = options && options[:max_cell_width] ? options[:max_cell_width] : 30
23
+ @max_table_width = options && options[:max_table_width] ? options[:max_table_width] : nil
24
+ end
25
+
26
+ ##
27
+ ## Split a row string on pipes
28
+ ##
29
+ ## @param row [String] The row string
30
+ ##
31
+ ## @return [Array] array of cell strings
32
+ ##
33
+ def parse_cells(row)
34
+ row.split('|').map(&:strip)[1..-1]
35
+ end
36
+
37
+ ##
38
+ ## Builds a formatted table
39
+ ##
40
+ ## @param table [Array<Array>] The table, an array of row arrays
41
+ ##
42
+ ## @return [String] the formatted table
43
+ ##
44
+ def build_table(table)
45
+ @widths = [0] * table.first.size
46
+
47
+ table.each do |row|
48
+ next unless row
49
+
50
+ row.each_with_index do |cell, col|
51
+ if @widths[col]
52
+ @widths[col] = cell.size if @widths[col] < cell.size
53
+ else
54
+ @widths[col] = cell.size
55
+ end
56
+ end
57
+ end
58
+
59
+ @string = String.new
60
+
61
+ first_row = table.shift
62
+ render_row first_row
63
+ render_alignment
64
+
65
+ table.each do |row|
66
+ render_row row
67
+ end
68
+
69
+ @string
70
+ end
71
+
72
+ ##
73
+ ## Align content withing cell based on header alignments
74
+ ##
75
+ ## @param string [String] The string to align
76
+ ## @param width [Integer] The cell width
77
+ ##
78
+ ## @return [String] aligned string
79
+ ##
80
+ def align(alignment, string, width)
81
+ case alignment
82
+ when :left
83
+ string.ljust(width, ' ')
84
+ when :right
85
+ string.rjust(width, ' ')
86
+ when :center
87
+ string.center(width, ' ')
88
+ end
89
+ end
90
+
91
+ ##
92
+ ## Render a row
93
+ ##
94
+ ## @param row [Array] The row of cell contents
95
+ ##
96
+ ## @return [String] the formatted row
97
+ ##
98
+ def render_row(row)
99
+ idx = 0
100
+ @max_cell_width = @max_table_width / row.count if @max_table_width
101
+
102
+ return unless row
103
+
104
+ @string << '|'
105
+ row.zip(@widths).each do |cell, width|
106
+ width = @max_cell_width - 2 if width >= @max_cell_width
107
+ if width.zero?
108
+ @string << '|'
109
+ else
110
+ content = @alignment ? align(@alignment[idx], cell, width) : cell.ljust(width, ' ')
111
+ @string << " #{content} |"
112
+ end
113
+ idx += 1
114
+ end
115
+ @string << "\n"
116
+ end
117
+
118
+ ##
119
+ ## Render the alignment row
120
+ ##
121
+ def render_alignment
122
+ @string << '|'
123
+ return unless @alignment
124
+
125
+ @alignment.zip(@widths).each do |align, width|
126
+ @string << ':' if align == :left
127
+ width = @max_cell_width - 2 if width >= @max_cell_width
128
+ @string << '-' * (width + (align == :center ? 2 : 1))
129
+ @string << ':' if align == :right
130
+ @string << '|'
131
+ end
132
+ @string << "\n"
133
+ end
134
+
135
+ ##
136
+ ## String helpers
137
+ ##
138
+ class ::String
139
+ ##
140
+ ## Ensure leading and trailing pipes
141
+ ##
142
+ ## @return [String] string with pipes
143
+ ##
144
+ def ensure_pipes
145
+ strip.gsub(/^\|?(.*?)\|?$/, '|\1|')
146
+ end
147
+
148
+ def alignment?
149
+ self =~ /^[\s|:-]+$/ ? true : false
150
+ end
151
+ end
152
+
153
+ ##
154
+ ## Clean tables within content
155
+ ##
156
+ def clean
157
+ table_rx = /^(?ix)(?<table>
158
+ (?<header>\|?(?:.*?\|)+.*?)\s*\n
159
+ ((?<align>\|?(?:[:-]+\|)+[:-]*)\s*\n)?
160
+ (?<rows>(?:\|?(?:.*?\|)+.*?(?:\n|\Z))+))/
161
+
162
+ @content = @content.gsub(/(\|?(?:.+?\|)+)\n\|\n/) do
163
+ m = Regexp.last_match
164
+ cells = parse_cells(m[1]).count
165
+ "#{m[1]}\n#{'|' * cells}\n"
166
+ end
167
+
168
+ tables = @content.to_enum(:scan, table_rx).map { Regexp.last_match }
169
+
170
+ tables.each do |t|
171
+ table = []
172
+
173
+ if t['align'].nil?
174
+ cells = parse_cells(t['header'])
175
+ align = "|#{([':---'] * cells.count).join('|')}|"
176
+ else
177
+ align = t['align']
178
+ end
179
+
180
+ next unless parse_cells(align.ensure_pipes)
181
+
182
+ @alignment = parse_cells(align.ensure_pipes).map do |cell|
183
+ if cell[0, 1] == ':' && cell[-1, 1] == ':'
184
+ :center
185
+ elsif cell[-1, 1] == ':'
186
+ :right
187
+ else
188
+ :left
189
+ end
190
+ end
191
+
192
+ lines = t['table'].split(/\n/)
193
+ lines.delete_if(&:alignment?)
194
+
195
+ lines.each do |row|
196
+ # Ensure leading and trailing pipes
197
+ row = row.ensure_pipes
198
+
199
+ cells = parse_cells(row)
200
+
201
+ table << cells
202
+ end
203
+
204
+ @content.sub!(/#{Regexp.escape(t['table'])}/, "#{build_table(table)}\n")
205
+ end
206
+
207
+ @content
208
+ end
209
+ end
210
+ end
@@ -1,4 +1,4 @@
1
1
  module RandomWords
2
2
  # The version of the RandomWords gem.
3
- VERSION = '1.0.5'
3
+ VERSION = '1.0.6'
4
4
  end
@@ -0,0 +1,103 @@
1
+ alienated
2
+ ambiguous
3
+ anxious
4
+ authoritarian
5
+ bleak
6
+ bleeding
7
+ calculating
8
+ censored
9
+ chaotic
10
+ clandestine
11
+ cold
12
+ complicit
13
+ compromised
14
+ conflicted
15
+ conformist
16
+ controlled
17
+ courageous
18
+ critical
19
+ cynical
20
+ dark
21
+ deceptive
22
+ defeated
23
+ defective
24
+ defiant
25
+ dehumanizing
26
+ demoralizing
27
+ desolate
28
+ desperate
29
+ disconnected
30
+ disempowered
31
+ disenchanted
32
+ disillusioned
33
+ disorienting
34
+ divided
35
+ drained
36
+ dystopian
37
+ encouraging
38
+ exhausted
39
+ existential
40
+ exploited
41
+ faceless
42
+ fearful
43
+ foreboding
44
+ forgotten
45
+ fragmented
46
+ futile
47
+ grim
48
+ harsh
49
+ historical
50
+ hopeless
51
+ hostile
52
+ humiliating
53
+ idealistic
54
+ indifferent
55
+ inevitable
56
+ insidious
57
+ intimidating
58
+ intrusive
59
+ ironic
60
+ isolated
61
+ isolating
62
+ manipulative
63
+ mechanical
64
+ monotonous
65
+ obedient
66
+ ominous
67
+ oppressive
68
+ paranoid
69
+ profound
70
+ propagandistic
71
+ prophetic
72
+ rebellious
73
+ reliable
74
+ repressive
75
+ resigned
76
+ resilient
77
+ revolutionary
78
+ robotic
79
+ selfish
80
+ shadowy
81
+ shattered
82
+ silenced
83
+ silent
84
+ strategic
85
+ submissive
86
+ subversive
87
+ suffering
88
+ surveillance
89
+ suspicious
90
+ tortured
91
+ totalitarian
92
+ trapped
93
+ unbearable
94
+ unforgiving
95
+ unheard
96
+ uniform
97
+ unreliable
98
+ unseen
99
+ unsettling
100
+ unstable
101
+ untrustworthy
102
+ volatile
103
+ vulnerable
@@ -0,0 +1,92 @@
1
+ anxiously
2
+ bitterly
3
+ bleakly
4
+ bravely
5
+ carefully
6
+ cautiously
7
+ cleverly
8
+ coldly
9
+ conformingly
10
+ consciously
11
+ constantly
12
+ courageously
13
+ cynically
14
+ darkly
15
+ deceptively
16
+ deliberately
17
+ despairingly
18
+ desperately
19
+ despondently
20
+ disbelievingly
21
+ dispassionately
22
+ distrustfully
23
+ disturbingly
24
+ doubtfully
25
+ dully
26
+ emotionally
27
+ emotionlessly
28
+ fatiguedly
29
+ fearfully
30
+ fearlessly
31
+ fervently
32
+ frequently
33
+ grimly
34
+ harrowingly
35
+ harshly
36
+ hastily
37
+ hopelessly
38
+ incessantly
39
+ indifferently
40
+ ineffectively
41
+ inevitably
42
+ inexorably
43
+ insidiously
44
+ intensely
45
+ intentionally
46
+ ironically
47
+ joylessly
48
+ mechanically
49
+ mercilessly
50
+ methodically
51
+ nervously
52
+ obediently
53
+ oppressively
54
+ painfully
55
+ painstakingly
56
+ persistently
57
+ privately
58
+ publicly
59
+ quickly
60
+ relentlessly
61
+ reluctantly
62
+ repeatedly
63
+ resentfully
64
+ resignedly
65
+ resolutely
66
+ robotically
67
+ sardonically
68
+ secretly
69
+ selflessly
70
+ severely
71
+ shrewdly
72
+ silently
73
+ sneakily
74
+ sorrowfully
75
+ strategically
76
+ submissively
77
+ subtly
78
+ suspiciously
79
+ tactically
80
+ trickily
81
+ uncomfortably
82
+ unemotionally
83
+ unfeelingly
84
+ unforgivingly
85
+ unhappily
86
+ unpredictably
87
+ unquestioningly
88
+ unrelentingly
89
+ unsettlingly
90
+ unwaveringly
91
+ vigilantly
92
+ wearily
@@ -0,0 +1,10 @@
1
+ all
2
+ either
3
+ few
4
+ many
5
+ several
6
+ some
7
+ these
8
+ those
9
+ three
10
+ two
@@ -0,0 +1,10 @@
1
+ a
2
+ an
3
+ the
4
+ each
5
+ every
6
+ neither
7
+ any
8
+ one
9
+ this
10
+ that
@@ -0,0 +1,79 @@
1
+ when Winston begins to question the Party's ideology
2
+ as Julia and Winston develop a secret relationship
3
+ while Big Brother's image looms over society
4
+ after Winston reads the forbidden book
5
+ because the Thought Police constantly surveil citizens
6
+ if the Party manipulates historical records
7
+ that the Ministry of Truth alters facts
8
+ before Winston and Julia meet in secret
9
+ since the telescreens monitor every action
10
+ although the Party claims to provide security
11
+ while the proles remain largely ignored
12
+ as Winston dreams of a rebellion
13
+ if the concept of Newspeak limits thought
14
+ when the Two Minutes Hate occurs daily
15
+ because Winston feels trapped in a totalitarian regime
16
+ that O'Brien pretends to be a rebel
17
+ while Winston writes in his diary
18
+ after Julia brings Winston a note
19
+ as the Party controls language and thought
20
+ if the concept of doublethink is pervasive
21
+ when the Party announces a war with Eurasia
22
+ because the past is rewritten to suit the Party's needs
23
+ although Winston seeks truth and freedom
24
+ while the Party uses fear to maintain control
25
+ if Winston's loyalty is tested
26
+ that the Brotherhood is a possible resistance group
27
+ when Orwell illustrates the dangers of totalitarianism
28
+ as the concept of reality is manipulated
29
+ if the Party's slogans are paradoxical
30
+ when Winston recalls his childhood memories
31
+ because O'Brien betrays Winston's trust
32
+ although love is seen as a rebellion
33
+ while the Party's propaganda fills the airwaves
34
+ after Winston faces torture in Room 101
35
+ that the Ministry of Love is a place of terror
36
+ if the proles are the only hope for change
37
+ when the Party enforces strict conformity
38
+ because individuality is crushed by the state
39
+ although Winston yearns for freedom
40
+ while the Party's control extends to personal lives
41
+ if the concept of a surveillance state is explored
42
+ as Winston realizes the futility of rebellion
43
+ when the Party’s motto is "War is Peace"
44
+ because the Party seeks absolute power
45
+ that the past is a malleable construct
46
+ if Winston's rebellion is ultimately futile
47
+ when the telescreens invade privacy
48
+ as the Party employs psychological manipulation
49
+ if the concept of loyalty is distorted
50
+ when O'Brien reveals the truth about the Party
51
+ because love is deemed a subversive act
52
+ while the Party's leaders live in luxury
53
+ if the Party uses constant surveillance
54
+ that the Party controls all aspects of life
55
+ when Winston meets O'Brien in the Ministry of Love
56
+ because the Party's ideology is all-encompassing
57
+ although hope seems lost for Winston
58
+ while the Party creates a culture of fear
59
+ if the concept of identity is questioned
60
+ when Winston yearns for a connection with others
61
+ that betrayal is a common theme in the novel
62
+ if the Party's language diminishes critical thought
63
+ when Winston finally succumbs to the Party's power
64
+ because the idea of freedom is redefined
65
+ while the proles remain unaware of their power
66
+ if the Party uses technology to oppress
67
+ that the concept of truth is subjective
68
+ when the novel ends with Winston's acceptance of the Party
69
+ because Winston's journey reflects a struggle for autonomy
70
+ although the Party's influence is pervasive
71
+ when the concept of reality is challenged
72
+ as the Party rewrites history to maintain control
73
+ if the struggle for individuality is central
74
+ when Winston's dreams are filled with despair
75
+ that resistance is portrayed as a dangerous endeavor
76
+ if the Party's methods are brutal and effective
77
+ when the importance of language is highlighted
78
+ because the Party creates an illusion of happiness
79
+ while the struggle for truth permeates the narrative
@@ -0,0 +1,4 @@
1
+ ---
2
+ name: Nineteen Eighty-Four
3
+ description: A dystopian novel by George Orwell
4
+ triggers: [1984, dystopian, orwellian]
@@ -0,0 +1,20 @@
1
+ and
2
+ but
3
+ or
4
+ nor
5
+ for
6
+ so
7
+ yet
8
+ although
9
+ because
10
+ since
11
+ unless
12
+ while
13
+ whereas
14
+ if
15
+ even though
16
+ as
17
+ before
18
+ after
19
+ until
20
+ whether
@@ -0,0 +1,29 @@
1
+ although
2
+ as
3
+ as far as
4
+ as if
5
+ as long as
6
+ as much as
7
+ as though
8
+ because
9
+ before
10
+ even if
11
+ even though
12
+ if
13
+ in case
14
+ in order that
15
+ once
16
+ provided that
17
+ rather than
18
+ since
19
+ so that
20
+ than
21
+ that
22
+ though
23
+ until
24
+ when
25
+ whenever
26
+ where
27
+ wherever
28
+ whether
29
+ while
@@ -0,0 +1,74 @@
1
+ John
2
+ Jane
3
+ Mary
4
+ Michael
5
+ Sarah
6
+ David
7
+ Emily
8
+ James
9
+ Jessica
10
+ Robert
11
+ Linda
12
+ William
13
+ Patricia
14
+ Brett
15
+ Ashley
16
+ Matthew
17
+ Jennifer
18
+ Yasmin
19
+
20
+ Smith
21
+ Johnson
22
+ Williams
23
+ Brown
24
+ Jones
25
+ Garcia
26
+ Miller
27
+ Davis
28
+ Rodriguez
29
+ Martinez
30
+ Hernandez
31
+ Lopez
32
+ Gonzalez
33
+ Wilson
34
+ Anderson
35
+ Taylor
36
+ Thomas
37
+ Moore
38
+ Jackson
39
+ Martin
40
+ Lee
41
+ Perez
42
+ Thompson
43
+ White
44
+ Harris
45
+ Sanchez
46
+ Clark
47
+ Ramirez
48
+ Lewis
49
+ Robinson
50
+ Walker
51
+ Young
52
+ Allen
53
+ King
54
+ Wright
55
+ Scott
56
+ Torres
57
+ Nguyen
58
+ Hill
59
+ Flores
60
+ Green
61
+ Adams
62
+ Nelson
63
+ Baker
64
+ Hall
65
+ Rivera
66
+ Campbell
67
+ Mitchell
68
+ Carter
69
+ Roberts
70
+ Gomez
71
+ Phillips
72
+ Evans
73
+ Turner
74
+ Diaz