Journal setup like Logseq possible?

First, search the help docs and this forum. Maybe your question has been answered! The [debugging ) can help, too. Still stuck? Delete this line and proceed.

What I’m trying to do

An Obsidian noob coming from Logseq, I am trying to replicate Logseq’s journal where today presents at the top and a simple scroll down accesses previous days.

Things I have tried

Read Obsidian forum 5 search results for journal.
Watched numerous YouTube videos on Obsidian journal.

Doesn’t seem as intuitive as Logseq, but I need Obsidian for the phone plugins.

Btw, error can’t include links in post is more friction, please improve that too. I have to manually delete the auto text from this post :-1:

1 Like

Sorry about that. It’s a SPAM prevention measure.

It looks like you’ve only posted in two topics so far – once you post some more, give and get some likes, etc., you’ll be able to add links and edit your posts.

Thanks for the understanding.

In the mean time, you can post links in a code block

```
http://help.obsidian.md/
```

or as inline-code.

1 Like

There is at least 1 plugin that shows daily notes together in a scrolling format. I don’t know if any of them support the sort order you want.

1 Like

another way to accomplish this is to have each journal entry as a distinct file and use dataview or bases to include the last 7 days with links at the end to see more days if desired.

Sounds like you miss Logseq’s endless journal page. In Obsidian the equivalent is ‘Daily notes,’ which are just markdown files named by date. First, enable the Daily Notes core plugin (Settings → Core Plugins) and set a folder (for example /Journal/) and a date format like YYYY-MM-DD. Second, turn on the Calendar community plugin; its mini-calendar lets you jump to today or scroll back through previous days without leaving the editor. Third, if you truly want a scrolling view, use Dataview to stitch files together: LIST FROM "Journal" SORT file.name DESC will list recent notes at the top. Try creating a daily note for tomorrow with a short entry, then use the calendar to review the last few days and note what feels intuitive. You are not behind.

1 Like

If you want something in Obsidian that feels similar to Logseq’s “journal scroll,” you can fake it with a DataviewJS snippet.
The idea is simple:

  • Pull all the daily notes from your configured daily notes folder.
  • Sort them, filter out anything that’s not a valid daily note, and show each one with a heading containing the date and day of the week.
  • Under each heading, embed the note’s content so it flows like a continuous journal.

This isn’t truly infinite scrolling — it just stitches your daily notes into a single note for easy reading. For the embeds to flow naturally in reading mode, you’ll want TFTHacker’s “Adjust Embeds” CSS snippet enabled.

Important caveats:

  • It’s slow if you try to display a lot of notes. That’s why I added a max-notes property in the frontmatter of the note that contains this snippet. The script reads this value and limits how many daily notes it shows. For example:

    max-notes: 30
    

    Without this, you’ll likely hit performance issues.

  • The output appears in Reading mode only. You can scroll through it, but you can’t interact with it — e.g., no collapsing sections or folding lists.

  • You can find a much simpler (and more efficient) alternative: just list links to each daily note. With Ctrl+hover you can preview the note, and you can even edit it from there. That’s doable with a basic Dataview table or even Obsidian’s new Bases feature.

Here’s the DataviewJS code:

const MAX = (() => {
  const v = dv.current()?.["max-notes"];
  const n = typeof v === "number" ? v : parseInt(v ?? "", 10);
  return Number.isFinite(n) && n > 0 ? n : 30;
})();

const coreDN = app.internalPlugins?.getPluginById?.("daily-notes");
const dnFolder = coreDN?.instance?.options?.folder || coreDN?.instance?.options?.newFileFolderPath;
const periodic = app.plugins?.getPlugin?.("periodic-notes");
const pnFolder = periodic?.settings?.daily?.folder;
const DAILY_FOLDER = dnFolder || pnFolder || "Daily";

const pages = dv.pages(`"${DAILY_FOLDER}"`)
  .filter(p => { const d = p.file.day ?? dv.date(p.file.name); return !!d && d.isValid; })
  .sort(p => p.file.name, "desc")
  .limit(MAX);

for (const p of pages) {
  const day = p.file.day ?? dv.date(p.file.name);
  const title = `${day.toFormat("yyyy-LL-dd")} (${day.toFormat("cccc")})`;
  dv.header(2, `[[${p.file.name}|${title}]]`);
  dv.paragraph(`![[${p.file.name}|clean no-title]]`);
}

Here’s the simple links version (fast, lightweight). It lists daily-note links one under another; Ctrl+hover to preview, and you can edit from there. You have to change “Daily” to the actual name of your daily notes folder.

TABLE without id 
link(file.path, dateformat(d, "yyyy-LL-dd (cccc)")) AS "Daily"
FROM "Daily"
FLATTEN default(file.day, date(file.name)) AS d
WHERE d SORT d DESC LIMIT default(this.max-notes, 30)

Tip: set a per-note limit with frontmatter:

max-notes: 30
2 Likes

could you have something at the end of the daily note that is a link to “The last 30 days”

and it is a page with the last 30 days embedded ?

Do you mean, the last 30 days counting from the one that contains that link?

That would require to pass the date of the linking note to the linked note containing the dataviewjs block, and that’s not possible afaik.

If you mean the last 30 “from today”, that’s doable. But not very useful, I guess.

The closest thing would be to embed a bases view at the end of each daily note. Bases can use values of the “embedding” note to generate the embedded view. This way you could get a table with links to the last 30 days. The contents won’t be visible though, but they are accessible via Ctrl-Hover.

from today.

via embedding

![[2025-07-21]]

![[2025-07-23]]

![[2025-07-30]]

My embedding doesn’t require hover.

Oh, of course, but you have to manually write the required dates. I understood that you were asking for a way to automatically generate that view.

Moreover, your solution requires to write different “The last 30 days” notes depending on the daily note from which you link to it, doesn’t it?

The idea I was hinting in my previous message is to write a single Bases, named for example “Previous days.base”, containing for example (replace “Diary” by the actual name of your daily notes folder).

filters:
  and:
    - file.folder.contains("Diary")
formulas:
  weekday: date(file.name).format("dddd")
views:
  - type: table
    name: Table
    filters:
      and:
        - date(file.name) < date(this.file.name)
    order:
      - file.name
      - formula.weekday
    sort:
      - property: file.name
        direction: DESC
    limit: 20

Then, at the end of every daily note you can simply insert this:

![[Previous days.base]]

This will expand dynamically differently in each daily note, showing the last 20 existing daily notes whose date is less than the date of the containing daily note.

For example, this would be the result if inserted in the note corresponding to “2025-06-29”:

Several things to note:

  • This requires Bases plugin (currently available only to catalyst users)
  • The first note shown is for 2025-06-27 (previous to the current note 2025-06-29, in my vault there is no note for 2025-06-28)
  • It shows 20 notes, but the limit can be changed by clicking on the “20 results” text
  • I added a column showing the weekday, which I find useful
  • Other columns can be added showing note properties (tags, etc)
  • No contents of each daily note can be shown (or embedded), but every date is a link that you can Ctrl+Hover for preview, or click to go.
2 Likes

I installed Obsidian plugin Journals Version: 2.1.10 By Sergii Kostyrko, however enabling the ‘Open on startup’ and ‘Calendar view → Show calendar in → Right sidebar’ doesn’t show any Journal on startup nor show any calendar once the journal is manually selected?

I had some calendar showing, as I have a plugin Calendar Version: 1.5.10 By Liam Cain, but there were 2 different calendars showing, so maybe some other plugin also includes a Calendar I’m unaware about? The point is for the plugin Journals Version: 2.1.10 By Sergii Kostyrko I changed the settings for Calendar view to Show calendar in: Left sidebar, rather than Right sidebar. Now there’s no calendar showing anywhere.
The Journals plugin might be what now shows in the Left sidebar: Journal. However when I select Open today’s daily note, a note YYYY-MM-DD appears in the Left sidebar below Journal.

The phone hasn’t synced the Journal folder which is showing on the Desktop screenshot.

I have disabled the Journals plugin on the Desktop and Phone and it doesn’t seem to do anything.
I found the Journals plugin adds a calendar on the ride side bar, but this Journals calendar has no functionality apart from dates forward and back.

I’m using the plugin Calendar Version: 1.5.10 By Liam Cain which has some nice functionality.
Maybe a question for another forum post, but the Calendar has dots under dates and seems to sync up with something, so figuring it out.
But first the Journal is important, just a simple plugin as a noob from Logseq, will try more complex configurations later.

The dots in Calendar represent that daily note’s word count (see Calendar’s documentation).

1 Like

Thanks, that’s quite a curious feature to have, sounds complicated too.
For me, more important would be if I create any events, with reminder events being a priority if an open or closed or percentage filled circle indicator can be built in?

So, my work around for the Journal is to simply create a folder in the left column named Journal.
I then manually select Open today’s daily note from the left bar, then move the created daily note into the Journal folder.
If there’s an easier way to do this that would be great…I just need to open Obsidian and I see the date and can start typing.

In Settings > Daily Notes, set “New file location” to the Journal folder.

1 Like

Thank you, that solved that! Have some good mana :slight_smile:

First, search the help docs and this forum. Maybe your question has been answered! The debugging steps can help, too. Still stuck? Delete this line and proceed.

What I’m trying to do

Have the Journal page show older journal entries below on the same main page, rather than the Obsidian default 1 journal page showing a large empty main page area

Things I have tried

Please don’t post duplicate questions. Since this one has additional info I’ve merged it into your original thread. I’ve also unmarked the post that was marked as a solution since it didn’t solve the question. Good luck!

1 Like

Thanks, I was going to post on the original post, however the auto prompt read to me like it preferred a new post, my apologies.