高亮部分代码块

Highlight part of code block

我的 .rst 文件中有一个非常大的代码块,我想突出显示其中的一小部分并将其设为粗体。首先考虑以下内容:

wall of text.  wall of text.  wall of text.wall of text.  wall of text.  wall of text.wall of text.  wall of text.  wall of text.
wall of text.  wall of text.  wall of text.wall of text.  wall of text.  wall of text.wall of text.  wall of text.  wall of text. 

**Example 1: Explain showing a table scan operation**::

   EXPLAIN FORMAT=JSON
   SELECT * FROM Country WHERE continent='Asia' and population > 5000000;
   {
     "query_block": {
      "select_id": 1,
      "cost_info": {
      "query_cost": "53.80"            # This query costs 53.80 cost units
      },
      "table": {
      "table_name": "Country",
      "access_type": "ALL",            # ALL is a table scan
      "rows_examined_per_scan": 239,   # Accessing all 239 rows in the table
      "rows_produced_per_join": 11, 
      "filtered": "4.76",
      "cost_info": {
         "read_cost": "51.52",
         "eval_cost": "2.28",
         "prefix_cost": "53.80",
         "data_read_per_join": "2K"
      },
      "used_columns": [
         "Code",
         "Name",
         "Continent",
         "Region",
         "SurfaceArea",
         "IndepYear",
         "Population",
         "LifeExpectancy",
         "GNP",
         "GNPOld",
         "LocalName",
         "GovernmentForm",
         "HeadOfState",
         "Capital",
         "Code2"
      ],
      "attached_condition": "((`world`.`Country`.`Continent` = 'Asia') and (`world`.`Country`.`Population` > 5000000))"
      }
     }
   }

当它转换为 html 时,默认情况下它会突出显示语法(很好),但我还想指定几行应该是粗体的(带有注释的行,但也可能是其他行。 )

我想在行中添加尾随字符序列(例如 #@@),然后编写一个 post-parser 脚本来修改生成的 html 文件。有没有更好的方法?

code-block 指令有一个 emphasize-lines 选项。以下突出显示代码中带有注释的行。

**Example 1: Explain showing a table scan operation**
 
.. code-block:: python
   :emphasize-lines: 7, 11, 12

   EXPLAIN FORMAT=JSON
   SELECT * FROM Country WHERE continent='Asia' and population > 5000000;
   {
     "query_block": {
      "select_id": 1,
      "cost_info": {
      "query_cost": "53.80"            # This query costs 53.80 cost units
      },
      "table": {
      "table_name": "Country",
      "access_type": "ALL",            # ALL is a table scan
      "rows_examined_per_scan": 239,   # Accessing all 239 rows in the table
      "rows_produced_per_join": 11, 
      "filtered": "4.76",
      "cost_info": {
         "read_cost": "51.52",
         "eval_cost": "2.28",
         "prefix_cost": "53.80",
         "data_read_per_join": "2K"
      },
      "used_columns": [
         "Code",
         "Name",
         "Continent",
         "Region",
         "SurfaceArea",
         "IndepYear",
         "Population",
         "LifeExpectancy",
         "GNP",
         "GNPOld",
         "LocalName",
         "GovernmentForm",
         "HeadOfState",
         "Capital",
         "Code2"
      ],
      "attached_condition": "((`world`.`Country`.`Continent` = 'Asia') and (`world`.`Country`.`Population` > 5000000))"
      }
     }
   }