Skip to content

Instantly share code, notes, and snippets.

@woodwardtw
Last active April 20, 2022 16:47
Show Gist options
  • Save woodwardtw/f9083d61f223378679d1da562423de3f to your computer and use it in GitHub Desktop.
Save woodwardtw/f9083d61f223378679d1da562423de3f to your computer and use it in GitHub Desktop.
another version in Google Script
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