Skip to content

Instantly share code, notes, and snippets.

@Stvad
Last active August 15, 2021 23:20
Show Gist options
  • Save Stvad/fe2ba184354f6fdbd08af60cc06b83da to your computer and use it in GitHub Desktop.
Save Stvad/fe2ba184354f6fdbd08af60cc06b83da to your computer and use it in GitHub Desktop.
comment queries on daily pages
[{"create-time":1629041510869,"title":"comment queries on daily pages",":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},"children":[{"string":"isa::[[iroam/notebook]]","create-time":1629041512459,":block/refs":[{":block/uid":"pt_Ivza0F"},{":block/uid":"FxnP85ywT"}],"refs":[{"uid":"pt_Ivza0F"},{"uid":"FxnP85ywT"}],":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},"uid":"hw_U21Vfv","edit-time":1629041523012,":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}},{"string":"```javascript\nfunction addDays(original, days) {\n let date = new Date(original.valueOf());\n date.setDate(date.getDate() + days);\n return date;\n}\n\nfunction getDatesBetween(startDate, stopDate) {\n var dateArray = new Array();\n var currentDate = startDate;\n while (currentDate <= stopDate) {\n dateArray.push(new Date (currentDate));\n currentDate = addDays(currentDate, 1);\n }\n return dateArray;\n}\n\nfunction getPagesToProcess() {\n const now = new Date()\n const startDate = addDays(now, -14) // 2 weeks ago by default\n const endDate = addDays(now, -7) // 1 week ago by default\n\n const dates = getDatesBetween(startDate, endDate)\n\n return dates.map(roamClient.Date.toRoam)\n \n \n}```","create-time":1629041523057,"uid":"c4YxZKQ-A","edit-time":1629043994530,":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}},{"string":"```javascript\nfunction commentQueries(block) {\n if (/\\{\\{\\[\\[query]]/.test(block.text)) {\n console.log(\"processing \", block.uid, block.text)\n block.text = \"`\"+block.text +\"`\"\n }\n const children = block.children ||[]\n children.map(commentQueries)\n}```","create-time":1629042800107,"uid":"QfvcH3Nr7","edit-time":1629043977406,":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}},{"string":"```javascript\npageNames = getPagesToProcess()\n\npages = pageNames.map(page).filter(it=>it)\n\npages.forEach(commentQueries)```","create-time":1629042826347,":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},"children":[{"string":"[\n \"August 1st, 2021\",\n \"August 2nd, 2021\",\n \"August 3rd, 2021\",\n \"August 4th, 2021\",\n \"August 5th, 2021\",\n \"August 6th, 2021\",\n \"August 7th, 2021\",\n \"August 8th, 2021\"\n]","create-time":1629042978079,"uid":"Ue_KbmNAO","edit-time":1629043652159,":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}}],"uid":"mc8cXaH55","edit-time":1629043484051,":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}},{"string":"","create-time":1629042126464,"uid":"ikdO5-TO7","edit-time":1629042126464,":create/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"},":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}}],"uid":"xCOKGt7t8","edit-time":1629041510869,":edit/user":{":user/uid":"6bJAKBYrpIcPZBpFEpexUwW3x5r1"}}]

isa::[[iroam/notebook]]

function addDays(original, days) {
    let date = new Date(original.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}

function getDatesBetween(startDate, stopDate) {
    var dateArray = new Array();
    var currentDate = startDate;
    while (currentDate <= stopDate) {
        dateArray.push(new Date (currentDate));
        currentDate = addDays(currentDate, 1);
    }
    return dateArray;
}

function getPagesToProcess() {
  const now = new Date()
  const startDate = addDays(now, -14) // 2 weeks ago by default
  const endDate = addDays(now, -7) // 1 week ago by default

  const dates = getDatesBetween(startDate, endDate)

  return dates.map(roamClient.Date.toRoam)
  
  
}
function commentQueries(block) {
  if (/\{\{\[\[query]]/.test(block.text)) {
    console.log("processing ", block.uid, block.text)
    block.text = "`"+block.text +"`"
  }
  const children = block.children ||[]
  children.map(commentQueries)
}
pageNames = getPagesToProcess()

pages = pageNames.map(page).filter(it=>it)

pages.forEach(commentQueries)

[ "August 1st, 2021", "August 2nd, 2021", "August 3rd, 2021", "August 4th, 2021", "August 5th, 2021", "August 6th, 2021", "August 7th, 2021", "August 8th, 2021" ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment