Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      June 5, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      June 5, 2025

      How To Prevent WordPress SQL Injection Attacks

      June 5, 2025

      In MCP era API discoverability is now more important than ever

      June 5, 2025

      Google’s DeepMind CEO lists 2 AGI existential risks to society keeping him up at night — but claims “today’s AI systems” don’t warrant a pause on development

      June 5, 2025

      Anthropic researchers say next-generation AI models will reduce humans to “meat robots” in a spectrum of crazy futures

      June 5, 2025

      Xbox just quietly added two of the best RPGs of all time to Game Pass

      June 5, 2025

      7 reasons The Division 2 is a game you should be playing in 2025

      June 5, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Mastering TypeScript: How Complex Should Your Types Be?

      June 5, 2025
      Recent

      Mastering TypeScript: How Complex Should Your Types Be?

      June 5, 2025

      IDMC – CDI Best Practices

      June 5, 2025

      PWC-IDMC Migration Gaps

      June 5, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Google’s DeepMind CEO lists 2 AGI existential risks to society keeping him up at night — but claims “today’s AI systems” don’t warrant a pause on development

      June 5, 2025
      Recent

      Google’s DeepMind CEO lists 2 AGI existential risks to society keeping him up at night — but claims “today’s AI systems” don’t warrant a pause on development

      June 5, 2025

      Anthropic researchers say next-generation AI models will reduce humans to “meat robots” in a spectrum of crazy futures

      June 5, 2025

      Xbox just quietly added two of the best RPGs of all time to Game Pass

      June 5, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Operating Systems»Linux»Exploring Pages, Links, Tags, and Block References in Logseq

    Exploring Pages, Links, Tags, and Block References in Logseq

    April 19, 2025
    Exploring Pages, Links, Tags, and Block References in Logseq

    Exploring Pages, Links, Tags, and Block References in Logseq

    Simply creating well-formatted notes isn’t enough to manage the information you collect in daily life—accessibility is key.

    If you can’t easily retrieve that information and its context, the whole point of “knowledge management” falls apart.

    From my experience using it daily for several months, I’d say Logseq does a better job of interlinking notes than any other app I’ve tried.

    So, without further ado, let’s dive in.

    The concept of page, links, and tags

    If you’ve used Logseq before, you’ve likely noticed one key thing: everything is a block. Your data is structured as intentional, individual blocks. When you type a sentence and hit Enter, instead of just creating a new line, Logseq starts a new bullet point.

    This design brings both clarity and complexity.

    In Logseq, pages are made up of bullet-formatted text. Each page acts like a link—and when you search for a page that doesn’t exist, Logseq simply creates it for you.

    Here’s the core idea: pages and tags function in a very similar way. You can think of a tag as a special kind of page that collects links to all content marked with that tag. For a deeper dive into this concept, I recommend checking out this forum post.

    Logseq also supports block references, which let you link directly to any specific block—meaning you can reference a single sentence from one note in another.

    📋
    Ultimately, it is the end-user’s creativity that creates a perfect content organization. There is no one way of using Logseq for knowledge management. It’s up to you how you use it.

    Creating a new page in Logseq

    Click on the top-left search icon. This will bring a search overlay. Here, enter the name of the page you want to create.

    If no such page is present, you will get an option to create a new page.

    Exploring Pages, Links, Tags, and Block References in Logseq
    Search for a note

    For example, I created a page called “My Logseq Notes” and you can see this newly created page in ‘All pages’ tab on Logseq sidebar.

    Exploring Pages, Links, Tags, and Block References in Logseq
    New page listed in “All Pages” tab

    Logseq stores all the created page in the pages directory inside the Logseq folder you have chosen on your system.

    Exploring Pages, Links, Tags, and Block References in Logseq
    The Logseq pages directory in File Manager

    There won’t be any nested directories to store sub-pages. All those things will be done using links and tags. In fact, there is no point to look into the Logseq directory manually. Use the app interface, where the data will appear organized.

    ⌨️ Use keyboard shortcut for creating pages

    Powerful tools like Logseq are better used with keyboard. You can create pages/links/references using only keyboard, without touching the mouse.

    The common syntax to create a page or link in Logseq is:

    #One-word-page-name

    You can press the # symbol and enter a one word name. If there are no pages with the name exists, a new page is created. Else, link to the mentioned page is added.

    If you need to create a page with multiple words, use:

    #[[Page with multiple words separated with space]]

    Place the name of the note within two [[]] symbol.



    0:00
    /0:32



    Create pages with single word name or multi-word names.

    Using Tags

    In the example above, I have created two pages, one without spaces in the name, while the other has spaces.

    Both of them can be considered as tags.

    Confused? The further interlinking of these pages actually defines if it’s a page or a tag.

    If you are using it as a ‘special page’ to accumulate similar contents, then it can be considered as a tag. If you are filling paragraphs of text inside it, then it will be a regular page.

    Basically, a tag-page is also a page but it has the links to all the pages marked with the said tag.

    To add a tag to a particular note, you can type #<tag-name> anywhere in the note. For convenience and better organization, you can add at the end of the note.

    Exploring Pages, Links, Tags, and Block References in Logseq
    Adding Simple Tags

    Linking to a page

    Creating a new page and adding a link to an existing page is the same process in Logseq. You have seen it above.

    If you press the [[]] and type a name, if that name already exists, a link to that page is created. Else, a new page is created.

    In the short video below, you can see the process of linking a note in another note.



    0:00
    /0:22



    Adding link to a page in Logseq in another note.

    Desktop Linux is mostly neglected by the industry but loved by the community. For the past 12 years, It’s FOSS has been helping people use Linux on their personal computers. And we are now facing the existential threat from AI models stealing our content.

    If you like what we do and would love to support our work, please become It’s FOSS Plus member. It costs $24 a year (less than the cost of a burger meal each month) and you get an ad-free reading experience with the satisfaction of helping the desktop Linux community.


    Join It’s FOSS Plus

    Referencing a block

    The main flexibility of Logseq lies in the linking of individual blocks. In each note, you have a parent node, then child nodes and grand-child nodes. These are distinguished by the indentation it has.

    So, in the case of block referencing, you should take utmost care in properly adding indent to the note blocks.

    Now, type ((. A search box will appear above the cursor. Start typing something, and it will highlight the matching block anywhere in Logseq.



    0:00
    /0:29



    Referencing a block inside a note. The block we are adding is part of another note.

    Similarly, you can right-click on a node and select “Copy block ref” to copy the reference code for that block.

    Exploring Pages, Links, Tags, and Block References in Logseq
    Copy Block Reference

    Now, if you paste this on other note, the main node content is pasted and the rest of that block (intended contents) will be visible on hover.

    Exploring Pages, Links, Tags, and Block References in Logseq
    Hover over reference for preview
    💡
    Instead of the “Copy block ref”, you can also choose “Copy block embed” and then paste the embed code. This will paste the whole block in the area where you pasted the embed code.

    🖇️ Block referencing with Markdown

    Once you have the block reference code, you can use it as a URL to link to a particular word, instead of pasting raw in a line. To do that, use the Markdown link syntax:

    [This is a link to the block](reference code of the block)

    For example:

    [This is a link to the block](((679b6c26-2ce9-48f2-be6a-491935b314a6)))

    So, when you hover over the text, the referenced content is previewed.

    Exploring Pages, Links, Tags, and Block References in Logseq
    Reference as Markdown Hyperlink

    Now that you have the basic building blocks, you can start organizing your notes into a proper knowledge base.

    In the next tutorial of this series, I’ll discuss how you can use plugins and themes to customize Logseq.

    Source: Read More

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleControversia sulla paternità del codice Rust per il sottosistema DRM nel kernel Linux
    Next Article The Ultimate Conversion Rate Optimization (CRO) Checklist

    Related Posts

    News & Updates

    Google’s DeepMind CEO lists 2 AGI existential risks to society keeping him up at night — but claims “today’s AI systems” don’t warrant a pause on development

    June 5, 2025
    News & Updates

    Anthropic researchers say next-generation AI models will reduce humans to “meat robots” in a spectrum of crazy futures

    June 5, 2025
    Leave A Reply Cancel Reply

    Continue Reading

    The 4 types of people interested in AI agents – and what businesses can learn from them

    News & Updates

    RoboCat: A self-improving robotic agent

    Artificial Intelligence

    How to Set Semantic Versioning for .NET Core Apps and Libraries

    Development

    Shield Your Organization: CEO’s Perspective on Take-Down Services

    Development

    Highlights

    Appium-Could not find ”apksigner.jar”

    July 2, 2024

    Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of ‘C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-uiautomator2-serverapksappium-uiautomator2-server-v4.21.1.apk’. Original error: Could not find ‘apksigner.jar’ in [“C:\Users\Rana Hamza\Desktop\sdk-tools\platform-tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\emulator\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\cmdline-tools\latest\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\apksigner.jar”]. Do you have Android Build Tools installed at ‘C:UsersRana HamzaDesktopsdk-tools’?
    Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’
    System info: host: ‘RANA’, ip: ‘192.168.10.4’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘15.0.2’
    Driver info: driver.version: AndroidDriver
    remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of ‘C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-uiautomator2-serverapksappium-uiautomator2-server-v4.21.1.apk’. Original error: Could not find ‘apksigner.jar’ in [“C:\Users\Rana Hamza\Desktop\sdk-tools\platform-tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\emulator\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\cmdline-tools\latest\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\apksigner.jar”]. Do you have Android Build Tools installed at ‘C:UsersRana HamzaDesktopsdk-tools’?
    at getResponseForW3CError (C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-base-driverlibprotocolerrors.js:804:9)
    at asyncHandler (C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-base-driverlibprotocolprotocol.js:380:37)
    Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’
    System info: host: ‘RANA’, ip: ‘192.168.10.4’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘15.0.2’
    Driver info: driver.version: AndroidDriver
    at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:208)
    at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)
    at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
    at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
    at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
    at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:94)
    at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:95)
    at Calculator.main(Calculator.java:30)
    Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:186)
    … 13 more
    Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of ‘C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-uiautomator2-serverapksappium-uiautomator2-server-v4.21.1.apk’. Original error: Could not find ‘apksigner.jar’ in [“C:\Users\Rana Hamza\Desktop\sdk-tools\platform-tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\emulator\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\cmdline-tools\latest\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\apksigner.jar”]. Do you have Android Build Tools installed at ‘C:UsersRana HamzaDesktopsdk-tools’?
    Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:25:53’
    System info: host: ‘RANA’, ip: ‘192.168.10.4’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘15.0.2’
    Driver info: driver.version: AndroidDriver
    remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of ‘C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-uiautomator2-serverapksappium-uiautomator2-server-v4.21.1.apk’. Original error: Could not find ‘apksigner.jar’ in [“C:\Users\Rana Hamza\Desktop\sdk-tools\platform-tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\emulator\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\cmdline-tools\latest\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\tools\bin\apksigner.jar”,”C:\Users\Rana Hamza\Desktop\sdk-tools\apksigner.jar”]. Do you have Android Build Tools installed at ‘C:UsersRana HamzaDesktopsdk-tools’?
    at getResponseForW3CError (C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-base-driverlibprotocolerrors.js:804:9)
    at asyncHandler (C:UsersRana HamzaAppDataRoamingnpmnode_modulesappiumnode_modulesappium-base-driverlibprotocolprotocol.js:380:37)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62)
    at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
    at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)
    … 18 more

    A Comprehensive Guide to IDMC Metadata Extraction in Table Format

    November 16, 2024

    Nvidia will train 100,000 California residents on AI in a first-of-its-kind partnership

    August 13, 2024

    Get your hands on one of the best Xbox controllers ever with the latest Elden Ring edition

    June 25, 2024
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.