sphinx, rinohtype: warna latar belakang kode sebaris

Bagaimana kita bisa mengubah warna latar belakang kode sebaris.

Salah satu cara saya menggunakan kode sebaris dalam teks yang direstrukturisasi adalah:

.. role::sql(code)
    :language: sql

You can use the query :sql:`select * from table` to execute...

Saat menggunakan rst2pdf, ini menghasilkan penyorotan sintaksis yang indah dan warna latar belakang yang sama dengan blok kode. Bagaimana kita bisa mencapai hal yang sama menggunakan rinohtype?

Idealnya sesuatu that looks like this in stackoverflow

Ini adalah sesuatu yang saya coba sendiri

stylesheet:

[code-paragraph: Paragraph(has_class="coder")]
background_color = #fdffd6

and rst:

.. role::sql(code)
    :language: sql
    :class: coder

You can use the query :sql:`select * from table` to execute...

tapi ini tidak berhasil, karena role mungkin Teks bukan Paragraf.


person Hamza Zubair    schedule 21.01.2021    source sumber
comment
Perhatikan bahwa harus ada spasi setelah ..role::.   -  person Brecht Machiels    schedule 29.01.2021


Jawaban (1)


Pada titik ini, rinohtype tidak mendukung pengaturan warna latar belakang (atau batas) untuk elemen sebaris. Sementara kita menunggu fungsionalitas tersebut terwujud, saya akan membahas gaya teks sebaris secara umum.

Berikut adalah bagian yang relevan dari stylelog untuk cuplikan reStructuredText Anda :

Paragraph('You can use the query select * f...')   inline_code.rst:6 <paragraph>
     > (0,0,0,0,2) body
  MixedStyledText('You can use the query select * f...')
    SingleStyledText('You can use the query ')
    MixedStyledText('select * from table', style='monospaced')   None:None <literal>
         > (0,0,1,0,1) monospaced
      MixedStyledText('select')   None:None <inline>
        SingleStyledText('select')
      ...

Elemen yang ingin Anda cocokkan dengan pemilih adalah MixedStyledText dengan gaya monospace. Karena sulit memprediksi apakah Anda harus mencocokkan elemen SingleStyledText atau MixedStyledText, Anda harus selalu menggunakan StyledText untuk penyeleksi.

Sebagai contoh, definisi code-paragraph di style sheet akan terlihat seperti ini:

[inline-code: StyledText('monospaced', has_class='coder')]
base = monospaced
background_color = #fdffd6

Dua komentar tentang ini:

  • Karena gaya yang ditentukan dalam pemilih memiliki bobot lebih besar daripada kelas, Anda perlu menentukannya selain argumen has_class, atau menambah prioritas pemilih. Baca Pemilih untuk mengetahui detailnya.
  • Tetapkan dasar gaya ke monospace untuk mewarisi properti gaya monospace standar. Jika tidak, Anda mungkin perlu menyetel jenis huruf dan atribut lainnya juga.

Untuk saat ini, rinohtype akan dibatalkan dengan TypeError: background_color is not a supported attribute for TextStyle. Lihat dokumentasi untuk TextStyle untuk melihat atribut gaya yang mana didukung.

Untuk bacaan lebih lanjut, lihat Penataan Elemen di manual rinohtype.

person Brecht Machiels    schedule 29.01.2021