---
ChildrenType: ["Note", "Task", "Recipe"]
JSXExample: "Hello JSX!"
Number1: 1
Number2: 3
TimeStamp: 2022-01-15
---
`$= DateTime.now().toFormat("MMMM yyyy")`
await dv.io.load(dv.page("02.02 Paris/Abri"))
`jsx-<LoadiFrameButton title="" src="img_0950.jpg" />`
`jsx- <WithFrontMatter render={({JSXExample})=><h1>The value of hello is "{JSXExample}"</h1>}/>`
`jsx- < WithFrontMatter render = {({Number1, Number2 } ) = > (Number1 + Number2) * 100
}/>`
> [!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|cover]]
>> #####
>> | |
>> | -- |
>> | [[000. Obsidian\|Obsidian]] - #:inbox_tray: |
>> | [[100 Personal\|Personal]] - #Personal:crown: |
>> | [[200 PKM Library\|PKM Library]] - #PKM |
>> | [[300 MOCS\|MOC Library]] - #MOC:map: |
>
>> [!infobox|]
>> # PERSONAL
>>![[174897.jpg|cover]]
>>#####
>> ||
>> | -- |
>> | [[900 Work\|Work]] - #Work
>> | [[600 Life Areas\|Life Areas]] - #Life |
>> | - |
>> | - |
>
>>[!blank-container]
>
>>[!infobox]
>># Activity
>>![[168494.jpg|cover landscape]]
>>![[Activity|clean]]
>
>>[!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 ](https://forum.obsidian.md )
- [b] bookmark checklist item
=== end-column ===
> citation example
> <div class="signature"> ~ Melchior de Villeneuve</div>
=== end-multi-column
 
- [b] ff
< p id = "counter" > < / p >
< div id = "commentThread" >
< / div >
\<h3>Comment</ h3 >
< form id = "formField" >
< input type = "hidden" id = "threadID" >
< input type = "text" id = "commenterName" placeholder = "name" > < br > < br >
< textarea id = "commentBody" placeholder = "Write here..." > < / textarea > < br > < br >
< input type = "submit" value = "Add" >
< / form >
< / div >
 
---
### 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('') + '< br > ';
}
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|🔗]]
- [x] tast test ✅ 2022-09-04
- [ ] sub-task test
- [ ] Sub-task test 2
- [ ] sub-task test 3
---
### Checkboxes
- [ ] Unchecked `- [ ]`
- [x] Checked `- [x]`
- [>] Rescheduled `- [>]`
- [< ] Scheduled `- [<]`
- [!] Important `- [!]`
- [-] Cancelled `- [-]`
- [x] 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>`
< progress value = "10" max = "100" > < / progress >
20% `<progress value="20" max="100></progress>`
< progress value = "20" max = "100" > < / progress >
30% `<progress value="30" max="100"></progress>`
< progress value = "30" max = "100" > < / progress >
40% `<progress value="40" max="100"></progress>`
< progress value = "40" max = "100" > < / progress >
50% `<progress value="50" max="100"></progress>`
< progress value = "50" max = "100" > < / progress >
60% `<progress value="60" max="100"></progress>`
< progress value = "60" max = "100" > < / progress >
70% `<progress value="70" max="100"></progress>`
< progress value = "70" max = "100" > < / progress >
80% `<progress value="80" max="100"></progress>`
< progress value = "80" max = "100" > < / progress >
90% `<progress value="90" max="100"></progress>`
< progress value = "90" max = "100" > < / progress >
100% `<progress value="100" max="100"></progress>`
< progress value = "100" max = "100" > < / progress >
---
```dataviewjs
const {shoppingFunc} = customJS
shoppingFunc.getItems2Change({app: app, dv: dv, luxon: luxon, that:this, theme: "to0"})
```
```button
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
 
 
 
 
```dataviewjs
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); }
```