actualNoteContentPart: ## app.settings
  An object containing the user-configured settings for the plugin. All values will be strings.
  
  ```
  {  insertText(app) {    return app.settings["Some setting"];  }} 
  ```
  
  This will insert the string the user has entered for "Some setting", assuming the plugin metadata table includes:
  
  | setting | Some setting | 
  
  ## app.unpublishNote
  Arguments
  	[noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)  describing the note to publish. Must be a remotely-persisted note.
  Returns
  	boolean indicating whether the note is (now) not published
  Throws
  	If network connectivity is not available
  ```
  {  async noteOption(app, noteUUID) {    await app.unpublishNote(noteUUID);  }}
  ```
  
  ## app.updateNoteImage
  Update an image in a specific note.
  Arguments
  	[noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)  identifying the note to update an image in
  	[image](/help/developing_amplenote_plugins/appendix_i#image)  identifying the image to update - only the index and src keys are necessary
  	object describing the updates to the image, which can contain the properties described in by [image](/help/developing_amplenote_plugins/appendix_i#image) , with the exception of the index property
  Returns
  	boolean indicating whether the image could be updated
  Throws
  	If the given markdown is not valid in an image caption
  
  ```
  {  async noteOption(app, noteUUID) {    const noteHandle = { uuid: noteUUID };    const images = await app.getNoteImages(noteHandle);     for (let i = 0; i < images.length; i++) {      const image = images[i];      await app.updateNoteImage(noteHandle, image, { caption: "**new caption**" });    }  }} 
  ```
  
  ## app.updateTask
  Update the properties or content of a single task.
  Arguments
  	String UUID identifying the task
  	object containing (optional) updates to apply to the task. All properties listed for a [task](/help/developing_amplenote_plugins/appendix_i#task)  are supported, except the uuid
  Returns
  	boolean indicating whether the task could be updated. If the given task UUID doesn't correspond to any existing task, will return false
  ```
  {  async insertText(app) {    const taskUUID = app.context.taskUUID;    if (!taskUUID) return null; // Cursor is not in a task     await app.updateTask(taskUUID, { completedAt: Math.floor(Date.now() / 1000) });     return "";  }} 
  ```
  
  ## app.writeClipboardData
  Write to the clipboard. The [plugin code execution environment](/help/developing_amplenote_plugins/appendix_ii)  can prevent use of clipboard APIs in some browsers, so this app function is provided for full cross-platform support.
  Arguments
  	String data to copy to the clipboard. For non-string mime types, should be base64 encoded data.
  	Optional String mime type of data, defaults to "text/plain". The following mime types are allowed:
  		"text/plain" - data argument should be the text to copy to the clipboard
  		"image/png" - data argument should be base64 encoded image data
  Returns
  	Nothing
  Throws
  	If an unsupported mime type argument is supplied
  	If base64 data is not validly base64 encoded 
  ```
   {   async noteOption(app, noteUUID) {     await app.writeClipboardData(noteUUID);     await app.alert("Note UUID copied to clipboard");   } }
  ```
processedNoteContent: ---
  title: App Interface: Plugin methods to interact with ...
  headers: ## app.settings
  ---
  app.settings
  An object containing the user-configured settings for the plugin. All values will be strings. {  insertText(app) {    return app.settings["Some setting"];  }} 
  This will insert the string the user has entered for "Some setting", assuming the plugin metadata table includes: | setting | Some setting | 
  app.unpublishNote
  Arguments
  [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)
    describing the note to publish. Must be a remotely-persisted note.
  Returns
  boolean indicating whether the note is (now) not published
  Throws
  If network connectivity is not available {  async noteOption(app, noteUUID) {    await app.unpublishNote(noteUUID);  }}
  
  app.updateNoteImage
  Update an image in a specific note.
  Arguments
  [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)
    identifying the note to update an image in
  [image](/help/developing_amplenote_plugins/appendix_i#image)
    identifying the image to update - only the index and src keys are necessary
  object describing the updates to the image, which can contain the properties described in by [image](/help/developing_amplenote_plugins/appendix_i#image)
   , with the exception of the index property
  Returns
  boolean indicating whether the image could be updated
  Throws
  If the given markdown is not valid in an image caption {  async noteOption(app, noteUUID) {    const noteHandle = { uuid: noteUUID };    const images = await app.getNoteImages(noteHandle);     for (let i = 0; i < images.length; i++) {      const image = images[i];      await app.updateNoteImage(noteHandle, image, { caption: "**new caption**" });    }  }} 
  
  app.updateTask
  Update the properties or content of a single task.
  Arguments
  String UUID identifying the task
  object containing (optional) updates to apply to the task. All properties listed for a [task](/help/developing_amplenote_plugins/appendix_i#task)
    are supported, except the uuid
  Returns
  boolean indicating whether the task could be updated. If the given task UUID doesn't correspond to any existing task, will return false {  async insertText(app) {    const taskUUID = app.context.taskUUID;    if (!taskUUID) return null; // Cursor is not in a task     await app.updateTask(taskUUID, { completedAt: Math.floor(Date.now() / 1000) });     return "";  }} 
  
  app.writeClipboardData
  Write to the clipboard. The [plugin code execution environment](/help/developing_amplenote_plugins/appendix_ii)
    can prevent use of clipboard APIs in some browsers, so this app function is provided for full cross-platform support.
  Arguments
  String data to copy to the clipboard. For non-string mime types, should be base64 encoded data.
  Optional String mime type of data, defaults to "text/plain". The following mime types are allowed:
  "text/plain" - data argument should be the text to copy to the clipboard
  "image/png" - data argument should be base64 encoded image data
  Returns
  Nothing
  Throws
  If an unsupported mime type argument is supplied
  If base64 data is not validly base64 encoded  {   async noteOption(app, noteUUID) {     await app.writeClipboardData(noteUUID);     await app.alert("Note UUID copied to clipboard");   } }
noteTitle: App Interface: Plugin methods to interact with user notes