Summary_code
title: DVJS10_TABLE_a_non_md_files_from_Obsidian_API => 1.To gather all relevant files(Type: pdf, epub, jpg or png) by Obsidian API 2.TABLE a_non_md_files for designing DVJS
collapse: open
icon:
color:
```dataviewjs
// M11. define i_max_amount_of_non_md_files:
// #####################################################################
let i_max_amount_of_non_md_files = 10;
// M13. define h_extension_non_md_files_of: Type: pdf, epub, jpg or png
// #####################################################################
let h_extension_non_md_files_of = {
pdf: "pdf",
epub: "epub",
jpg: "jpg",
png: "png",
};
// M21. define a_non_md_files: gather all relevant files by Obsidian API
// a_non_md_files : JavaScript array
// #####################################################################
let a_non_md_files = app.vault
.getFiles()
.filter((file) =>
// Obsidian API:file.parent.path
// = Dadaview file.folder = "999_Test/Q89_test_data/R03_pdf"
dv.func.contains(file.parent.path, "999_Test/Q89_test_data")
)
// Obsidian file.basename = Dadaview file.name = "demo_20150301"
.filter((file) => dv.func.contains(file.basename, "demo"))
.filter(
(file) =>
// Obsidian API:file.extension = Dadaview file.ext = "pdf"
h_extension_non_md_files_of[file.extension]
)
.filter(
(file) =>
// Obsidian API:DateTime.fromMillis(file.stat.ctime)
// = Dadaview file.file.ctime
DateTime.fromMillis(file.stat.ctime) >=
dv.date("2015-03-01T00:00:00") &&
DateTime.fromMillis(file.stat.ctime) <=
dv.date("2022-09-30T23:59:59")
);
// M23. a_non_md_files :
// transform a JavaScript array into a DataArray by using dv.array
// #####################################################################
a_non_md_files = dv
.array(a_non_md_files)
.sort((file) => file.name, "asc")
.limit(i_max_amount_of_non_md_files);
// M51. TABLE a_non_md_files : for designing DVJS
// Use a line break "<br>" to concatenate several strings when the table is too wide.
// #####################################################################
dv.header(3, "M51.TABLE `a_non_md_files`");
dv.table(
[
"N",
[
"Link",
"Name",
"Basename",
"Extension",
"size(bytes)",
"parent.parent.path",
"parent.parent.name",
].join("<br>"),
[
"parent.path",
"parent.name",
"ctime(milliseconds)",
"mtime(milliseconds)",
"size(bytes)",
"path",
"parent.parent.parent.path",
].join("<br>"),
],
a_non_md_files.map((file, index) => [
index + 1,
[
dv.fileLink(file.path),
file.name,
file.basename,
file.extension,
file.stat.size,
//=>source:/demo_20150301.pdf
dv.func.choice(file.parent.parent?.path, file.parent.parent?.path, "-"),
dv.func.choice(file.parent.parent?.name, file.parent.parent?.name, "-"),
].join("<br>"),
[
file.parent.path,
//=>source:/demo_20150301.pdf
dv.func.choice(file.parent.name.length!==0, file.parent.name, '""'),
DateTime.fromMillis(file.stat.ctime),
DateTime.fromMillis(file.stat.mtime),
file.stat.size,
file.path,
//=>source:999_Test/demo_20150301.pdf //=>source:/demo_20150301.pdf
dv.func.choice(file.parent.parent?.parent?.path, file.parent.parent?.parent?.path, "-"),
].join("<br>"),
])
);
```