মার্ক ডাউনে ক্রস-রেফারেন্স (নামযুক্ত অ্যাঙ্কর)


510

এর সমতুল্য জন্য মার্কডাউন সিনট্যাক্স আছে :

Take me to <a href="#pookie">pookie</a>

... 

<a name="pookie">this is pookie</a>

উত্তর:


689
Take me to [pookie](#pookie)

পুকি নামক অ্যাঙ্কার পয়েন্টে লাফিয়ে উঠতে সঠিক মার্কডাউন সিনট্যাক্স হওয়া উচিত।

এই নামের একটি অ্যাঙ্কর পয়েন্ট Toোকাতে HTML ব্যবহার করুন:

<a name="pookie"></a>

আপনি অ্যাঙ্কার পয়েন্টটি কোথায় রেখেছিলেন তা মার্কডাউন মনে করবেন না। এটি রাখার জন্য দরকারী জায়গা a উদাহরণ স্বরূপ:

### <a name="tith"></a>This is the Heading

খুব ভাল কাজ করে। (আমি এখানে প্রদর্শন করব তবে এস-এর রেন্ডারার অ্যাঙ্করটি সরিয়ে ফেলবে))

স্ব-সমাপনী ট্যাগ এবং id=বিপরীতে নোটname=

এই পোস্টের পূর্ববর্তী সংস্করণটি <a id='tith' />এক্সএইচটিএমএল-এর জন্য স্ব-সমাপনী সিনট্যাক্স ব্যবহার করে এবং এর idপরিবর্তে বৈশিষ্ট্যটি ব্যবহার করার পরামর্শ দিয়েছে name

এক্সএইচটিএমএল কোনও ট্যাগকে 'খালি' এবং 'স্ব-বদ্ধ' হওয়ার অনুমতি দেয়। এটি হ'ল <tag />সংক্ষিপ্ত হাত <tag></tag>, খালি শরীরের সাথে ট্যাগগুলির একটি মিল ched বেশিরভাগ ব্রাউজারগুলি এক্সএইচটিএমএল গ্রহণ করবে তবে কিছু তা গ্রহণ করে না। ক্রস-ব্রাউজারের সমস্যা এড়াতে <tag></tag>, উপরের পরামর্শ মতো ট্যাগটি স্পষ্টভাবে ব্যবহার করে বন্ধ করুন ।

অবশেষে, name=বিশিষ্টটি এক্সএইচটিএমএলে হ্রাস করা হয়েছিল, তাই আমি মূলত ব্যবহার করেছি id=, যা প্রত্যেকেই স্বীকৃতি দেয়। তবে, ব্যবহার করার সময় এইচটিএমএল 5 এখন জাভাস্ক্রিপ্টে একটি বৈশ্বিক পরিবর্তনশীল তৈরি করে id=এবং এটি সম্ভবত আপনি যা চান তা নাও হতে পারে। সুতরাং, ব্যবহার name=করা এখন আরও বন্ধুত্বপূর্ণ হওয়ার সম্ভাবনা রয়েছে।

(ধন্যবাদ Slipp ডগলাস আমাকে এক্সএইচটিএমএল ব্যাখ্যা জন্য, এবং পেরেকনির্মাতা HTML5 এর পার্শ্ব প্রতিক্রিয়া ইশারা জন্য - মতামত ও দেখতে পেরেকনির্মাতা এর উত্তর আরো বিস্তারিত জন্য। name=সব জায়গায় কাজ বলে মনে হচ্ছে, যদিও এটা এক্সএইচটিএমএল মধ্যে অসমর্থিত হয়েছে।)


1
স্ট্যাকওভারফ্লো এইচটিএমএলকে রেন্ডার করার পরে কীভাবে আপনার শিরোনাম ডেমোতে লিঙ্ক করবেন আপনি তা দেখতে পাচ্ছেন না কারণ তাদের রেন্ডার্ডগুলি আপনার <a> ট্যাগটি সরিয়ে দিচ্ছে । এটি, আপনি স্ট্যাকওভারফ্লো মার্কডাউন এ পারবেন না।
স্লিপ ডি। থম্পসন

2
যাইহোক, এটি অন্যান্য, আরও উদারমতি মার্কডাউন রেন্ডারগুলিতে কাজ করবে, তবে আপনার একটি ক্লোজিং <a> ট্যাগ লাগবে ; <a> ট্যাগ নিজে-বন্ধ অনুমতি দেয় না। এছাড়াও, আমি আমার ব্রাউজারটিকে শিরোনামটি ছাড়তে পেলাম যদি না << ট্যাগ হেডারের সামগ্রীর আগে না থাকে। আপনার উদাহরণগুলিতে সংশোধন করা হয়েছে।
স্লিপ ডি। থম্পসন

2
ওখানে ধরে রাখো, কাউবয়। <a>হ্রেফ ছাড়া কোনও স্টাইল না রাখার অর্থ এই নয় যে এটি স্বয়ং বন্ধ হয়ে যাচ্ছে। আমি পুরোপুরি উন্মাদ হয়ে থাকি, যদি না এই দুটোই: পরীক্ষা-এক্সএইচটিএমএল 11 এবং [ sln.6bitt.com/public/test-html5.html ঠিকানা করা / html5) বাকী পৃষ্ঠাটি <a> ট্যাগের মধ্যে রেন্ডার করে। এগিয়ে যান এবং আপনার পছন্দের ওয়েব পরিদর্শকের সাথে পরিদর্শন করুন।
স্লিপ ডি। থম্পসন

4
@ স্লিপ: ঠিক আছে আমি মনে করি আমি এখন বুঝতে পেরেছি। আপনি কোড করেছেন <a id="hi"/> rest of doc, তবে এরকম ব্যবহার করা হয়েছিল <a id="hi"> rest of doc</a>। (এবং পৃষ্ঠার উপাদান বিশ্লেষণ এটিও দেখায়)) আমার ভুল: আমি কাঁচা উত্স নয় এমন উপাদানগুলির দিকে চেয়েছিলাম। আপনি কি মনে করেন যে এই পর্যবেক্ষণের আলোকে উত্তরটি সংশোধন করা উচিত?
স্টিভ পাওয়েল

3
nameঅ্যাট্রিবিউট বিশ্ব ভেরিয়েবল (দেখুন সৃষ্টি stackoverflow.com/questions/3434278/... ), তাই আপনি ভাল হিসাবে ব্যবহার হতে পারে idঅ্যাট্রিবিউট টুকরা আইডেন্টিফায়ার URL গুলির টার্গেট হিসাবে, যেমন উদ্দেশ্যে।
ববি জ্যাক

92

বিটবুকিট.আর.জে ভোট প্রাপ্ত সমাধান কার্যকর হবে না। পরিবর্তে, শিরোনামগুলি (## সহ) ব্যবহার করার সময়, তাকে # মার্কডাউন-শিরোনাম-আমার-শিরোনাম-নাম হিসাবে উপসর্গ করে অ্যাঙ্কর হিসাবে উল্লেখ করা সম্ভব, যেখানে # চিহ্নিতকরণ-শিরোনাম- রেন্ডার দ্বারা উত্পাদিত একটি অন্তর্নিহিত উপসর্গ এবং বাকী স্থানগুলি ড্যাশগুলি প্রতিস্থাপন করে লোয়ার-কেসড শিরোনাম শিরোনাম।

উদাহরণ

## My paragraph title

এই মত একটি অন্তর্নিহিত অ্যাঙ্কর উত্পাদন করবে

#markdown-header-my-paragraph-title

প্রতিটি অ্যাঙ্কর রেফারেন্সের পূর্বে পুরো URL টি alচ্ছিক, অর্থাত্‍

[Some text](#markdown-header-my-paragraph-title)

এর সমতুল্য

[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title) 

যদি তারা একই পৃষ্ঠায় থাকে তবে

উত্স: https://bitbucket.org/tutorials/markdowndemo/overview (এই .md ফাইলের উত্স সম্পাদনা করুন এবং অ্যাঙ্কারগুলি কীভাবে তৈরি করা হয় তা দেখুন)।


1
এটি পাশাপাশি করতে পারে। এর মতে: confluence.atlassian.com/bitbucket/… , বিটবাকেট বিষয়বস্তু সারণীর প্রসারকে সমর্থন করে যা নথির শিরোনামের ভিত্তিতে লিঙ্ক এবং অ্যাঙ্করগুলি স্বয়ংক্রিয়ভাবে তৈরি করতে পারে rate টিওসি এক্সটেনশানটি এখানে নথিভুক্ত করা হয়েছে: পাইথনহসটেড.আর. / মার্কডাউন / এক্সটেনশনস / টোক এইচটিএমএল এটি তৈরি করার জন্য নথির শুরুতে "[TOC]" পাঠ্য যুক্ত করুন।
বাইনারি ফিলি

8
গিথুব-এ, ## My paragraph titleনিম্নলিখিত অ্যাঙ্কর তৈরি করবে user-content-my-paragraph-title, যাতে আপনি এটি [কিছু পাঠ্য] (# ব্যবহারকারী-সামগ্রী-আমার-অনুচ্ছেদ-শিরোনাম) দিয়ে উল্লেখ করতে পারেন। তবে আমি এর জন্য অফিসিয়াল ডকুমেন্টেশন পাইনি found
টোটো_টিকো

এটি আমাকে বিটবাকেটেও সহায়তা করেছে - একটি কবজির মতো কাজ করে।
স্কট বায়ার্স

1
এটি দরকারী তথ্য; ধন্যবাদ. তবে এক্সটেনশন ছাড়াই মার্কডাউন রেন্ডারারগুলি আপনার জন্য এই অ্যাঙ্কারগুলি জেনারেট করবে না এবং সংঘর্ষের শিরোনামের নামগুলি সংঘর্ষে অ্যাঙ্কার আইডস (বা সংখ্যার মতো কিছু সংঘাতহীন পার্থক্যমূলক কৌশল) তৈরি করবে। সুস্পষ্ট অ্যাঙ্কর আইডিগুলি আরও ভাল, আরও নিয়ন্ত্রণযোগ্য, পাঠ্য আপডেটের কারণে এলোমেলো পরিবর্তন সাবলীল নয় (উপরের কৌশলটি দেখুন) এবং কেবল শিরোনামের চেয়ে বেশি অ্যাঙ্করিংয়ের জন্য দরকারী। উভয় কৌশল সাধারণভাবে প্রয়োজন।
স্টিভ পাওয়েল

উপর stackedit.io [linky](#header) অবশ্যই যথেষ্ট নোঙ্গর ছিল, এবং কাজ যখন খুব সারকথা প্রকাশিত।
ফিলিপ আলভারেজ

66

ব্যবহার ক nameidএইচটিএমএল 5 এ একটি ব্যবহার করা প্রয়োজনীয় নয় এবং এটি আপনার জাভাস্ক্রিপ্টে গ্লোবাল ভেরিয়েবল তৈরি করবে

এইচটিএমএল 5 স্পেসিফিকেশন দেখুন, 5.9.8 একটি খণ্ড সনাক্তকারী - নেভিগেটে উভয় idএবংname ব্যবহৃত হয়।

এটি জেনে রাখা গুরুত্বপূর্ণ যে বেশিরভাগ ব্রাউজারগুলি এখনও আইডিগুলিকে গ্লোবাল ভেরিয়েবলগুলিতে পরিণত করে । এখানে একটি দ্রুত পরীক্ষা । ব্যবহার করে একটিname এড়াতে globals তৈরি এবং কোন দ্বন্দ্ব যে হতে পারে।

একটি নাম ব্যবহার করে উদাহরণ:

Take me to [pookie](#pookie)

এবং গন্তব্য অ্যাঙ্কর:

### <a name="pookie"></a>Some heading

5
Downvoting। গ্লোবাল ভেরিয়েবল আর্গুমেন্ট দুর্বল যেহেতু আপনার জেএস-তে কোনওভাবেই (সরাসরি) গ্লোবাল ভেরিয়েবলগুলি সংজ্ঞায়িত করা উচিত নয়, তাই কোনও বিবাদ ঘটবে না। এছাড়াও, এর শব্দার্থক শব্দগুলি nameএবং idপৃথক।
মার্নেন লাইবো-কোসার

9
@ মার্নেনলাইবো-কোসার কেউ জেএসে বৈশ্বিক ভেরিয়েবল সংজ্ঞায়িত করার বিষয়ে আলোচনা করছেন না। এইচটিএমএলে আইডি তৈরি করা বেশিরভাগ ব্রাউজারে একটি গ্লোবাল উইন্ডো তৈরি করে ome
মাইকমেকানা

14
@ মার্নেনলাইবো-কোসার অনেক লাইব্রেরি (যেমন, আপনার নিজের জেএস নয়, তবে অন্য কারও) একক বিশ্বব্যাপী ব্যবহার করে - উদাহরণস্বরূপ, ফাইনআপলোডার। আপনি যদি একটি আইডি দিয়ে একটি উপাদান তৈরি করেন fineuploader, আপনি fineuploaderমডিউলটি ব্যবহার করতে পারবেন না । অপ্রয়োজনীয় গ্লোবাল তৈরি করা এড়ানো এই দ্বন্দ্বগুলি এড়াতে সহায়তা করে।
মাইকমেকানা

5
আমি সেই মামলার কয়েকটি পরীক্ষা চালাতে আগ্রহী এবং কোনটি প্রাধান্য পাবে তা খুঁজে বের করতে আগ্রহী। আমি তাত্ত্বিক ইস্যুটির প্রশংসা করি, তবে ক্লায়েন্ট-পার্শ্ব বিকাশের বছরগুলিতে আমি কোনও ক্লায়েন্ট-সাইড জেএস (আইডিএমএলটি অন্যথায় বৈধ না থাকলে) কোনও আইডি ভাঙ্গেনি। আমি প্রকৃত সমস্যায় না পড়া পর্যন্ত এগুলি শব্দার্থগতভাবে উপযুক্ত হয়ে উঠলে আমি তাদের ব্যবহার চালিয়ে যাব।
মার্নেন লাইবো-কোসার

2
@ মার্নেনলাইবো-কোসার আমি (এবং আরও অনেকের) এইচটিএমএল আইডি সত্যিকারের জাভাস্ক্রিপ্টটি ভেঙে ফেলেছি - আপনি যে মন্তব্যে উত্তর দিচ্ছেন তাতে একটি বাস্তব ব্যবহারিক উদাহরণ রয়েছে! এমন অনেক স্টাইলগাইড এবং সংস্থাগুলি রয়েছে যা সর্বদা ক্লাস ব্যবহার করে এমনকি একক জন্যও, এবং এ কারণেই।
মাইকম্যাকানা

17

মার্কডাউন অ্যাঙ্কর হ্যাশমার্ককে সমর্থন করে, তাই পৃষ্ঠায় একটি অ্যাঙ্কারের লিঙ্কটি কেবল[Pookie](#pookie)

অ্যাঙ্কর তৈরি করা প্রকৃতপক্ষে গ্রুবার মার্কডাউনে সমর্থিত নয়, তবে মার্কাউন ডাউন এক্সট্রা এর মতো অন্যান্য বাস্তবায়নে রয়েছে ।

মার্কডাউন অতিরিক্তে, অ্যাঙ্কর আইডি একটি শিরোলেখ বা সাবহেড দিয়ে সংযুক্ত করা হয় {#pookie}

গিট সংগ্রহস্থল পৃষ্ঠাগুলিতে গিথুব স্বাদযুক্ত মার্কডাউন (তবে গিস্টগুলিতে নয়) স্বয়ংক্রিয়ভাবে সমস্ত শিরোনামে (এইচ 1, এইচ 2, এইচ 3, ইত্যাদি) বেশ কয়েকটি মার্কআপ ট্যাগ সহ অ্যাঙ্কারগুলি উত্পন্ন করে:

  • id="user-content-HEADERTEXT"
  • class="anchor"
  • href="#HEADERTEXT"
  • aria-hidden="true" (এটি একটি এসজিজি লিঙ্ক আইকনের জন্য যা মাউসওভারে প্রদর্শিত হয়)

আরিয়া / এসভিজি আইকন বাদ দিয়ে, যখন কেউ লিখেছেন:

  • # Header Title

গিথুব উত্পন্ন:

  • <h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>

অতএব, হেডার লিঙ্কগুলি তৈরি করতে আপনার কিছু করার দরকার নেই এবং সর্বদা তাদের সাথে লিঙ্ক করতে পারেন:

  • লিঙ্ক [Header Title](#header-title)

16

আসল মার্কডাউন সিনট্যাক্সে এটি করার জন্য কোনও সহজেই উপলভ্য সিনট্যাক্স নেই, তবে মার্কডাউন অতিরিক্ত অতিরিক্ত অন্তত শিরোনামগুলিতে আইডি নির্ধারণের একটি উপায় সরবরাহ করে - যা আপনি সহজেই লিঙ্ক করতে পারেন। এছাড়াও লক্ষ করুন যে আপনি মার্কডাউন এবং মার্কডাউন অতিরিক্ত উভয় ক্ষেত্রেই নিয়মিত এইচটিএমএল ব্যবহার করতে পারেন এবং এইচটিএমএল এর আরও সাম্প্রতিক সংস্করণগুলিতে nameএই idবৈশিষ্ট্যটি অ্যাট্রিবিউটটি ছাড়িয়ে গেছে।


8

গিটবুকের যে কেউ এই সমস্যার সমাধান খুঁজছেন তার জন্য। এভাবেই আমি এটি (গিটবুকে) কাজ করেছি work আপনাকে অবশ্যই আপনার শিরোনামটি স্পষ্টভাবে ট্যাগ করতে হবে:

# My Anchored Heading {#my-anchor}

তারপরে এই অ্যাঙ্করের সাথে লিঙ্ক করুন

[link to my anchored heading](#my-anchor)

সমাধান এবং অতিরিক্ত উদাহরণগুলি এখানে পাওয়া যেতে পারে: https://seadude.gitbooks.io/learn-gitbook/


ধন্যবাদ! এইটা কাজ করে! এই upvated করা উচিত!
ডেক্সটার

7

পার্টিতে দেরীতে, তবে আমি মনে করি এই সংযোজনটি কাজ করা লোকদের পক্ষে উপকারী হতে পারে rmarkdown। ইন rmarkdownসেখানে বিল্ট-ইন আপনার দস্তাবেজে হেডার উল্লেখ জন্য সমর্থন করা হয়।

দ্বারা নির্ধারিত কোনও শিরোনাম

# Header

দ্বারা রেফারেন্স করা যেতে পারে

get me back to that [header](#header)

নিম্নলিখিতটি একটি ন্যূনতম স্বতন্ত্র .rmdফাইল যা এই আচরণটি দেখায়। এটি বর্তমানে এমন বোনা যেতে পারে .pdfএবং .html

---
title: "references in rmarkdown"
output:
  html_document: default
  pdf_document: default
---

# Header

Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. 

Go back to that [header](#header).

4

সর্বশেষতম মার্কডাউন ব্যবহার করে, আপনাকে নিম্নলিখিত সিনট্যাক্সটি ব্যবহার করতে সক্ষম হওয়া উচিত:

[](){:name='anchorName'}

এটি নিম্নলিখিত HTML তৈরি করা উচিত:

<a name="anchorName"></a>

আপনি যদি অ্যাঙ্করটিকে পাঠ্য রাখতে চান তবে কেবল বর্গাকার বন্ধনীগুলির মধ্যে অ্যাঙ্কর পাঠ্য যুক্ত করুন:

[Some Text](){:name='anchorName'}


দেখে মনে হচ্ছে কেবল Marukuএই সিনট্যাক্স সম্পর্কে জানে। ব্যাবেলমার্কটি দেখুন।
ইউলিস বিএন 13

3

বেশিরভাগ সাধারণ মার্কডাউন জেনারেটরের জন্য। প্রতিটি শিরোনামে আপনার কাছে একটি সাধারণ স্ব উত্পন্ন অ্যাঙ্কর রয়েছে। প্যান্ডোকের সাথে উদাহরণস্বরূপ , উত্পন্ন অ্যাঙ্করটি আপনার শিরোনামের কাবাব কেস স্লাগ হবে।

 echo "# Hello, world\!" | pandoc
 # => <h1 id="hello-world">Hello, world!</h1>

আপনি কোন মার্কডাউন পার্সার ব্যবহার করছেন তার উপর নির্ভর করে অ্যাঙ্কর বদলে যেতে পারে (প্রতীকী এবং লা মিউরেতে পেলুডার উত্তরগুলির উদাহরণ নিতে পারেন, তারা আলাদা!)। আপনার ব্যাডমার্কটি দেখুন যেখানে আপনি আপনার মার্কডাউন বাস্তবায়নের উপর নির্ভর করে উত্পন্ন অ্যাঙ্কর দেখতে পাবেন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.