Module: AnkiConnect::Client::NoteTypes
- Included in:
- AnkiConnect::Client
- Defined in:
- lib/anki_connect/note_types.rb
Overview
Methods to create and modify note types.
Instance Method Summary collapse
-
#add_note_type_field(note_type_name, field_name, index: nil) ⇒ nil
Adds a field to a note type.
-
#add_note_type_template(note_type_name, template) ⇒ nil
Adds a template to a note type.
-
#create_note_type(name:, fields:, templates:, css: nil, cloze: false) ⇒ Hash
Creates a new note type.
-
#find_and_replace_in_note_type(note_type_name: nil, find:, replace:, front: true, back: true, css: true) ⇒ Integer
Find and replace in note type templates/CSS.
-
#note_type_field_descriptions(note_type_name) ⇒ Array<String>
Gets field descriptions for a note type.
-
#note_type_field_fonts(note_type_name) ⇒ Hash
Gets field fonts and sizes for a note type.
-
#note_type_field_names(note_type_name) ⇒ Array<String>
Gets field names for a note type.
-
#note_type_fields_on_templates(note_type_name) ⇒ Hash
Gets fields used on templates.
-
#note_type_name_from_id(note_type_id) ⇒ String
Gets a note type name by ID.
-
#note_type_names ⇒ Array<String>
Gets complete list of note type names.
-
#note_type_names_and_ids ⇒ Hash
Gets note type names with their IDs.
-
#note_type_styling(note_type_name) ⇒ Hash
Gets CSS styling for a note type.
-
#note_type_templates(note_type_name) ⇒ Hash
Gets templates for a note type.
-
#note_types_by_id(ids) ⇒ Array<Hash>
Gets note types by ID.
-
#note_types_by_name(names) ⇒ Array<Hash>
Gets note types by name.
-
#remove_note_type_field(note_type_name, field_name) ⇒ nil
Removes a field from a note type.
-
#remove_note_type_template(note_type_name, template_name) ⇒ nil
Removes a template from a note type.
-
#rename_note_type_field(note_type_name, from:, to:) ⇒ nil
Renames a field.
-
#rename_note_type_template(note_type_name, from:, to:) ⇒ nil
Renames a template.
-
#reposition_note_type_field(note_type_name, field_name, index) ⇒ nil
Moves a field to a new position.
-
#reposition_note_type_template(note_type_name, template_name, index) ⇒ nil
Moves a template to a new position.
-
#set_note_type_field_description(note_type_name, field_name, description) ⇒ Boolean
Sets description for a field.
-
#set_note_type_field_font(note_type_name, field_name, font) ⇒ nil
Sets font for a field.
-
#set_note_type_field_font_size(note_type_name, field_name, size) ⇒ nil
Sets font size for a field.
-
#update_note_type_styling(name, css:) ⇒ nil
Updates CSS styling for a note type.
-
#update_note_type_templates(name, templates) ⇒ nil
Updates templates for a note type.
Instance Method Details
#add_note_type_field(note_type_name, field_name, index: nil) ⇒ nil
Adds a field to a note type.
215 216 217 218 219 |
# File 'lib/anki_connect/note_types.rb', line 215 def add_note_type_field(note_type_name, field_name, index: nil) params = { modelName: note_type_name, fieldName: field_name } params[:index] = index if index request(:modelFieldAdd, **params) end |
#add_note_type_template(note_type_name, template) ⇒ nil
Adds a template to a note type.
176 177 178 |
# File 'lib/anki_connect/note_types.rb', line 176 def add_note_type_template(note_type_name, template) request(:modelTemplateAdd, modelName: note_type_name, template: normalize_template(template)) end |
#create_note_type(name:, fields:, templates:, css: nil, cloze: false) ⇒ Hash
Creates a new note type.
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/anki_connect/note_types.rb', line 85 def create_note_type(name:, fields:, templates:, css: nil, cloze: false) params = { modelName: name, inOrderFields: fields, cardTemplates: templates.map { |template| normalize_template(template) }, isCloze: cloze } params[:css] = css if css request(:createModel, **params) end |
#find_and_replace_in_note_type(note_type_name: nil, find:, replace:, front: true, back: true, css: true) ⇒ Integer
Find and replace in note type templates/CSS.
139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/anki_connect/note_types.rb', line 139 def find_and_replace_in_note_type(note_type_name: nil, find:, replace:, front: true, back: true, css: true) request( :findAndReplaceInModels, modelName: note_type_name, findText: find, replaceText: replace, front: front, back: back, css: css ) end |
#note_type_field_descriptions(note_type_name) ⇒ Array<String>
Gets field descriptions for a note type.
57 58 59 |
# File 'lib/anki_connect/note_types.rb', line 57 def note_type_field_descriptions(note_type_name) request(:modelFieldDescriptions, modelName: note_type_name) end |
#note_type_field_fonts(note_type_name) ⇒ Hash
Gets field fonts and sizes for a note type.
65 66 67 |
# File 'lib/anki_connect/note_types.rb', line 65 def note_type_field_fonts(note_type_name) request(:modelFieldFonts, modelName: note_type_name) end |
#note_type_field_names(note_type_name) ⇒ Array<String>
Gets field names for a note type.
49 50 51 |
# File 'lib/anki_connect/note_types.rb', line 49 def note_type_field_names(note_type_name) request(:modelFieldNames, modelName: note_type_name) end |
#note_type_fields_on_templates(note_type_name) ⇒ Hash
Gets fields used on templates.
73 74 75 |
# File 'lib/anki_connect/note_types.rb', line 73 def note_type_fields_on_templates(note_type_name) request(:modelFieldsOnTemplates, modelName: note_type_name) end |
#note_type_name_from_id(note_type_id) ⇒ String
Gets a note type name by ID.
25 26 27 |
# File 'lib/anki_connect/note_types.rb', line 25 def note_type_name_from_id(note_type_id) request(:modelNameFromId, modelId: note_type_id) end |
#note_type_names ⇒ Array<String>
Gets complete list of note type names.
10 11 12 |
# File 'lib/anki_connect/note_types.rb', line 10 def note_type_names request(:modelNames) end |
#note_type_names_and_ids ⇒ Hash
Gets note type names with their IDs.
17 18 19 |
# File 'lib/anki_connect/note_types.rb', line 17 def note_type_names_and_ids request(:modelNamesAndIds) end |
#note_type_styling(note_type_name) ⇒ Hash
Gets CSS styling for a note type.
108 109 110 |
# File 'lib/anki_connect/note_types.rb', line 108 def note_type_styling(note_type_name) request(:modelStyling, modelName: note_type_name) end |
#note_type_templates(note_type_name) ⇒ Hash
Gets templates for a note type.
100 101 102 |
# File 'lib/anki_connect/note_types.rb', line 100 def note_type_templates(note_type_name) request(:modelTemplates, modelName: note_type_name) end |
#note_types_by_id(ids) ⇒ Array<Hash>
Gets note types by ID.
33 34 35 |
# File 'lib/anki_connect/note_types.rb', line 33 def note_types_by_id(ids) request(:findModelsById, modelIds: ids) end |
#note_types_by_name(names) ⇒ Array<Hash>
Gets note types by name.
41 42 43 |
# File 'lib/anki_connect/note_types.rb', line 41 def note_types_by_name(names) request(:findModelsByName, modelNames: names) end |
#remove_note_type_field(note_type_name, field_name) ⇒ nil
Removes a field from a note type.
226 227 228 |
# File 'lib/anki_connect/note_types.rb', line 226 def remove_note_type_field(note_type_name, field_name) request(:modelFieldRemove, modelName: note_type_name, fieldName: field_name) end |
#remove_note_type_template(note_type_name, template_name) ⇒ nil
Removes a template from a note type.
185 186 187 |
# File 'lib/anki_connect/note_types.rb', line 185 def remove_note_type_template(note_type_name, template_name) request(:modelTemplateRemove, modelName: note_type_name, templateName: template_name) end |
#rename_note_type_field(note_type_name, from:, to:) ⇒ nil
Renames a field.
195 196 197 |
# File 'lib/anki_connect/note_types.rb', line 195 def rename_note_type_field(note_type_name, from:, to:) request(:modelFieldRename, modelName: note_type_name, oldFieldName: from, newFieldName: to) end |
#rename_note_type_template(note_type_name, from:, to:) ⇒ nil
Renames a template.
157 158 159 |
# File 'lib/anki_connect/note_types.rb', line 157 def rename_note_type_template(note_type_name, from:, to:) request(:modelTemplateRename, modelName: note_type_name, oldTemplateName: from, newTemplateName: to) end |
#reposition_note_type_field(note_type_name, field_name, index) ⇒ nil
Moves a field to a new position.
205 206 207 |
# File 'lib/anki_connect/note_types.rb', line 205 def reposition_note_type_field(note_type_name, field_name, index) request(:modelFieldReposition, modelName: note_type_name, fieldName: field_name, index: index) end |
#reposition_note_type_template(note_type_name, template_name, index) ⇒ nil
Moves a template to a new position.
167 168 169 |
# File 'lib/anki_connect/note_types.rb', line 167 def reposition_note_type_template(note_type_name, template_name, index) request(:modelTemplateReposition, modelName: note_type_name, templateName: template_name, index: index) end |
#set_note_type_field_description(note_type_name, field_name, description) ⇒ Boolean
Sets description for a field.
256 257 258 |
# File 'lib/anki_connect/note_types.rb', line 256 def set_note_type_field_description(note_type_name, field_name, description) request(:modelFieldSetDescription, modelName: note_type_name, fieldName: field_name, description: description) end |
#set_note_type_field_font(note_type_name, field_name, font) ⇒ nil
Sets font for a field.
236 237 238 |
# File 'lib/anki_connect/note_types.rb', line 236 def set_note_type_field_font(note_type_name, field_name, font) request(:modelFieldSetFont, modelName: note_type_name, fieldName: field_name, font: font) end |
#set_note_type_field_font_size(note_type_name, field_name, size) ⇒ nil
Sets font size for a field.
246 247 248 |
# File 'lib/anki_connect/note_types.rb', line 246 def set_note_type_field_font_size(note_type_name, field_name, size) request(:modelFieldSetFontSize, modelName: note_type_name, fieldName: field_name, fontSize: size) end |
#update_note_type_styling(name, css:) ⇒ nil
Updates CSS styling for a note type.
126 127 128 |
# File 'lib/anki_connect/note_types.rb', line 126 def update_note_type_styling(name, css:) request(:updateModelStyling, model: { name: name, css: css }) end |
#update_note_type_templates(name, templates) ⇒ nil
Updates templates for a note type.
117 118 119 |
# File 'lib/anki_connect/note_types.rb', line 117 def update_note_type_templates(name, templates) request(:updateModelTemplates, model: { name: name, templates: normalize_template_updates(templates) }) end |