Last active
April 20, 2022 16:47
-
-
Save woodwardtw/f9083d61f223378679d1da562423de3f to your computer and use it in GitHub Desktop.
another version in Google Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getAllFolders(){ | |
let doc = DocumentApp.getActiveDocument(); | |
let body = doc.getBody(); | |
let indexDoc = DocumentApp.getActiveDocument(); | |
let indexId = indexDoc.getId(); | |
let parentFolderId = DriveApp.getFileById(indexId).getParents().next().getId(); | |
let parentFolder = DriveApp.getFolderById(parentFolderId); | |
//Logger.log(parentFolder) | |
let textFolders = parentFolder.getFolders(); | |
while (textFolders.hasNext()) { | |
let folder = textFolders.next(); | |
let contents = folder.getFiles(); | |
while (contents.hasNext()){ | |
let file = contents.next(); | |
let mime = file.getMimeType(); | |
//Logger.log(mime) | |
//Logger.log(file.getUrl()); | |
if(mime === "text/plain"){ | |
var content = file.getBlob().getDataAsString(); | |
var contentArray = content.match(/[^\r\n]+/g); | |
makeItPretty(contentArray, pdfUrl); | |
} | |
if(mime === "application/pdf"){ | |
var pdfUrl = file.getUrl(); | |
let pdf = body.appendListItem(pdfUrl); | |
pdf.setLinkUrl(pdfUrl); | |
} | |
//writeIndex(content, pdfUrl); | |
} | |
body.appendHorizontalRule(); | |
} | |
} | |
function writeIndex( content, pdfUrl){ | |
let doc = DocumentApp.getActiveDocument(); | |
let body = doc.getBody(); | |
let add = body.appendParagraph(content); | |
let pdf = body.appendParagraph(pdfUrl); | |
pdf.setLinkUrl(pdfUrl); | |
body.appendHorizontalRule() | |
// Logger.log(add); | |
} | |
function testBlob(){ | |
let file = DriveApp.getFileById('1AY0xbOp-36k8nTCvSJcYpDIZQ21RLtpA'); | |
let content = file.getBlob().getDataAsString(); | |
let lines = content.match(/[^\r\n]+/g); | |
//Logger.log(lines); | |
makeItPretty(lines); | |
} | |
function makeItPretty(contentArray){ | |
let doc = DocumentApp.getActiveDocument(); | |
let body = doc.getBody(); | |
contentArray.forEach((element) => { | |
//Logger.log(element) | |
if (element != 'Document Information'){ | |
if(element.includes('http')){ | |
let link = body.appendListItem(element); | |
link.setLinkUrl(element); | |
} else { | |
body.appendListItem(element); | |
} | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment