कनेक्शन बदलने पर Mermaid नोड्स को तय पंक्तियों में रखने के लिए, जहाँ आपका रेंडरर इसका समर्थन करता हो, स्पष्ट कॉलम वाले ब्लॉक डायग्राम का उपयोग करें। Mac पर Obsidian में पहले इंस्टॉल किए गए रेंडरर की जाँच करें: फ़्लोचार्ट सबग्राफ़ इस लेआउट को विश्वसनीय रूप से लागू नहीं कर सकते।

यह गाइड एक काम पर केंद्रित है: छह सामान्य नोड्स को दो क्षैतिज पंक्तियों में व्यवस्थित करना और अलग-अलग नोड्स के बीच कनेक्शन बनाए रखना। अलग-अलग तय करें कि आपको संरेखित बॉक्स, समकोण वाले कनेक्टर मोड़ या दोनों चाहिए। एक आवश्यकता के लिए संतोषजनक परिणाम दूसरी आवश्यकता में विफल हो सकता है।

क्रॉस-कनेक्शन फ़्लोचार्ट की पंक्तियों को क्यों बिगाड़ते हैं?

Mermaid फ़्लोचार्ट की एक विशिष्ट सीमा बताता है: जब किसी सबग्राफ़ के भीतर का नोड उस सबग्राफ़ के बाहर कनेक्ट होता है, तो उसकी स्थानीय दिशा अनदेखी कर दी जाती है और वह पैरेंट ग्राफ़ की दिशा अपना लेता है। इसलिए, flowchart TB के भीतर direction LR घोषित की गई पंक्ति बाहरी कनेक्शन जोड़ने के बाद अपनी व्यवस्था बदल सकती है। आधिकारिक सबग्राफ़ दिशा सीमा देखें।

इस पूरे उदाहरणात्मक नोट में यह स्थिति मौजूद है। इसके दो आंतरिक कनेक्शन क्षैतिज पंक्तियों का संकेत देते हैं, लेकिन A --> D सबग्राफ़ की सीमा पार करता है:

```mermaid
flowchart TB
  subgraph RowOne[Row One]
    direction LR
    A[Alpha] --> B[Beta]
  end
  subgraph RowTwo[Row Two]
    direction LR
    D[Delta] --> E[Epsilon]
  end
  A --> D
```

Mermaid सबग्राफ़ ID से कनेक्शन भी समर्थित करता है। इसके बजाय RowOne को RowTwo से जोड़ने पर उनके आंतरिक नोड्स को लक्षित करने से बचा जा सकता है, लेकिन संबंध का अर्थ बदल जाता है: इससे Alpha और Delta के बजाय समूह जुड़ते हैं। यह विकल्प तभी अपनाएँ जब समूहों के बीच का संबंध सही हो। अदृश्य लिंक, जैसे A ~~~ B, दस्तावेज़ीकृत पोज़िशनिंग सहायता हैं, पंक्तियों को स्थिर रखने का दस्तावेज़ीकृत तरीका नहीं। फ़्लोचार्ट सिंटैक्स

इस काम के लिए अलग-अलग एंडपॉइंट बनाए रखें। आवश्यक नोड कनेक्शन की जगह समूह कनेक्शन रखने से चित्र अधिक साफ़ दिख सकता है, लेकिन वह जानकारी कम हो जाएगी जिसे उसे संप्रेषित करना है।

जाँचें कि आपका Mac वास्तव में कौन-सा रेंडरर इस्तेमाल कर रहा है

Obsidian की Settings खोलें, फिर General पर जाएँ और ऐप का मौजूदा संस्करण नोट करें। मौजूदा दस्तावेज़ों के अनुसार संस्करण की जानकारी और Read the changelog नियंत्रण वहीं हैं। किसी दूसरे बिल्ड के लिए लिखे निर्देश अपनाने से पहले अपने इंस्टॉल किए गए संस्करण के रिलीज़ नोट देखें। Settings — Obsidian Help

संस्करण की एक अहम सीमा है: Obsidian की 1.15.0 Desktop early-access रिलीज़, दिनांक 22 अक्टूबर 2026, डायग्राम रेंडरिंग के लिए Pele पेश करती है और Mermaid 12.1.0 सिंटैक्स के साथ संगतता बताती है। इस घोषणा से यह पता नहीं चलता कि पहले का कोई इंस्टॉल किया गया रिलीज़ कौन-सा रेंडरर इस्तेमाल करता है। Obsidian 1.15.0 Desktop रिलीज़ नोट

Pele अपने लेआउट इंजन का दस्तावेज़ देता है, जिसमें नोड की स्थितियाँ, स्पेसिंग और एज पाथ Mermaid से अलग हैं। इसकी संगतता सूची में block और block-beta दोनों शामिल हैं। इसलिए, केवल सिंटैक्स की संगतता इस बात का पर्याप्त प्रमाण नहीं है कि Obsidian का डायग्राम upstream Mermaid की रेंडरिंग जैसा दिखेगा। Pele संगतता

Upstream Mermaid में भी बदलाव हुए हैं: उसके लेआउट दस्तावेज़ कहते हैं कि संस्करण 12.0.0 में ELK बंडल किया गया और फ़्लोचार्ट के लिए डिफ़ॉल्ट बना; इससे पहले, होस्ट को अलग ELK पैकेज इंस्टॉल और रजिस्टर करना पड़ता था। इसलिए layout: elk चुनने की सलाह रेंडरर और संस्करण पर निर्भर होनी चाहिए। Mermaid लेआउट

काम की तुलना के लिए तीन चीज़ें साथ रखें: डायग्राम का सटीक सोर्स, Obsidian ऐप का संस्करण और रेंडरिंग का माहौल। एक समय में केवल एक चीज़ बदलें। अलग-अलग रेंडररों में अलग सोर्स टेक्स्ट की तुलना करने से यह पता नहीं चलेगा कि पंक्तियाँ क्यों खिसकीं।

पंक्तियों की स्पष्ट स्थिति तय करने के लिए ब्लॉक डायग्राम का उपयोग करें

Mermaid के ब्लॉक डायग्राम कॉलम के ज़रिए लेखक-नियंत्रित स्थिति देते हैं। ब्लॉक घोषित कॉलमों में भरते हैं और अगली पंक्तियों में लिपटते हैं; space खाली सेल आरक्षित करता है। इससे फ़्लोचार्ट रैंकिंग से स्वतंत्र रूप से बॉक्स व्यवस्थित करने का समर्थित Mermaid तरीका मिलता है। ब्लॉक डायग्राम सिंटैक्स

एक अस्थायी Obsidian नोट बनाएँ और नीचे दिया पूरा ब्लॉक पेस्ट करें, जिसमें शुरू और अंत की तीन-तीन बैकटिक भी शामिल हों। Obsidian डायग्राम को mermaid भाषा पहचानकर्ता वाले फ़ेंस्ड कोड ब्लॉक के रूप में दर्ज करता है। उन्नत फ़ॉर्मैटिंग सिंटैक्स — Obsidian Help

```mermaid
block
  columns 5
  A["Alpha"] space B["Beta"] space C["Gamma"]
  space:5
  D["Delta"] space E["Epsilon"] space F["Zeta"]

  A --> B
  B --> C
  D --> E
  E --> F
  A --> D
  B --> E
  C --> F
  A --> F
```

अपेक्षित व्यवस्था यह है: ऊपर की भरी हुई पंक्ति में Alpha, Beta, Gamma और उनके नीचे Delta, Epsilon, Zeta। पाँच कॉलम में दो क्षैतिज खाली जगहें हैं; space:5 भरी हुई पंक्तियों के बीच एक पूरी खाली पंक्ति आरक्षित करता है। कनेक्शन घोषित ब्लॉक ID का संदर्भ देते हैं। ये संरचनाएँ Mermaid के दस्तावेज़ीकृत कॉलम, स्पेसिंग और एज सिंटैक्स के अनुसार हैं। ब्लॉक डायग्राम सिंटैक्स

अगर इंस्टॉल किया गया रेंडरर block को पार्स न करे, तो संगतता की जाँच वहीं रोकें। पुराने रूप block-beta को आज़माने से पहले उसका दस्तावेज़ीकृत सिंटैक्स देखें; Pele दोनों को स्पष्ट रूप से सूचीबद्ध करता है, लेकिन इससे यह साबित नहीं होता कि हर पुराने Obsidian रिलीज़ में उनका समर्थन है। यहाँ दिए उदाहरणों को दस्तावेज़ों के आधार पर जाँचा गया था, किसी इंस्टॉल किए गए Obsidian रेंडरर में चलाकर नहीं। Pele संगतता

नतीजे का दो चरणों में मूल्यांकन करें। पहले छह लेबल और उनकी अपेक्षित पंक्ति-स्थिति जाँचें। फिर सभी आठ संबंध देखें, खासकर Alpha से Zeta तक का विकर्ण कनेक्शन। बॉक्स लेआउट स्वीकार करने से कोई अस्पष्ट या एक-दूसरे पर चढ़ता कनेक्टर नज़रअंदाज़ नहीं होना चाहिए।

क्या समकोण वाले कनेक्टरों के लिए भी पंक्तियाँ तय रखना ज़रूरी है?

कनेक्टरों की दिखावट को अलग स्वीकृति-जाँच मानें। Mermaid का फ़्लोचार्ट कॉन्फ़िगरेशन curve को एज-रेंडरिंग सेटिंग के रूप में परिभाषित करता है और इसके मानों में step, stepBefore और stepAfter शामिल हैं। यह समान स्तरों पर नोड्स के लिए nodeSpacing और अलग-अलग स्तरों के लिए rankSpacing को अलग से परिभाषित करता है। ये सेटिंग्स दिखावट और स्पेसिंग से जुड़ी हैं; इनके दस्तावेज़ीकृत उद्देश्यों से पंक्ति-स्थिति तय रहने की पुष्टि नहीं होती। फ़्लोचार्ट डायग्राम कॉन्फ़िग स्कीमा

ब्लॉक उदाहरण बॉक्स की स्थिति तय करता है। यह आश्वासन नहीं देता कि हर क्रॉस-कनेक्शन में केवल क्षैतिज और ऊर्ध्वाधर खंड ही होंगे। यह न मानें कि फ़्लोचार्ट की कर्व सेटिंग ब्लॉक डायग्राम के कनेक्टर नियंत्रित करती है, या upstream Mermaid में स्वीकार की गई सेटिंग Pele में बिल्कुल उसी तरह काम करेगी।

डायग्राम में समय लगाने से पहले इस निर्णय-सहायिका का उपयोग करें:

ज़रूरी परिणाम व्यावहारिक विकल्प स्वीकृति-जाँच
अलग-अलग क्रॉस-कनेक्शन के साथ दो तय पंक्तियाँ जहाँ समर्थित हो, ब्लॉक डायग्राम हर नोड अपनी निर्धारित पंक्ति में रहे
लचीली स्थिति वाला पढ़ने योग्य फ़्लोचार्ट फ़्लोचार्ट लेआउट और स्पेसिंग में बदलाव हर संपादन के बाद संबंध स्पष्ट रहें
पूरे समूहों के बीच कनेक्शन जहाँ अर्थ की दृष्टि से सही हों, सबग्राफ़ एंडपॉइंट एंडपॉइंट इच्छित संबंध बताएँ
Obsidian के भीतर हाथ से व्यवस्थित बॉक्स Canvas कार्ड की स्थिति और कनेक्शन इच्छित डायग्राम से मेल खाएँ
तय पंक्तियाँ और निर्धारित कनेक्टर मोड़ दोनों आवश्यकताओं का अलग-अलग मूल्यांकन करें असली रेंडरर में हर मोड़ और क्रॉसिंग देखें

अगर आपका इंस्टॉल किया गया Obsidian ब्लॉक डायग्राम रेंडर न कर सके तो क्या करें?

Mac पर ऐसा सामान्य काम जिसमें हाथ से रखे गए कार्ड स्वीकार्य हों, उसके लिए Obsidian Canvas एक दस्तावेज़ीकृत विकल्प देता है। कमांड पैलेट खोलें और Canvas: Create new canvas चुनें। टेक्स्ट कार्ड बनाने के लिए Canvas पर डबल-क्लिक करें, फिर छह काल्पनिक लेबल दर्ज करें। Canvas — Obsidian Help

ऊपर के तीन कार्ड चुनें और Align, फिर Arrange in a row का उपयोग करें। नीचे के तीन कार्डों के लिए यही दोहराएँ। ज़रूरत के अनुसार स्पेसिंग बदलें। कार्ड कनेक्ट करने के लिए, कार्ड के किनारे पर होवर करें; भरा हुआ वृत्त दिखने पर उसे खींचकर दूसरे कार्ड के किनारे तक ले जाएँ। ये व्यवस्थित करने और कनेक्ट करने के नियंत्रण Canvas की दस्तावेज़ीकृत सुविधाएँ हैं। Canvas — Obsidian Help

Canvas एक अलग .canvas दस्तावेज़ बनाता है, इनलाइन Mermaid कोड ब्लॉक नहीं। जब कार्डों को सीधे व्यवस्थित करना स्वीकार्य डिलिवरेबल हो, तब इसे चुनें। इसके स्थिति-नियंत्रण पंक्तियों की आवश्यकता पूरी करते हैं, लेकिन उद्धृत दस्तावेज़ मनमाने कनेक्टर वेपॉइंट संपादित करने की पुष्टि नहीं करते। Canvas — Obsidian Help

और कनेक्शन जोड़ने से पहले नतीजे की पुष्टि करें

असमर्थित सिंटैक्स और लेआउट के व्यवहार में अंतर जानने के लिए तुलना के छोटे चरण इस्तेमाल करें। यह दस्तावेज़ीकृत सीमाओं से निकली जाँच-प्रक्रिया है, किसी Obsidian इंस्टॉलेशन में परीक्षण का दावा नहीं:

  1. आठ कनेक्शन लाइनों के बिना छह घोषित ब्लॉक रेंडर करें। पंक्ति-स्थिति जाँचें।
  2. पंक्तियों के भीतर के चार कनेक्शन वापस जोड़ें। लेबल और तीरों की दिशा जाँचें।
  3. समान कॉलम वाले तीन कनेक्शन वापस जोड़ें। पंक्तियों के बीच की जगह देखें।
  4. अंत में A --> F वापस जोड़ें। जाँचें कि उसका रास्ता पढ़ने योग्य है या नहीं।
  5. अंतिम सोर्स को उस माहौल में फिर खोलें जहाँ आप उसे पढ़ना चाहते हैं। उसी रेंडरिंग का मूल्यांकन करें।

अगर पहला चरण पार्स न हो, तो स्पेसिंग बदलने से पहले डायग्राम समर्थन की जाँच करें। अगर स्थिति ठीक है लेकिन कोई कनेक्टर अस्पष्ट है, तो उसी रास्ते को ठीक करें या प्रस्तुति के तरीके पर फिर से विचार करें। विकल्पों की तुलना करते समय सभी ज़रूरी संबंध दिखते रहने दें; परेशानी वाला कनेक्शन मिटाने से वही स्थिति हट जाएगी जिसे डायग्राम को संभालना है।

पंक्तियाँ स्थिर रखने के लिए, स्पष्ट ब्लॉक स्थिति से शुरुआत करें और अपने इंस्टॉल किए गए रेंडरर में उसे जाँचें। नोड संबंध बनाए रखें, कनेक्टरों की बनावट अलग से देखें और जब कार्डों को सीधे व्यवस्थित करना अधिक व्यावहारिक हो, तब Canvas का उपयोग करें।

स्रोत