আমি মার্কডাউন ব্যবহার করে অনুচ্ছেদে কোনও শ্রেণির নাম সংজ্ঞায়িত করতে পারি?


139

আমি মার্কডাউন ব্যবহার করে অনুচ্ছেদে কোনও শ্রেণির নাম সংজ্ঞায়িত করতে পারি? যদি তাই হয়, কিভাবে?


54
আমি জিজ্ঞাসা করার আরও সুনির্দিষ্ট উপায় সম্পর্কে অবগত নই "মার্কডাউন ব্যবহার করে আমি কি অনুচ্ছেদে কোনও শ্রেণীর নাম সংজ্ঞায়িত করতে পারি?" আপনি কি শিরোনাম পড়তে ভুলে গেছেন?
রায়ান ফ্লোরেন্স

[পক্ষপাতিত্ব] আপনি যদি নোড ব্যবহারকারী হয়ে থাকেন তবে দয়া করে রোহকে দেখুন । যদিও এটি মার্কডাউনের সাথে 100% সামঞ্জস্যপূর্ণ নয় তবে আপনি এটি এখনও খুব আকর্ষণীয় দেখতে পাবেন কারণ এটির বৈশিষ্ট্যটি এর মূল অংশে আপনার প্রয়োজন।
দেহধারী

উত্তর:


76

ডুপ: আমি কীভাবে একটি মার্কেটে এইচটিএমএল শ্রেণির বৈশিষ্ট্য সেট করব?


নেটিভ? না কিন্তু...

না, মার্কডাউন এর সিনট্যাক্স পারে না। আপনি মার্কডাউন অতিরিক্ত মাধ্যমে আইডি মান সেট করতে পারেন ।

আপনি যদি চান তবে আপনি নিয়মিত এইচটিএমএল ব্যবহার করতে পারেন এবং markdown="1"এইচটিএমএল উপাদানটির মধ্যে মার্কডাউন-রূপান্তর অবিরত করতে বৈশিষ্ট্যটি যুক্ত করতে পারেন । এটির জন্য যদিও ডাউন ডাউন ডাউন ডাউন প্রয়োজন ।

<p class='specialParagraph' markdown='1'>
**Another paragraph** which allows *Markdown* within it.
</p>

সম্ভাব্য সমাধান: (স্বাক্ষরিত এবং এর উদ্দেশ্যে <blockquote>)

আমি নিম্নলিখিতটি অনলাইনে পেয়েছি:

ক্রিয়া

function _DoBlockQuotes_callback($matches) {

    ...cut...

    //add id and class details...
    $id = $class = '';
    if(preg_match_all('/\{(?:([#.][-_:a-zA-Z0-9 ]+)+)\}/',$bq,$matches)) {
        foreach ($matches[1] as $match) {
            if($match[0]=='#') $type = 'id';
            else $type = 'class';
            ${$type} = ' '.$type.'="'.trim($match,'.# ').'"';
        }
        foreach ($matches[0] as $match) {
            $bq = str_replace($match,'',$bq);
        }
    }

    return _HashBlock(
        "<blockquote{$id}{$class}>\n$bq\n</blockquote>"
    ) . "\n\n";
}

Markdown

>{.className}{#id}This is the blockquote

ফলাফল

<blockquote id="id" class="className">
    <p>This is the blockquote</p>
</blockquote>

2
(MaRuKu পার্সার দিয়ে পরীক্ষিত) আপনি P ট্যাগটি প্রভাবিত করতে পাঠ্যের একটি লাইনের শুরুতে "" ক্লাস-নাম} "ব্যবহার করতে পারেন। আইডি অংশটি উপেক্ষা করা হবে।
ডেভিড হাচিসন

75

কাঁচা এইচটিএমএল আসলে ডাউনডাউনে পুরোপুরি বৈধ। এই ক্ষেত্রে:

Normal *markdown* paragraph.

<p class="myclass">This paragraph has a class "myclass"</p>

এইচটিএমএল কোনও কোড ব্লকের ভিতরে নেই তা নিশ্চিত করুন।


31
এই পদ্ধতির সমস্যাটি হ'ল অভ্যন্তরীণ পাঠ্যটি আর চিহ্নডাউন নয়।
আকৌপ্পি

@ কাকাপ্পি হ্যাঁ; যদিও এটি একটি স্প্যান ট্যাগ ব্যবহার করে প্রায় অর্জিত হতে পারে।
Seraphendipity

13

আপনার পরিবেশটি যদি জাভাস্ক্রিপ্ট হয় তবে প্লাগইন মার্কডাউন-এটি-এট্রেসগুলির সাথে মার্কডাউন-এটি ব্যবহার করুন :

const md = require('markdown-it')();
const attrs = require('markdown-it-attrs');
md.use(attrs);

const src = 'paragraph {.className #id and=attributes}';

// render
let res = md.render(src);
console.log(res);

আউটপুট

<p class="className" id="id" and="attributes">paragraph</p>

jsfiddle

দ্রষ্টব্য: আপনার মার্কডাউনে অ্যাট্রিবিউটগুলি অনুমোদনের সময় সুরক্ষা দিক সম্পর্কে সচেতন হন!

দাবি অস্বীকার, আমি মার্কডাউন-এটি-অ্যাটর্সগুলির লেখক।


মার্কডাউন ইট রকস !!
ওলে

8

মার্কডাউন এই ক্ষমতা থাকা উচিত , কিন্তু এটি না। পরিবর্তে, আপনি ভাষা-নির্দিষ্ট মার্কডাউন সুপারসেটের সাথে আটকে আছেন:

পিএইচপি: মার্কডাউন অতিরিক্ত
রুবি: ক্রামডাউন , মারুকু

তবে আপনার যদি সত্যিকারের মার্কডাউন সিনট্যাক্স মেনে চলার দরকার হয় তবে আপনি কাঁচা এইচটিএমএল সন্নিবেশ করিয়ে আটকে যা যা কম আদর্শ।


7

যদি আপনার মার্কাউনডের স্বাদ ক্র্যামডাউন হয় তবে আপনি এই জাতীয় CSS ক্লাস সেট করতে পারেন:

{:.nameofclass}
paragraph is here

তারপরে আপনার সিএসএস ফাইলে আপনি সিএসএসকে এভাবে সেট করলেন:

.nameofclass{
   color: #000;
  }

5

@ ইয়্যারিনের উত্তর অনুসরণ করে ক্রমডাউন করার জন্য এখানে একটি কার্যকারী উদাহরণ।

A simple paragraph with a class attribute.
{:.yourClass}

তথ্যসূত্র: https://kramdown.gettalong.org/syntax.html#inline-attribute-lists


1
আমি এই সম্পর্কে কোন ধারণা ছিল না। মার্কডাউন প্রিভিউ (সুবাইম 3) এর সাথে বিল্টিন Python Markdownপার্সার ব্যবহার করে বেশ ভাল কাজ করে ।
মিহাই

3

উপরে উল্লিখিত মার্কডাউন নিজেই আপনাকে এটিকে ঝুলিয়ে রাখবে। যাইহোক, বাস্তবায়নের উপর নির্ভর করে কিছু কার্যকারিতা রয়েছে:

এমডি এর কমপক্ষে একটি সংস্করণ <div>ব্লক স্তরের ট্যাগ হিসাবে বিবেচনা করে তবে <DIV>এটি কেবল পাঠ্য। সমস্ত ব্রোসর অবশ্য সংবেদনশীল। এটি আপনাকে ডিডি কনটেইনার ট্যাগ যুক্ত করে এমডির সিন্ট্যাক্স সরলতার রাখতে দেয়।

সুতরাং নিম্নলিখিতটি কার্যনির্বাহী:

<DIV class=foo>

  Paragraphs here inherit class foo from above.

</div>

এর নেতিবাচক দিকটি হ'ল আউটপুট কোডগুলিতে লাইনগুলি <p>মোড়ানো ট্যাগগুলি <div>রয়েছে (এটি উভয়ই প্রথম কারণ এটি নয় এবং দ্বিতীয় কারণ এটি মেলে না। আমি খুঁজে পেয়েছি যে কোনও ব্রাউজার এই সম্পর্কে ফিউস করে না, তবে কোডটি জিতেছে ' বৈধতা। এমডি <p>যাই হোক না কেন অতিরিক্ত ট্যাগ লাগাতে ঝোঁক ।

মার্কডাউনের বেশ কয়েকটি সংস্করণ কনভেনশনটি বাস্তবায়ন করে <tag markdown="1">যেখানে এমডি ট্যাগের অভ্যন্তরে সাধারণ প্রক্রিয়াজাতকরণ করে। উপরের উদাহরণটি হয়ে যায়:

<div markdown="1" class=foo>

  Paragraphs here inherit class foo from above.

</div>

রেফারেন্সযুক্ত লিঙ্কগুলি ব্যবহার করে ফ্লেচারের মাল্টিমার্কডাউন এর বর্তমান সংস্করণটি বৈশিষ্ট্যগুলিকে লিঙ্কটি অনুসরণ করতে অনুমতি দেয়।


দ্রষ্টব্য: আপনি কোড মার্কার ব্যবহার করেছেন তা নিশ্চিত হয়ে নিন; এই পোস্টটির বেশিরভাগটি লুকানো ছিল কারণ এটি HTML ট্যাগ হিসাবে ব্যাখ্যা করা হয়েছিল।
লরেন্স ডল

ধন্যবাদ - ডিআইভি হ্যাক এখানে একমাত্র উত্তর যা মনে হয় প্যাগডাউন / সিগডাউন দিয়ে কাজ করে। (পেগডাউন প্লাগইনগুলির সাথেও এক্সটেনসিবল, তাই আমি এটি আরও দীর্ঘকালীন সময়ে করতে পারি)
কর্নি


1

এটি উল্লেখ করা উচিত যে <span>ট্যাগগুলি তাদের মধ্যে অনুমতি দেয় - ব্লক-স্তরের আইটেমগুলি তাদের অভ্যন্তরে এমডিকে অবহেলা করে না যদি না আপনি সেগুলি না করার জন্য কনফিগার করেন তবে ইন-লাইন শৈলীগুলি তাদের মধ্যে এমডির অনুমতি দেয়। এর মতো, আমি প্রায়শই অনুরূপ কিছু করি ...

This is a superfluous paragraph thing.

<span class="class-red">And thus I delve into my topic, Lorem ipsum lollipop bubblegum.</span>

And thus with that I conclude.

এটি যদি সর্বজনীন হয় তবে আমি 100% নিশ্চিত নই তবে আমি ব্যবহার করা সমস্ত এমডি সম্পাদকদের ক্ষেত্রে এটি মনে হয়।


0

জাভাস্ক্রিপ্টের উদ্দেশ্যে যদি আপনার কেবলমাত্র একজন নির্বাচক প্রয়োজন (যেমন আমি করেছি), আপনি সম্ভবত hrefএকটি classবা এর পরিবর্তে কোনও বৈশিষ্ট্য ব্যবহার করতে চান id:

শুধু এটি করুন:

<a href="#foo">Link</a>

মার্কডাউন hrefক্লাস এবং আইডির মতো বৈশিষ্ট্যটিকে উপেক্ষা করবে না বা সরিয়ে দেবে না ।

সুতরাং আপনার জাভাস্ক্রিপ্ট বা jQuery এ আপনি তা করতে পারেন:

$('a[href$="foo"]').click(function(event) {

    ... do your thing ...

    event.preventDefault();
});

কমপক্ষে এটি মার্কডাউন এর আমার সংস্করণে কাজ করে ...

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