You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 KiB

ChildrenType JSXExample Number1 Number2 TimeStamp
Note
Task
Recipe
Hello JSX! 1 3 2022-01-15

$= DateTime.now().toFormat("MMMM yyyy")

await dv.io.load(dv.page("02.02 Paris/Abri"))

[!command] test

Command line test

Syntax

Description


Calendar rendering (dataview x full calendar)

```dataviewjs this.container.style.minHeight = "500px"; const { renderCalendar } = app.plugins.plugins["obsidian-full-calendar"]; let calendar = renderCalendar(this.container, {start: new Date(), id: "id", title: "Now and for an hour"}); calendar.render() ```


Multi-column

>[!multi-column] >>[!blank-container]

[!infobox]

SELF

!175008.jpg

000. Obsidian - #📥
100 Personal - #Personal👑
200 PKM Library - #PKM
300 MOCS - #MOC:map:

[!infobox|]

PERSONAL

!174897.jpg

900 Work - #Work
600 Life Areas - #Life
-
-

[!blank-container]

[!infobox]

Activity

!168494.jpg !Activity

[!blank-container]

=== start-multi-column: Testlist ```column-settings
number of columns: 2
largest column: standard
border: disabled
```

My Meggi-mo is never going to give up on me

Forum

  • [b] bookmark checklist item

=== end-column ===

citation example

~ Melchior de Villeneuve

=== end-multi-column

  • [b] ff

\

Comment






Squares (dataview)

```dataviewjs let stepSize = 40;

let bigStepSize = 200;

if (app.isMobile) {

stepSize = 15;

bigStepSize = 100;

}

let completeSquare = '🟩';

let notCompleteSquare = '';

let results = [];

let pages = dv.pages('"00.01 Admin"');

for (let page of pages) {

let link = page.file.link;

link.display = completeSquare;

let rank = parseInt(page.file.name.slice(0, 4));

if (rank) {

results.push({

rank: rank,

name: page.file.name,

link: page.file.link

});

}

}

results.sort((a, b) => a.rank - b.rank);

let current = 2000;

let mapList = [];

for (let result of results) {

for (let i = 0; i < result.rank - current - 1; i++) {

mapList.push(notCompleteSquare);

}

mapList.push(result.link);

current = result.rank;

}

let displayString = '';

for (let i = 0; i < mapList.length; i = i + stepSize) {

let startBigStep = Math.ceil((i) / bigStepSize);

let endBigStep = Math.ceil((i + stepSize) / bigStepSize);

if (endBigStep > startBigStep) {

displayString += ((endBigStep - 1) * bigStepSize).toString().padStart(4, ' ');

} else {

displayString += ' '.repeat(4);

}

displayString += ' ' + mapList.slice(i, i + stepSize).join('') + '
';

}

dv.el('pre', displayString); ```


Football formation

```lineup formation: 433 players: Donnarumma,Bernat,Marquinhos,Kimpembe,Hakimi,Villeneuve,Verratti,St Hilaire,MBappe,Solanet,Messi ```


dataview habit tracker

  • Habit_1

  • Habit_2

  • Habit_3

  • Habit_4

  • this is seq task 1 ^seqtask1

  • this is seq task 2 Test sheet#^seqtask1 ^seqtask2

  • this is seq task 3 Test sheet#^seqtask2

  • tast test 2022-09-04

    • sub-task test
    • Sub-task test 2
    • sub-task test 3

Checkboxes

  • Unchecked - [ ]

  • Checked - [x]

  • [>] Rescheduled - [>]

  • [<] Scheduled - [<]

  • [!] Important - [!]

  • [-] Cancelled - [-]

  • In Progress - [/] 2024-01-20

  • [?] Question - [?]

  • [*] Star - [*]

  • [n] Note - [n]

  • [l] Location - [l]

  • [i] Information - [i]

  • [I] Idea - [I]

  • [S] Amount - [S]

  • [p] Pro - [p]

  • [c] Con - [c]

  • [b] Bookmark - [b]

  • [f] Fire - [ f ]

  • [w] Win - [w]

  • [k] Key - [k]

  • [u] Up - [u]

  • [d] down - [d]

  • [F] Feature - [F]

  • [r] Rule - [r]

  • [m] Measurement - [m]

  • [M] Medical - [M]

  • [L] Language - [L]

  • [t] Clock - [t]

  • [T] Telephone - [T]

  • [P] Person - [P]

  • [#] Tags - [#]

  • [W] World - [W]

  • [U] Universe - [U]

↰ ↱ ↲ ↳  ↴ ↵

Box Drawing

Symbol Alt Code
+2500
+2502
+250c
+2501
+2514
+2518
+251c
+2524
+252c
+2534
+253c

Callouts

[!quote] Quote, Cite

[!note]

[!shopping] Shopping List

[!tldr]

[!example]

[!help]

[!Related] Related

[!Backstory] Backstory

[!question] Question/FAQ

[!abstract] Abstract

[!Links] Links

[!Translation] Translation

[!info] Info

[!todo]

[!backlog] Backlog

[!morning] Morning

[!Meditate] Meditate

[!currently] Currently

[!tip] Tip

[!hint]

[!check] Check, Done

[!money] Money

[!pro] Pro

[!World] World

[!summary]

[!doing] Doing, In Progress

[!warning] Warning, Caution, Attention

[!idea] Idea

[!Feature] Feature

[!target] Target

[!con] Con

[!important]

[!failure] Failure, Fail, Missing

[!Conflict] Conflict, Challenge, Encounter

[!danger] Danger, Error

[!error]

[!bug]

[!Resources] Resources

[!celebrate] Celebrate

[!success] Success

Loading

10% <progress value="10" max="100"></progress>

20% <progress value="20" max="100></progress>

30% <progress value="30" max="100"></progress>

40% <progress value="40" max="100"></progress>

50% <progress value="50" max="100"></progress>

60% <progress value="60" max="100"></progress>

70% <progress value="70" max="100"></progress>

80% <progress value="80" max="100"></progress>

90% <progress value="90" max="100"></progress>

100% <progress value="100" max="100"></progress>


const {shoppingFunc} = customJS
shoppingFunc.getItems2Change({app: app, dv: dv, luxon: luxon, that:this, theme: "to0"}) 
name Create Note
type append template
action SendMail
color blue
templater true

const subject = tp.file.title const body = tp.file.content tR += "[Send as email](readdle-spark://compose?body=" + encodeURI(body) + ""&subject=" + encodeURI(subject) + ")" %>

const {templaterFunc} = this.app.plugins.plugins["customjs"].api templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

tR += const {templaterFunc} = this.app.plugins.plugins["customJS"] templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

tR += const {templaterFunc} = this.app.plugins.plugins["customJS"].api templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

tR += const {templaterFunc} = this.app.plugins.plugins["CustomJS"].api templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

tR += const {templaterFunc} = tp.obsidian.plugins.plugins.CustomJS %> <% templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

tR += const {templaterFunc} = customJS %> <% templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

const templaterFunc = customJS tR += templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

const templaterFunc = tp.obsidian.plugins.plugins.CustomJS tR += templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

const {templaterFunc} = tp.obsidian.plugins.plugins.CustomJS tR += templaterFunc.createNewFile(tp, tp.frontmatter.ChildrenType) %>

CollapseMetaTable: true Groceries: ["🍶 6 bottle(s) Coke 0", "🍿 1 whole Snacks", "🧈 packet(s) Beurre", "🫒 0 bottle(s) Olive oil", "🍺 0 bottle(s) Beers", "🥯 0 packet(s) Bagels", "🍯 1 jar(s) Bonne Maman", "🍌 6 whole Bananas", "🧀 0 packet(s) Fromage rape", "🥩 2 packet(s) Cured meat", "🍐 6 whole Fruit", "🍝 2 packet(s) Pasta", "🌶️ 1 bottle(s) Tabasco"] Health:

  • 🚿 1 whole shower gel
  • 🧴 1 whole shampoo
  • 🪥 whole toothbrush
  • 🦷 1 whole toothpaste
  • 👂 whole earbuds
  • 🪒 1 whole razor blades (mach3)
  • 🍦 whole shaving cream
  • 🧻 6 whole loo rolls
  • 🦨 whole deo Household:
  • 👔 1 whole Washing gel
  • 🧻 4 whole Kitchen towel
  • 🧽 whole Sponge
  • 👕 2 whole Softener
  • 🍽️ whole Dishwasher tablets
  • 🧂 1 whole Dishwasher salt
  • 🚰 0 whole Dishwasher rinsing aid

const app = this.app;
const metaedit = app.plugins.plugins["metaedit"];
const init_dom = (row) => { const sel = `table.dataview.table-view-table td > span > a[data-href='${row.file.path}']`;
const tr = dv.container.querySelector(sel).closest("tr");
const labels = tr.querySelectorAll("._dataview-labels"); for (let i = 0; i < labels.length; i++) { const data = labels[i].data
const file = app.vault.getAbstractFileByPath(row.file.path);
const prop = {key: data.name, content:data.actual, type: data.type};
labels[i].addEventListener('click', async (evt) => { metaedit.controller.editMetaElement(prop, [], file); }); } }
const field = (row, name, type) => {
let data = {};
data.row = row;
data.name = name;
data.actual = row[name];
data.value = row[name];
data.type = type || 1;
const el = this.container.createEl('span', {"text": row[name] || "-"});
el.classList.add("_dataview-labels");
el.data = data; return el; };
try { var workspace = dv.container.closest("div.workspace-leaf");
var title = workspace.querySelector("div.view-header-title");
let pages = dv.pages('"03.03 Food & Wine"') .sort(t => t.file.name) .where(t => field(t, 'DocType') == "Recipe");
dv.table( ["Name", "Course", "Category", "Collection", "Cooking Time", "Rating", ""], pages .map(t => [ t.file.link, field(t, 'Recipe.Course'), field(t, 'Recipe.Category'), field(t, 'Recipe.Collection'), field(t, 'Recipe.CookingTime'), field(t, 'Meta.Rating') ]) );
setTimeout(function(){
for (let i = 0; i < pages.length; i++) {
init_dom(pages[i]); } }, 0);
}
catch (err) { window.console.info(err); }