• R/O
  • SSH
  • HTTPS

catalpa: Commit


Commit MetaInfo

Revisão112 (tree)
Hora2022-09-15 14:26:10
Autorhirukawa_ryo

Mensagem de Log

* catalpa 0.9
未知のタグ(たとえば<hoge>)を使用すると <<<<<<< のように < が連続で出力されてしまうバグを修正しました。

Mudança Sumário

Diff

--- catalpa/trunk/samples/blog2/css/main.css (revision 111)
+++ catalpa/trunk/samples/blog2/css/main.css (revision 112)
@@ -59,6 +59,7 @@
5959 body {
6060 margin: 0;
6161 padding: 0;
62+ line-height: 1.75;
6263 font-size: var(--main-font-size-px);
6364 color: var(--main-text-color);
6465 background-color: var(--main-background-color);
--- catalpa/trunk/samples/blog2/css/markdown.css (revision 111)
+++ catalpa/trunk/samples/blog2/css/markdown.css (revision 112)
@@ -147,29 +147,29 @@
147147 margin: 0;
148148 }
149149 .markdown ul > li::marker {
150- content: "\25cf\2002";
150+ content: "\25cf\2003";
151151 color: var(--list-marker-color);
152152 }
153153 .markdown ul > li > ul > li::marker {
154- content: "\25a0\2002";
154+ content: "\25a0\2003";
155155 }
156156 .markdown ul > li > ul > li > ul > li::marker {
157- content: "\25c6\2002";
157+ content: "\25c6\2003";
158158 }
159159 .markdown ul > li > ul > li > ul > li > ul > li::marker {
160- content: "\2013\2002";
160+ content: "\2013\2003";
161161 font-weight: bold;
162162 }
163163 .markdown ol > li::marker {
164- content: counter(list-item) ".\2002";
164+ content: counter(list-item) ".\2003";
165165 font-weight: bold;
166166 color: var(--list-marker-color);
167167 }
168168 .markdown ul > li.task-list-item.checked::marker {
169- content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-0.678823,-0.678823,0.678823,-0.678823,206,512)"><g id="checkbox"><path id="check" d="M300,0L-0,-0L-0,450L150,450L150,150L300,150L300,0Z" style="fill:rgb(40,125,207);"/></g></g></svg>') "\2002";
169+ content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-0.678823,-0.678823,0.678823,-0.678823,206,512)"><g id="checkbox"><path id="check" d="M300,0L-0,-0L-0,450L150,450L150,150L300,150L300,0Z" style="fill:rgb(40,125,207);"/></g></g></svg>') "\2003";
170170 }
171171 .markdown ul > li.task-list-item.unchecked::marker {
172- content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g id="checkbox"><path d="M448,160C448,142.339 433.661,128 416,128L96,128C78.339,128 64,142.339 64,160L64,480C64,497.661 78.339,512 96,512L416,512C433.661,512 448,497.661 448,480L448,160ZM416,168C416,163.585 412.415,160 408,160L104,160C99.585,160 96,163.585 96,168L96,472C96,476.415 99.585,480 104,480L408,480C412.415,480 416,476.415 416,472L416,168Z" style="fill:rgb(153,153,153);"/></g></svg>') "\2002";
172+ content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g id="checkbox"><path d="M448,160C448,142.339 433.661,128 416,128L96,128C78.339,128 64,142.339 64,160L64,480C64,497.661 78.339,512 96,512L416,512C433.661,512 448,497.661 448,480L448,160ZM416,168C416,163.585 412.415,160 408,160L104,160C99.585,160 96,163.585 96,168L96,472C96,476.415 99.585,480 104,480L408,480C412.415,480 416,476.415 416,472L416,168Z" style="fill:rgb(153,153,153);"/></g></svg>') "\2003";
173173 }
174174
175175
--- catalpa/trunk/samples/site3/css/custom.css (nonexistent)
+++ catalpa/trunk/samples/site3/css/custom.css (revision 112)
@@ -0,0 +1,7 @@
1+a.button {
2+ display: inline-block;
3+ margin: 1em;
4+ padding: 1em;
5+ color: white;
6+ background-color: var(--primary-color);
7+}
--- catalpa/trunk/samples/site3/css/highlight.css (nonexistent)
+++ catalpa/trunk/samples/site3/css/highlight.css (revision 112)
@@ -0,0 +1,379 @@
1+/*
2+ * line number
3+ */
4+.markdown pre.line-number > code {
5+ position: relative;
6+ padding: 0.5em 0.75em 0.5em 3em;
7+}
8+.markdown pre.line-number > code:before {
9+ content: "1\a 2\a 3\a 4\a 5\a 6\a 7\a 8\a 9\a 10\a 11\a 12\a 13\a 14\a 15\a 16\a 17\a 18\a 19\a 20\a 21\a 22\a 23\a 24\a 25\a 26\a 27\a 28\a 29\a 30\a 31\a 32\a 33\a 34\a 35\a 36\a 37\a 38\a 39\a 40\a 41\a 42\a 43\a 44\a 45\a 46\a 47\a 48\a 49\a 50\a 51\a 52\a 53\a 54\a 55\a 56\a 57\a 58\a 59\a 60\a 61\a 62\a 63\a 64\a 65\a 66\a 67\a 68\a 69\a 70\a 71\a 72\a 73\a 74\a 75\a 76\a 77\a 78\a 79\a 80\a 81\a 82\a 83\a 84\a 85\a 86\a 87\a 88\a 89\a 90\a 91\a 92\a 93\a 94\a 95\a 96\a 97\a 98\a 99\a 100\a 101\a 102\a 103\a 104\a 105\a 106\a 107\a 108\a 109\a 110\a 111\a 112\a 113\a 114\a 115\a 116\a 117\a 118\a 119\a 120\a 121\a 122\a 123\a 124\a 125\a 126\a 127\a 128\a 129\a 130\a 131\a 132\a 133\a 134\a 135\a 136\a 137\a 138\a 139\a 140\a 141\a 142\a 143\a 144\a 145\a 146\a 147\a 148\a 149\a 150\a 151\a 152\a 153\a 154\a 155\a 156\a 157\a 158\a 159\a 160\a 161\a 162\a 163\a 164\a 165\a 166\a 167\a 168\a 169\a 170\a 171\a 172\a 173\a 174\a 175\a 176\a 177\a 178\a 179\a 180\a 181\a 182\a 183\a 184\a 185\a 186\a 187\a 188\a 189\a 190\a 191\a 192\a 193\a 194\a 195\a 196\a 197\a 198\a 199\a 200\a 201\a 202\a 203\a 204\a 205\a 206\a 207\a 208\a 209\a 210\a 211\a 212\a 213\a 214\a 215\a 216\a 217\a 218\a 219\a 220\a 221\a 222\a 223\a 224\a 225\a 226\a 227\a 228\a 229\a 230\a 231\a 232\a 233\a 234\a 235\a 236\a 237\a 238\a 239\a 240\a 241\a 242\a 243\a 244\a 245\a 246\a 247\a 248\a 249\a 250\a 251\a 252\a 253\a 254\a 255\a 256\a 257\a 258\a 259\a 260\a 261\a 262\a 263\a 264\a 265\a 266\a 267\a 268\a 269\a 270\a 271\a 272\a 273\a 274\a 275\a 276\a 277\a 278\a 279\a 280\a 281\a 282\a 283\a 284\a 285\a 286\a 287\a 288\a 289\a 290\a 291\a 292\a 293\a 294\a 295\a 296\a 297\a 298\a 299\a 300\a 301\a 302\a 303\a 304\a 305\a 306\a 307\a 308\a 309\a 310\a 311\a 312\a 313\a 314\a 315\a 316\a 317\a 318\a 319\a 320\a 321\a 322\a 323\a 324\a 325\a 326\a 327\a 328\a 329\a 330\a 331\a 332\a 333\a 334\a 335\a 336\a 337\a 338\a 339\a 340\a 341\a 342\a 343\a 344\a 345\a 346\a 347\a 348\a 349\a 350\a 351\a 352\a 353\a 354\a 355\a 356\a 357\a 358\a 359\a 360\a 361\a 362\a 363\a 364\a 365\a 366\a 367\a 368\a 369\a 370\a 371\a 372\a 373\a 374\a 375\a 376\a 377\a 378\a 379\a 380\a 381\a 382\a 383\a 384\a 385\a 386\a 387\a 388\a 389\a 390\a 391\a 392\a 393\a 394\a 395\a 396\a 397\a 398\a 399\a 400\a 401\a 402\a 403\a 404\a 405\a 406\a 407\a 408\a 409\a 410\a 411\a 412\a 413\a 414\a 415\a 416\a 417\a 418\a 419\a 420\a 421\a 422\a 423\a 424\a 425\a 426\a 427\a 428\a 429\a 430\a 431\a 432\a 433\a 434\a 435\a 436\a 437\a 438\a 439\a 440\a 441\a 442\a 443\a 444\a 445\a 446\a 447\a 448\a 449\a 450\a 451\a 452\a 453\a 454\a 455\a 456\a 457\a 458\a 459\a 460\a 461\a 462\a 463\a 464\a 465\a 466\a 467\a 468\a 469\a 470\a 471\a 472\a 473\a 474\a 475\a 476\a 477\a 478\a 479\a 480\a 481\a 482\a 483\a 484\a 485\a 486\a 487\a 488\a 489\a 490\a 491\a 492\a 493\a 494\a 495\a 496\a 497\a 498\a 499\a 500\a 501\a 502\a 503\a 504\a 505\a 506\a 507\a 508\a 509\a 510\a 511\a 512\a 513\a 514\a 515\a 516\a 517\a 518\a 519\a 520\a 521\a 522\a 523\a 524\a 525\a 526\a 527\a 528\a 529\a 530\a 531\a 532\a 533\a 534\a 535\a 536\a 537\a 538\a 539\a 540\a 541\a 542\a 543\a 544\a 545\a 546\a 547\a 548\a 549\a 550\a 551\a 552\a 553\a 554\a 555\a 556\a 557\a 558\a 559\a 560\a 561\a 562\a 563\a 564\a 565\a 566\a 567\a 568\a 569\a 570\a 571\a 572\a 573\a 574\a 575\a 576\a 577\a 578\a 579\a 580\a 581\a 582\a 583\a 584\a 585\a 586\a 587\a 588\a 589\a 590\a 591\a 592\a 593\a 594\a 595\a 596\a 597\a 598\a 599\a 600\a 601\a 602\a 603\a 604\a 605\a 606\a 607\a 608\a 609\a 610\a 611\a 612\a 613\a 614\a 615\a 616\a 617\a 618\a 619\a 620\a 621\a 622\a 623\a 624\a 625\a 626\a 627\a 628\a 629\a 630\a 631\a 632\a 633\a 634\a 635\a 636\a 637\a 638\a 639\a 640\a 641\a 642\a 643\a 644\a 645\a 646\a 647\a 648\a 649\a 650\a 651\a 652\a 653\a 654\a 655\a 656\a 657\a 658\a 659\a 660\a 661\a 662\a 663\a 664\a 665\a 666\a 667\a 668\a 669\a 670\a 671\a 672\a 673\a 674\a 675\a 676\a 677\a 678\a 679\a 680\a 681\a 682\a 683\a 684\a 685\a 686\a 687\a 688\a 689\a 690\a 691\a 692\a 693\a 694\a 695\a 696\a 697\a 698\a 699\a 700\a 701\a 702\a 703\a 704\a 705\a 706\a 707\a 708\a 709\a 710\a 711\a 712\a 713\a 714\a 715\a 716\a 717\a 718\a 719\a 720\a 721\a 722\a 723\a 724\a 725\a 726\a 727\a 728\a 729\a 730\a 731\a 732\a 733\a 734\a 735\a 736\a 737\a 738\a 739\a 740\a 741\a 742\a 743\a 744\a 745\a 746\a 747\a 748\a 749\a 750\a 751\a 752\a 753\a 754\a 755\a 756\a 757\a 758\a 759\a 760\a 761\a 762\a 763\a 764\a 765\a 766\a 767\a 768\a 769\a 770\a 771\a 772\a 773\a 774\a 775\a 776\a 777\a 778\a 779\a 780\a 781\a 782\a 783\a 784\a 785\a 786\a 787\a 788\a 789\a 790\a 791\a 792\a 793\a 794\a 795\a 796\a 797\a 798\a 799\a 800\a 801\a 802\a 803\a 804\a 805\a 806\a 807\a 808\a 809\a 810\a 811\a 812\a 813\a 814\a 815\a 816\a 817\a 818\a 819\a 820\a 821\a 822\a 823\a 824\a 825\a 826\a 827\a 828\a 829\a 830\a 831\a 832\a 833\a 834\a 835\a 836\a 837\a 838\a 839\a 840\a 841\a 842\a 843\a 844\a 845\a 846\a 847\a 848\a 849\a 850\a 851\a 852\a 853\a 854\a 855\a 856\a 857\a 858\a 859\a 860\a 861\a 862\a 863\a 864\a 865\a 866\a 867\a 868\a 869\a 870\a 871\a 872\a 873\a 874\a 875\a 876\a 877\a 878\a 879\a 880\a 881\a 882\a 883\a 884\a 885\a 886\a 887\a 888\a 889\a 890\a 891\a 892\a 893\a 894\a 895\a 896\a 897\a 898\a 899\a 900\a 901\a 902\a 903\a 904\a 905\a 906\a 907\a 908\a 909\a 910\a 911\a 912\a 913\a 914\a 915\a 916\a 917\a 918\a 919\a 920\a 921\a 922\a 923\a 924\a 925\a 926\a 927\a 928\a 929\a 930\a 931\a 932\a 933\a 934\a 935\a 936\a 937\a 938\a 939\a 940\a 941\a 942\a 943\a 944\a 945\a 946\a 947\a 948\a 949\a 950\a 951\a 952\a 953\a 954\a 955\a 956\a 957\a 958\a 959\a 960\a 961\a 962\a 963\a 964\a 965\a 966\a 967\a 968\a 969\a 970\a 971\a 972\a 973\a 974\a 975\a 976\a 977\a 978\a 979\a 980\a 981\a 982\a 983\a 984\a 985\a 986\a 987\a 988\a 989\a 990\a 991\a 992\a 993\a 994\a 995\a 996\a 997\a 998\a 999\a";
10+ display: block;
11+ position: absolute;
12+ width: 2em;
13+ height: calc(100% - 1em - 2px);
14+ top: 1px;
15+ left: 0;
16+ padding: 0.5em 0.5em 0.5em 0;
17+ text-align: right;
18+ overflow: hidden;
19+ color: #808080;
20+ border-right: 1px solid #414339;
21+}
22+
23+/*
24+ * dark
25+ */
26+.markdown pre {
27+ margin-block-start: 1em;
28+ margin-block-end: 1em;
29+ margin-inline-start: 0;
30+ margin-inline-end: 0;
31+ background: #272822;
32+}
33+.markdown pre > code {
34+ display: block;
35+ margin: 0;
36+ padding: 0.5em 0.75em;
37+ word-break: break-all;
38+ white-space: pre-wrap;
39+ overflow-wrap: break-word; word-wrap: break-word;
40+ text-align: left;
41+ letter-spacing: 0;
42+ line-height: 1.5;
43+ tab-size: 4;
44+ border: 0;
45+ border-radius: 0;
46+ color: #F0F0F0;
47+ background: #272822;
48+}
49+
50+.markdown pre > div.title {
51+ padding: 0.5em 0 0.5em 0.5em;
52+ color: #f8f8f2;
53+ background: #414339;
54+ line-height: 1.0;
55+ font-family: var(--font-family-monospace);
56+ font-weight: normal;
57+ border-bottom: 0;
58+}
59+.markdown pre.cmd > div.title {
60+ background: #2e3e4d;
61+ border-bottom: 1px solid #C0C0C0;
62+}
63+.markdown pre > div.title > span.copy-button {
64+ float: right;
65+ margin: -0.25em 0.5em 0 0;
66+ padding: 0.4em 0.75em 0.2em 0.75em;
67+ font-size: 75%; /* 16px -> 12px */
68+ font-weight: normal;
69+ line-height: 1.0;
70+ cursor: pointer;
71+ border-radius: 1.0em;
72+}
73+.markdown pre > div.title > span.copy-button::after {
74+ content: 'クリップボードへコピー';
75+}
76+.markdown pre > div.title > span.copy-button {
77+ border: 1px solid #808080;
78+ color: #a0a0a0;
79+}
80+.markdown pre > div.title > span.copy-button:hover {
81+ border: 1px solid #e0e0e0;
82+ color: #e0e0e0;
83+}
84+.markdown pre > div.title > span.copy-button:active {
85+ border: 1px solid #e0e0e0;
86+ color: #e0e0e0;
87+ background-color: #606060;
88+}
89+
90+
91+.markdown pre > code.nohighlight {
92+ color: #f8f8f2;
93+}
94+
95+.markdown pre > code.language-java .hljs-meta {
96+ color: #66d9ef;
97+}
98+
99+.markdown pre > code.language-java .hljs-class .hljs-title {
100+ color: #a6e22e;
101+ text-decoration: underline;
102+}
103+
104+.markdown pre > code.yaml .hljs-bullet,
105+.markdown pre > code.yaml .hljs-number,
106+.markdown pre > code.yaml .hljs-string {
107+ color: #f8f8f2;
108+}
109+.markdown pre > code.yaml .hljs-array {
110+ color: #e6db74;
111+}
112+.markdown pre > code.yaml .hljs-object {
113+ color: #66d9ef;
114+}
115+.markdown pre > code.yaml .hljs-attr {
116+ color: #a6e22e;
117+}
118+
119+.hljs,
120+.hljs-tag,
121+.hljs-subst {
122+ color: #f8f8f2;
123+}
124+
125+.hljs-strong,
126+.hljs-emphasis {
127+ color: #a8a8a2;
128+}
129+
130+.hljs-bullet,
131+.hljs-quote,
132+.hljs-number,
133+.hljs-regexp,
134+.hljs-literal,
135+.hljs-link {
136+ color: #ae81ff;
137+}
138+
139+.hljs-code,
140+.hljs-title,
141+.hljs-section,
142+.hljs-selector-class,
143+.hljs-attr {
144+ color: #a6e22e;
145+}
146+
147+.hljs-strong {
148+ font-weight: bold;
149+}
150+
151+.hljs-emphasis {
152+ font-style: italic;
153+}
154+
155+.hljs-keyword,
156+.hljs-selector-tag,
157+.hljs-name {
158+ color: #f92672;
159+}
160+
161+.hljs-symbol,
162+.hljs-attribute {
163+ color: #66d9ef;
164+}
165+
166+.hljs-params,
167+.hljs-class .hljs-title {
168+ color: #f8f8f2;
169+}
170+
171+.hljs-string,
172+.hljs-type,
173+.hljs-built_in,
174+.hljs-builtin-name,
175+.hljs-selector-id,
176+.hljs-selector-attr,
177+.hljs-selector-pseudo,
178+.hljs-addition,
179+.hljs-variable,
180+.hljs-template-variable {
181+ color: #e6db74;
182+}
183+
184+.hljs-comment,
185+.hljs-deletion,
186+.hljs-meta {
187+ color: #b3ad8f;
188+}
189+
190+/*
191+ * light
192+ */
193+.markdown pre.light.line-number > code:before {
194+ color: #3394B2;
195+ border-right: 1px solid #C0C0C0;
196+}
197+.markdown pre.light {
198+ background: #F8F8F8;
199+}
200+.markdown pre.light > code {
201+ color: #383A42;
202+ background: #F8F8F8;
203+}
204+.markdown pre.light > div.title {
205+ color: #303030;
206+ background: #E9E9E9;
207+}
208+.markdown pre.light > div.title > span.copy-button {
209+ border: 1px solid #C0C0C0;
210+ color: #A0A0A0;
211+}
212+.markdown pre.light > div.title > span.copy-button:hover {
213+ border: 1px solid #808080;
214+ color: #303030;
215+}
216+.markdown pre.light > div.title > span.copy-button:active {
217+ border: 1px solid #808080;
218+ color: #202020;
219+ background-color: #F2F2F2;
220+}
221+
222+.markdown pre.light > code.nohighlight,
223+.markdown pre.light > code.language-raw {
224+ color: #303030;
225+ background: #F2F2F2;
226+}
227+
228+.markdown pre.light > code.language-java .hljs-meta {
229+ color: #E45649;
230+}
231+.markdown pre.light > code.language-java .hljs-class .hljs-title {
232+ color: #50A14F;
233+ text-decoration: underline;
234+}
235+
236+
237+.markdown pre.light > code.yaml .hljs-bullet,
238+.markdown pre.light > code.yaml .hljs-number,
239+.markdown pre.light > code.yaml .hljs-string {
240+ color: #383A42;
241+}
242+.markdown pre.light > code.yaml .hljs-array {
243+ color: #50A14F;
244+}
245+.markdown pre.light > code.yaml .hljs-object {
246+ color: #C18401;
247+}
248+.markdown pre.light > code.yaml .hljs-attr {
249+ color: #50A14F;
250+}
251+
252+
253+.markdown pre.light .hljs,
254+.markdown pre.light .hljs-tag,
255+.markdown pre.light .hljs-subst {
256+ color: #383A42;
257+}
258+
259+.markdown pre.light .hljs-strong,
260+.markdown pre.light .hljs-emphasis {
261+ color: #202020;
262+}
263+
264+.markdown pre.light .hljs-bullet,
265+.markdown pre.light .hljs-quote,
266+.markdown pre.light .hljs-number,
267+.markdown pre.light .hljs-regexp,
268+.markdown pre.light .hljs-literal,
269+.markdown pre.light .hljs-link {
270+ color: #986801;
271+}
272+
273+.markdown pre.light .hljs-code,
274+.markdown pre.light .hljs-title,
275+.markdown pre.light .hljs-section,
276+.markdown pre.light .hljs-selector-class,
277+.markdown pre.light .hljs-attr {
278+ color: #4078F2;
279+}
280+
281+.markdown pre.light .hljs-strong {
282+ font-weight: bold;
283+}
284+
285+.markdown pre.light .hljs-emphasis {
286+ font-style: italic;
287+}
288+
289+.markdown pre.light .hljs-keyword,
290+.markdown pre.light .hljs-selector-tag,
291+.markdown pre.light .hljs-name {
292+ color: #A626A4;
293+}
294+
295+.markdown pre.light .hljs-symbol,
296+.markdown pre.light .hljs-attribute {
297+ color: #C18401;
298+}
299+
300+.markdown pre.light .hljs-params,
301+.markdown pre.light .hljs-class .hljs-title {
302+ color: #383A42;
303+}
304+
305+.markdown pre.light .hljs-string,
306+.markdown pre.light .hljs-type,
307+.markdown pre.light .hljs-built_in,
308+.markdown pre.light .hljs-builtin-name,
309+.markdown pre.light .hljs-selector-id,
310+.markdown pre.light .hljs-selector-attr,
311+.markdown pre.light .hljs-selector-pseudo,
312+.markdown pre.light .hljs-addition,
313+.markdown pre.light .hljs-variable,
314+.markdown pre.light .hljs-template-variable {
315+ color: #50A14F;
316+}
317+
318+.markdown pre.light .hljs-comment,
319+.markdown pre.light .hljs-deletion,
320+.markdown pre.light .hljs-meta {
321+ color: #A0A1A7;
322+}
323+
324+/*
325+ * scroll
326+ */
327+.markdown pre.scroll {
328+ overflow: auto;
329+}
330+.markdown pre.scroll > code {
331+ display: inline-block;
332+ word-break: keep-all;
333+ white-space: pre;
334+}
335+.markdown pre.scroll > div.title {
336+ position: sticky;
337+ left: 0;
338+}
339+.markdown pre.scroll::-webkit-scrollbar {
340+ height: 14px;
341+}
342+.markdown pre.scroll::-webkit-scrollbar-button,
343+.markdown pre.scroll::-webkit-scrollbar-corner {
344+ display: none;
345+}
346+/*
347+ * scroll (dark)
348+ */
349+.markdown pre.scroll::-webkit-scrollbar-track {
350+ border-top: 1px solid #3F403C;
351+ background-color: #272822;
352+}
353+.markdown pre.scroll::-webkit-scrollbar-thumb {
354+ border-top: 1px solid #565654;
355+ background-color: #474844;
356+}
357+.markdown pre.scroll::-webkit-scrollbar-thumb:hover {
358+ background-color: #525250;
359+}
360+.markdown pre.scroll::-webkit-scrollbar-thumb:active {
361+ background-color: #636460;
362+}
363+/*
364+ * scroll (light)
365+ */
366+.markdown pre.light.scroll::-webkit-scrollbar-track {
367+ border-top: 1px solid #E0E0E0;
368+ background-color: #F2F2F2;
369+}
370+.markdown pre.light.scroll::-webkit-scrollbar-thumb {
371+ border-top: 1px solid #b8b8b8;
372+ background-color: #c1c1c1;
373+}
374+.markdown pre.light.scroll::-webkit-scrollbar-thumb:hover {
375+ background-color: #a8a8a8;
376+}
377+.markdown pre.light.scroll::-webkit-scrollbar-thumb:active {
378+ background-color: #787878;
379+}
--- catalpa/trunk/samples/site3/css/main.css (nonexistent)
+++ catalpa/trunk/samples/site3/css/main.css (revision 112)
@@ -0,0 +1,343 @@
1+:root {
2+ --primary-color: #6200EE;
3+ --primary-variant-color: #3700B3;
4+ --secondary-color: #03DAC6;
5+ --secondary-variant-color: #018786;
6+
7+ --header-text-color: #FFFFFF;
8+ --header-background-color: #3E4750; /* #287dc0; */
9+ --footer-text-color: #202020;
10+ --footer-background-color: #FFFFFF;
11+ --main-text-color: #202020;
12+ --main-background-color: #fefefe;
13+ --sidebar-text-color: #202020;
14+ --sidebar-background-color: #FFFFFF;
15+ --text-link-color: #01509d;
16+ --text-link-visited-color: #01509d;
17+ --text-link-hover-color: #ef4e00;
18+ --border-color: #C0C0C0;
19+ --table-text-color: #202020;
20+ --button-text-color: #FFFFFF;
21+ --button-background-color: #287dc0;
22+ --list-marker-color: #4598c0;
23+ --table-background-color-odd: #f8f8f8;
24+ --table-border-color: #cccccc;
25+ --blockquote-font-family: var(--font-family-sans-serif-italic);
26+ --blockquote-color: #e8e8e8;
27+
28+ --font-family-sans-serif: "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", 'YuGothic', "Roboto", "Droid Sans", sans-serif;
29+ --font-family-sans-serif-italic: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", 'YuGothic', "Roboto", "Droid Sans", sans-serif;
30+ --font-family-serif: "Hiragino Mincho ProN", "Yu Mincho Medium", "Yu Mincho", "YuMincho", serif;
31+ --font-family-monospace: "Consolas", "Meiryo", "monaco", "Osaka−等幅", "Osaka-mono", monospace;
32+ --font-family-arial: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
33+ --font-family-baskerville: "Baskerville", "Baskerville Old Face", "Garamond", "Times New Roman", serif;
34+ --font-family-bodoni: "Bodoni MT", "Bodoni 72", "Didot", "Didot LT STD", "Hoefler Text", "Garamond", "Times New Roman", serif;
35+ --font-family-candara: "Candara", "Calibri", "Segoe", "Segoe UI", "Optima", "Arial", sans-serif;
36+ --font-family-century-gothic: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif;
37+ --font-family-georgia: "Georgia", "Times", "Times New Roman", serif;
38+ --font-family-datetime: "Georgia", "Times", "Times New Roman", serif;
39+
40+ --main-font-size-px: 16px;
41+ --main-padding-left: 16px;
42+ --main-padding-right: 16px;
43+ --main-padding-left-adjust: 0px;
44+ --main-padding-right-adjust: 0px;
45+}
46+
47+@font-face {
48+ font-family: "catalpa";
49+ src: url("data:application/font-woff;base64,d09GMgABAAAAAAJwAA4AAAAABfQAAAIbAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGhwGYACCQggEEQgKWHYLCgABNgIkAxAEIAWEAQcqGxAFAB6FcZsTTmVyqvCdLvV4+H7u89yb95KUecGzLBBYIGEqV8ii3BqDao1oNaH+sq6d2MP9vGUCPVx0WPOvXLQNfESb6WADTjVPIPfF/r+bfIvwA/hdc2kgC3BswkgDKyxKqJfQEQUkgVAQ7tpnnsII9/CgJNuEgO/nRgA/ur2Ll/+DAKy0kR2JQKCkeK5S5+sLYrc8tPngQUYh1WUAAgAuPRjzeBtDXTu0lup1QABgjAUNGuxkAfvYBHayGwNFERgbhvB7ZvgjgGgJQCQSABA0klsdqxEQwyBBAT0SPVYDCqZYgVJWLKx53Ql4Vh7juD7Gcf2Li+8Xp4A3YXrfrytGc2/a+nXf2yaN5nybJlyzt10b/5SEzBYEz/6392ao9bdf0VtnX+IY5L26Bb0EQb0OlhLkPRYAQEmOAYmEQNFLkAiBQzIAVnspAGMGLCB0HrKA1HkkQGPSX4CiizUCVCtimgW0ujjLJsoyHAIbwmp3UbIFaJzwgWK1AarNseUtWqtjr6GDo5czhUR2RWI4caQgp6AghczMrWwt9e31kZWXA3j3mXDxn7Acm81X22V/36crrwNwF+OKoTtiwPu5PUcGuEIgudExzvCUWRU44cB0LctwJhGQgowc0kBj6vXdgpq0qjS4g9uYPF85SwLNZXLUoLmFVRRq6WqadiYfulGeXSg8Kckz+DhSLZvN5ND/fALDPBEEAICyFwIA") format("woff2");
50+}
51+
52+html {
53+ overflow-y: scroll; /* 常にスクロールバーを表示します */
54+}
55+
56+/*
57+ * ボディ
58+ */
59+body {
60+ margin: 0;
61+ padding: 0;
62+ font-size: var(--main-font-size-px);
63+ color: var(--main-text-color);
64+ background-color: var(--main-background-color);
65+}
66+
67+/*
68+ * アンカー
69+ */
70+a {
71+ text-decoration: none;
72+ color: var(--text-link-color);
73+}
74+a:visited {
75+ color: var(--text-link-visited-color);
76+}
77+a:hover {
78+ color: var(--text-link-hover-color);
79+}
80+
81+/*
82+ * テレタイプ・テキスト
83+ */
84+ .markdown tt {
85+ font-family: var(--font-family-monospace);
86+ word-break: break-all;
87+ white-space: pre-wrap;
88+}
89+
90+/*
91+ * ヘッダー
92+ */
93+header {
94+ background-color: var(--header-background-color);
95+}
96+header .container {
97+ margin: 0 auto;
98+ padding: 12px;
99+ display: flex;
100+ flex-flow: wrap;
101+ gap: 12px;
102+ align-items: center;
103+}
104+header .container a.title {
105+ line-height: 1.0;
106+ font-size: 1.5rem; /* 16px -> 24px */
107+ color: var(--header-text-color);
108+}
109+header .container a.title {
110+ color: var(--header-text-color);
111+}
112+/*
113+ * 検索ボックス
114+ */
115+header .container form {
116+ display: flex;
117+ margin-left: auto;
118+}
119+input[type="search"] {
120+ font-size: 16px;
121+ line-height: 1.0;
122+ margin: auto;
123+ padding: 0.6em 1em 0.5em 1em;
124+ width: 14em;
125+ color: #303030;
126+ border-style: none;
127+ border-radius: 2em;
128+ box-shadow: inset 1px 1px 3px rgba(0,0,0,.5);
129+ appearance: textfield;
130+}
131+input[type="search"]:focus {
132+ outline: 0;
133+}
134+input:focus::placeholder {
135+ color: transparent;
136+}
137+input[type="search"]::-webkit-search-cancel-button {
138+ appearance: none;
139+}
140+input[type="search"]::-webkit-search-decoration {
141+ display: none;
142+}
143+input[type="search"]::-ms-clear {
144+ display: none;
145+}
146+
147+/*
148+ * カテゴリー
149+ */
150+.categories {
151+ display: flex;
152+ flex-wrap: wrap;
153+ flex-basis: 0;
154+ padding: 0;
155+ gap: 1px;
156+ background-color: #ccc;
157+}
158+.category {
159+ display: block;
160+ flex-grow: 1;
161+ padding: 0.25em 0.5em;
162+ text-align: center;
163+ background-color: #39739d;
164+ color: white;
165+}
166+.category:visited {
167+ color: #ccc;
168+}
169+.category:hover {
170+ background-color: var(--text-link-hover-color);
171+ color: white;
172+}
173+.category.active {
174+ background-color: var(--text-link-hover-color);
175+ color: white;
176+}
177+.category .label {
178+ font-size: 75%; /* 16px -> 12px */
179+}
180+
181+/*
182+ * メイン
183+ */
184+main {
185+ box-sizing: border-box;
186+ margin: auto;
187+}
188+main .content {
189+ padding-inline-start: calc(var(--main-padding-left) + var(--main-padding-left-adjust));
190+ padding-inline-end: calc(var(--main-padding-right) + var(--main-padding-right-adjust));
191+}
192+main > hr {
193+ margin: 2rem 0;
194+ margin-inline-start: calc(0px - var(--main-padding-left) - var(--main-padding-left-adjust));
195+ margin-inline-end: calc(0px - var(--main-padding-right) - var(--main-padding-right-adjust));
196+ border-top: 1px solid #ccc;
197+}
198+
199+
200+/*
201+ * カード
202+ */
203+.card-container {
204+ display: flex;
205+ flex-wrap: wrap;
206+ flex-basis: 0;
207+ padding: 0;
208+ gap: 0;
209+ position: relative;
210+}
211+.card-erase-horizontal-border {
212+ position: absolute;
213+ box-sizing: border-box;
214+ width: 100%;
215+ height: 2px;
216+ background-color: var(--main-background-color);
217+}
218+.card-erase-vertical-border {
219+ position: absolute;
220+ box-sizing: border-box;
221+ width: 2px;
222+ height: 100%;
223+ background-color: var(--main-background-color);
224+}
225+
226+.card {
227+ flex-grow: 1;
228+ width: clamp(0px, 176px, 100vw);
229+ box-sizing: border-box;
230+ background-color: #f2f2f2;
231+ padding: 16px min(16px, 2vw);
232+ border: 1px solid var(--main-background-color);
233+}
234+.card.hidden {
235+ overflow: hidden;
236+ max-height: 0;
237+ margin: 0;
238+ padding: 0;
239+ border-top: none;
240+ border-left: none;
241+}
242+
243+.card .date {
244+ padding-bottom: 12px;
245+ font-size: 14px;
246+ line-height: 1;
247+ color: #808080;
248+}
249+
250+.card img {
251+ display: block;
252+ box-sizing: border-box;
253+ object-fit: cover;
254+ aspect-ratio: 16 / 10;
255+ width: 100%;
256+ height: auto;
257+ margin: auto;
258+}
259+.card img {
260+ box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
261+ transition: 0.3s;
262+}
263+.card img:hover {
264+ box-shadow: 0 15px 30px -5px rgb(0 0 0 / 25%);
265+ transform: translateY(-4px);
266+}
267+
268+.card .title {
269+ display: block;
270+ margin: 16px 0 0 0;
271+ padding: 0;
272+ font-size: 1rem;
273+ font-weight: normal;
274+ line-height: 1.5;
275+ color: var(--text-link-color);
276+}
277+.card .title::first-letter {
278+ color: #555;
279+ font-size: 1.25rem;
280+ font-weight: Bold;
281+ color: var(--text-link-color);
282+}
283+.card .title:visited,
284+.card .title:visited::first-letter {
285+ color: var(--text-link-visited-color);
286+}
287+.card .title:hover,
288+.card .title:hover::first-letter {
289+ color: var(--text-link-hover-color);
290+}
291+
292+/*
293+ * ページャー
294+ */
295+ .pager {
296+ margin: 1rem 0;
297+ display: flex;
298+ flex-wrap: wrap;
299+ justify-content: space-around;
300+ flex-basis: 0;
301+ padding: 0;
302+ gap: 8px;
303+}
304+.pager .previous,
305+.pager .next {
306+ display: block;
307+ box-sizing: border-box;
308+ padding: 1em 2em;
309+ background-color: #39739d;
310+ color: white;
311+}
312+.pager .previous.grow,
313+.pager .next.grow {
314+ flex-grow: 1;
315+}
316+.pager .previous:visited,
317+.pager .next:visited {
318+ color: white;
319+}
320+.pager .previous:hover,
321+.pager .next:hover {
322+ color: white;
323+ background-color: var(--text-link-hover-color);
324+}
325+
326+/*
327+ * フッター
328+ */
329+footer {
330+ margin: 2rem 0 0 0;
331+ box-sizing: border-box;
332+ border-top: 1px solid #ccc;
333+}
334+footer .container {
335+ margin: 0 auto;
336+ padding: 1.5rem 0;
337+ line-height: 1;
338+ text-align: center;
339+}
340+footer address {
341+ display: inline;
342+}
343+
--- catalpa/trunk/samples/site3/css/markdown.css (nonexistent)
+++ catalpa/trunk/samples/site3/css/markdown.css (revision 112)
@@ -0,0 +1,772 @@
1+/*
2+ * ヘディング(見出し)
3+ */
4+.markdown h1 {
5+ margin-block-start: 3rem;
6+ margin-block-end: 3rem;
7+ font-size: 2rem; /* 16px -> 32px */
8+ font-weight: bold;
9+ line-height: 1.2;
10+
11+ text-align: center;
12+}
13+.markdown h2 {
14+ margin-block-start: 2.5rem;
15+ margin-block-end: 2.5rem;
16+ font-size: 1.75rem; /* 16px -> 28px */
17+ font-weight: bold;
18+ line-height: 1.2;
19+
20+ text-align: center;
21+ padding: 0.75em 0.5em;
22+ background-color: #f8f8f8;
23+ margin-inline-start: calc(0px - var(--main-padding-left) - var(--main-padding-left-adjust));
24+ margin-inline-end: calc(0px - var(--main-padding-right) - var(--main-padding-right-adjust));
25+}
26+.markdown h3 {
27+ margin-block-start: 2rem;
28+ margin-block-end: 2rem;
29+ font-size: 1.5rem; /* 16px -> 24px */
30+ font-weight: bold;
31+ line-height: 1.2;
32+
33+ padding: 0.25em 0.5em;
34+ border-left: 0.5em solid #3e4750;
35+}
36+.markdown h4 {
37+ margin-block-start: 1.5rem;
38+ margin-block-end: 1.5rem;
39+ font-size: 1.25rem; /* 16px -> 20px */
40+ font-weight: bold;
41+ line-height: 1.2;
42+}
43+.markdown h5 {
44+ margin-block-start: 1.25rem;
45+ margin-block-end: 1.25rem;
46+ font-size: 1.125rem; /* 16px -> 18px */
47+ font-weight: bold;
48+ line-height: 1.2;
49+}
50+.markdown h6 {
51+ margin-block-start: 1rem;
52+ margin-block-end: 1rem;
53+ font-size: 1.0rem; /* 16px -> 16px */
54+ font-weight: bold;
55+ line-height: 1.2;
56+}
57+
58+
59+/*
60+ * パラグラフ(段落)
61+ */
62+ .markdown p {
63+ margin: 1rem 0;
64+ line-height: 1.75;
65+ text-align: justify;
66+}
67+
68+
69+/*
70+ * `コード`
71+ * <code>コード</code>
72+ */
73+ .markdown code {
74+ padding: 0.15em 0.25em 0.15em 0.25em;
75+ font-family: var(--font-family-monospace);
76+ /*
77+ font-size: 92%;
78+ */
79+ letter-spacing: 0.06em;
80+ color: #c7254e;
81+ background-color: rgba(128, 0, 32, 0.05);
82+ border-radius: 4px;
83+ white-space: pre-wrap;
84+}
85+.markdown .monospace code {
86+ font-family: var(--font-family-monospace);
87+}
88+
89+
90+/*
91+ * ['Ctrl']
92+ * <kbd data-length="4">Ctrl</kbd>
93+ */
94+ .markdown kbd {
95+ vertical-align: middle;
96+ margin: 0;
97+ padding: 0.35em 0.5em;
98+ font-family: var(--font-family-monospace);
99+ font-size: 87.5%; /* 16px -> 14px */
100+ line-height: 1.0;
101+ color: #D0D0D0;
102+ text-shadow: -1px -1px 0 rgba(0,0,0,0.5);
103+ background-color: #202020;
104+ border: 1px solid #000000;
105+ border-radius: 3px;
106+ box-shadow: 1px 1px 2px rgba(0,0,0,0.5), 1px 1px 1px rgba(255,255,255,0.3) inset;
107+ white-space: pre-wrap;
108+}
109+
110+
111+/*
112+ * ["ファイル"]
113+ * <samp class="button" data-length="4">ファイル</samp>
114+ */
115+.markdown samp.button {
116+ vertical-align: middle;
117+ margin: 0;
118+ padding: 0.35em 0.5em;
119+ font-family: var(--font-family-monospace);
120+ font-size: 87.5%; /* 16px -> 14px */
121+ line-height: 1.0;
122+ color: #202020;
123+ background-color: #E0E0E0;
124+ border: 1px solid #606060;
125+ border-radius: 3px;
126+ box-shadow: 1px 1px 1px rgba(0,0,0,0.5), 1px 1px 2px #FFFFFF inset;
127+ white-space: pre-wrap;
128+}
129+
130+
131+/*
132+ * 箇条書きリスト・番号リスト・タスクリスト
133+ */
134+ .markdown ul,
135+ .markdown ol {
136+ margin-block-start: 1em;
137+ margin-block-end: 1em;
138+ margin-inline-start: 0;
139+ margin-inline-end: 0;
140+ padding-inline-start: min(3em, 6vw);
141+}
142+.markdown li {
143+ margin-block-start: 1em;
144+ line-height: 1.25;
145+}
146+.markdown li > p {
147+ margin: 0;
148+}
149+.markdown ul > li::marker {
150+ content: "\25cf\2002";
151+ color: var(--list-marker-color);
152+}
153+.markdown ul > li > ul > li::marker {
154+ content: "\25a0\2002";
155+}
156+.markdown ul > li > ul > li > ul > li::marker {
157+ content: "\25c6\2002";
158+}
159+.markdown ul > li > ul > li > ul > li > ul > li::marker {
160+ content: "\2013\2002";
161+ font-weight: bold;
162+}
163+.markdown ol > li::marker {
164+ content: counter(list-item) ".\2002";
165+ font-weight: bold;
166+ color: var(--list-marker-color);
167+}
168+.markdown ul > li.task-list-item.checked::marker {
169+ content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-0.678823,-0.678823,0.678823,-0.678823,206,512)"><g id="checkbox"><path id="check" d="M300,0L-0,-0L-0,450L150,450L150,150L300,150L300,0Z" style="fill:rgb(40,125,207);"/></g></g></svg>') "\2002";
170+}
171+.markdown ul > li.task-list-item.unchecked::marker {
172+ content: url('data:image/svg+xml;utf8,<svg width="1em" height="1em" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g id="checkbox"><path d="M448,160C448,142.339 433.661,128 416,128L96,128C78.339,128 64,142.339 64,160L64,480C64,497.661 78.339,512 96,512L416,512C433.661,512 448,497.661 448,480L448,160ZM416,168C416,163.585 412.415,160 408,160L104,160C99.585,160 96,163.585 96,168L96,472C96,476.415 99.585,480 104,480L408,480C412.415,480 416,476.415 416,472L416,168Z" style="fill:rgb(153,153,153);"/></g></svg>') "\2002";
173+}
174+
175+
176+/*
177+ * ファイルツリー
178+ * 箇条書きリスト先頭の * の次に {.tree} を付与するとファイルツリーになります。
179+ */
180+ .markdown ul.tree {
181+ font-family: var(--font-family-monospace);
182+}
183+.markdown ul.tree ::marker {
184+ content: "";
185+}
186+.markdown ul.tree,
187+.markdown ul.tree ul {
188+ margin-block-start: 0;
189+ margin-block-end: 0;
190+ margin-inline-start: 0.5em;
191+ margin-inline-end: 0;
192+ padding: 0;
193+ list-style-type: none;
194+}
195+.markdown ul.tree ul {
196+ position: relative;
197+}
198+.markdown ul.tree ul:before {
199+ content: "";
200+ display: block;
201+ position: absolute;
202+ top: 0.125em;
203+ left: 0;
204+ bottom: 0;
205+ width: 0;
206+ border-left: 0.125em solid #ccc;
207+}
208+.markdown ul.tree li {
209+ position: relative;
210+ margin: 0;
211+ padding: 0.75em 0 0 1.5em;
212+ line-height: 1.25em;
213+}
214+.markdown ul.tree ul li:before {
215+ content: "";
216+ display: block;
217+ position: absolute;
218+ top: 1.25em;
219+ left: 0;
220+ width: 1em;
221+ height: 0;
222+ border-top: 0.125em solid #ccc;
223+}
224+.markdown ul.tree ul li:last-child:before {
225+ bottom: 0;
226+ height: auto;
227+ background: var(--main-background-color);
228+}
229+
230+
231+/*
232+ * 定義リスト
233+ */
234+.markdown dl {
235+ margin-block-start: 1em;
236+ margin-block-end: 1em;
237+ margin-inline-start: 0;
238+ margin-inline-end: 0;
239+}
240+.markdown dt {
241+ margin-block-start: 1em;
242+ line-height: 1.25;
243+}
244+.markdown dd {
245+ margin-inline-start: min(2em, 3vw);
246+ line-height: 1.75;
247+}
248+
249+
250+/*
251+ * 画像
252+ */
253+ .markdown img {
254+ max-width: 100%;
255+ border: 0;
256+ vertical-align: middle;
257+}
258+.markdown img.border {
259+ border: 1px solid #808080;
260+}
261+.markdown img.shadow {
262+ box-shadow: 2px 2px 8px rgba(0,0,0,0.25), 0 1px 2px rgba(0,0,0,0.25);
263+}
264+.markdown p.images-only {
265+ text-align: center;
266+}
267+.markdown p.images-only.right {
268+ text-align: right;
269+}
270+
271+
272+/*
273+ * 水平線
274+ */
275+.markdown hr {
276+ margin-block-start: 2rem;
277+ margin-block-end: 2rem;
278+ margin-inline-start: calc(0px - var(--main-padding-left) - var(--main-padding-left-adjust));
279+ margin-inline-end: calc(0px - var(--main-padding-right) - var(--main-padding-right-adjust));
280+ border: 0;
281+ border-top: 1px solid #ccc;
282+}
283+
284+
285+/*
286+ * テーブル
287+ */
288+ .markdown table {
289+ min-width: 60%;
290+ max-width: 100%;
291+ margin: 1rem auto;
292+ border-spacing: 0;
293+ border-collapse: collapse;
294+ line-height: 1.25;
295+}
296+.markdown table > thead {
297+ font-size: 93.75%; /* 16px -> 15px */
298+}
299+.markdown table > thead > tr > th {
300+ padding: 0 0.5em;
301+ vertical-align: bottom;
302+ border-bottom: 2px solid var(--table-border-color);
303+ white-space: nowrap;
304+}
305+.markdown table > thead > tr > th:not([align]) {
306+ text-align: left;
307+}
308+.markdown table > tbody > tr:nth-of-type(odd) {
309+ background-color: var(--table-background-color-odd);
310+}
311+.markdown table > tbody > tr > td {
312+ vertical-align: baseline;
313+ padding: 0.5em 0.5em;
314+ border-top: 1px solid var(--table-border-color);
315+ border-bottom: 1px solid var(--table-border-color);
316+}
317+.markdown table var {
318+ font-style: normal;
319+ white-space: nowrap;
320+}
321+.markdown table th::after,
322+.markdown table td::after {
323+ content: ' ';
324+}
325+.markdown table.left {
326+ margin-left: 0;
327+}
328+.markdown table.right {
329+ margin-right: 0;
330+}
331+
332+
333+/*
334+ * 引用ブロック
335+ */
336+ .markdown blockquote {
337+ margin-block-start: 1em;
338+ margin-block-end: 1em;
339+ margin-inline-start: 0.5em;
340+ margin-inline-end: 0.5em;
341+ padding-block-start: 1px;
342+ padding-block-end: 1px;
343+ padding-inline-start: 1em;
344+ padding-inline-end: 0.625em;
345+ font-family: var(--blockquote-font-family);
346+ font-style: italic;
347+ border-left: 0.375em solid var(--blockquote-color);
348+}
349+.markdown blockquote:empty {
350+ margin: 3.0em 0 0 0;
351+ padding: 0;
352+ height: 0;
353+ border: 0;
354+}
355+
356+
357+/*
358+ * 付箋
359+ */
360+.markdown dl.note,
361+.markdown dl.tip,
362+.markdown dl.info,
363+.markdown dl.warning,
364+.markdown dl.caution {
365+ position: relative;
366+ display: inline-block;
367+ margin-block-start: 1em;
368+ margin-block-end: 1em;
369+ margin-inline-start: 0;
370+ margin-inline-end: 0;
371+}
372+.markdown dl.note > dt,
373+.markdown dl.tip > dt,
374+.markdown dl.info > dt,
375+.markdown dl.warning > dt,
376+.markdown dl.caution > dt {
377+ position: absolute;
378+ display: inline-block;
379+ margin-block-start: 1em;
380+ padding: 0.5em 1.5em;
381+ line-height: 1.25;
382+ font-weight: bold;
383+ box-shadow: 2px 2px 8px rgba(0,0,0,0.25), 0 1px 2px rgba(0,0,0,0.25);
384+ transform-origin: left bottom;
385+ transform: rotate(0);
386+ top: -2.5em;
387+ left: 1em;
388+}
389+.markdown dl.note > dt:empty,
390+.markdown dl.tip > dt:empty,
391+.markdown dl.info > dt:empty,
392+.markdown dl.warning > dt:empty,
393+.markdown dl.caution > dt:empty {
394+ display: none;
395+}
396+.markdown dl.note > dd,
397+.markdown dl.tip > dd,
398+.markdown dl.info > dd,
399+.markdown dl.warning > dd,
400+.markdown dl.caution > dd {
401+ margin: 0;
402+ padding: 1.25em 1em 1em 1em;
403+ line-height: 1.75;
404+}
405+.markdown dl.deg0,
406+.markdown dl.deg1,
407+.markdown dl.deg2,
408+.markdown dl.deg3,
409+.markdown dl.deg4,
410+.markdown dl.deg5 {
411+ margin-block-start: 2em;
412+}
413+.markdown dl.deg0 > dt {
414+ transform: rotate(0);
415+}
416+.markdown dl.deg1 > dt {
417+ transform: rotate(-1deg);
418+}
419+.markdown dl.deg2 > dt {
420+ transform: rotate(-2deg);
421+}
422+.markdown dl.deg3 > dt {
423+ transform: rotate(-3deg);
424+}
425+.markdown dl.deg4 > dt {
426+ transform: rotate(-4deg);
427+}
428+.markdown dl.deg5 > dt {
429+ transform: rotate(-5deg);
430+}
431+.markdown dl.note {
432+ background-color: hsl(0, 0%, 96%);
433+}
434+.markdown dl.note dt {
435+ color: white;
436+ background-color: hsl(300, 48%, 32%);
437+}
438+.markdown dl.note > dt:empty + dd {
439+ border-left: 0.5em solid hsl(300, 48%, 32%);
440+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
441+}
442+.markdown dl.tip {
443+ background-color: hsl(153, 99%, 96%);
444+}
445+.markdown dl.tip dt {
446+ color: white;
447+ background-color: hsl(153, 99%, 29%);
448+}
449+.markdown dl.tip > dt:empty + dd {
450+ border-left: 0.5em solid hsl(153, 99%, 29%);
451+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
452+}
453+.markdown dl.info {
454+ background-color: hsl(210, 99%, 96%);
455+}
456+.markdown dl.info dt {
457+ color: white;
458+ background-color: hsl(210, 99%, 31%);
459+}
460+.markdown dl.info > dt:empty + dd {
461+ border-left: 0.5em solid hsl(210, 99%, 31%);
462+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
463+}
464+.markdown dl.warning {
465+ background-color: hsl(36, 98%, 96%);
466+}
467+.markdown dl.warning dt {
468+ color: white;
469+ background-color: hsl(36, 98%, 51%);
470+}
471+.markdown dl.warning > dt:empty + dd {
472+ border-left: 0.5em solid hsl(36, 98%, 51%);
473+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
474+}
475+.markdown dl.caution {
476+ background-color: hsl(344, 100%, 96%);
477+}
478+.markdown dl.caution dt {
479+ color: white;
480+ background-color: hsl(344, 100%, 45%);
481+}
482+.markdown dl.caution > dt:empty + dd {
483+ border-left: 0.5em solid hsl(344, 100%, 45%);
484+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
485+}
486+
487+
488+/*
489+ * ルビ
490+ */
491+.markdown ruby[data-rt] {
492+ position: relative;
493+}
494+.markdown ruby[data-rt]::before {
495+ content: attr(data-rt);
496+ position: absolute;
497+ top: -0.75em;
498+ left: -2em;
499+ right: -2em;
500+ font-size: 0.5em;
501+ text-align: center;
502+ line-height: 1;
503+ color: #666;
504+}
505+.markdown ruby[data-rt] rt {
506+ display: none;
507+}
508+
509+
510+/*
511+ * その他・汎用
512+ */
513+.markdown .center {
514+ text-align: center !important;
515+}
516+.markdown .left {
517+ text-align: left !important;
518+}
519+.markdown .right {
520+ text-align: right !important;
521+}
522+
523+.markdown .m-0 {
524+ margin: 0 !important;
525+}
526+.markdown .m-1 {
527+ margin: 1em !important;
528+}
529+.markdown .m-2 {
530+ margin: 2em !important;
531+}
532+.markdown .m-3 {
533+ margin: 3em !important;
534+}
535+.markdown .m-auto {
536+ margin: auto !important;
537+}
538+.markdown .mt-0 {
539+ margin-top: 0 !important;
540+}
541+.markdown .mt-1 {
542+ margin-top: 1em !important;
543+}
544+.markdown .mt-2 {
545+ margin-top: 2em !important;
546+}
547+.markdown .mt-3 {
548+ margin-top: 3em !important;
549+}
550+.markdown .mt-auto {
551+ margin-top: auto !important;
552+}
553+.markdown .mt-0 {
554+ margin-bottom: 0 !important;
555+}
556+.markdown .mb-1 {
557+ margin-bottom: 1em !important;
558+}
559+.markdown .mb-2 {
560+ margin-bottom: 2em !important;
561+}
562+.markdown .mb-3 {
563+ margin-bottom: 3em !important;
564+}
565+.markdown .mb-auto {
566+ margin-bottom: auto !important;
567+}
568+.markdown .ml-0 {
569+ margin-left: 0 !important;
570+}
571+.markdown .ml-1 {
572+ margin-left: 1em !important;
573+}
574+.markdown .ml-2 {
575+ margin-left: 2em !important;
576+}
577+.markdown .ml-3 {
578+ margin-left: 3em !important;
579+}
580+.markdown .ml-auto {
581+ margin-left: auto !important;
582+}
583+.markdown .mr-0 {
584+ margin-right: 0 !important;
585+}
586+.markdown .mr-1 {
587+ margin-right: 1em !important;
588+}
589+.markdown .mr-2 {
590+ margin-right: 2em !important;
591+}
592+.markdown .mr-3 {
593+ margin-right: 3em !important;
594+}
595+.markdown .mr-auto {
596+ margin-right: auto !important;
597+}
598+.markdown .mx-0,
599+.markdown .mh-0 {
600+ margin-left: 0 !important;
601+ margin-right: 0 !important;
602+}
603+.markdown .mx-1
604+.markdown .mh-1 {
605+ margin-left: 1em !important;
606+ margin-right: 1em !important;
607+}
608+.markdown .mx-2,
609+.markdown .mh-2 {
610+ margin-left: 2em !important;
611+ margin-right: 2em !important;
612+}
613+.markdown .mx-3,
614+.markdown .mh-3 {
615+ margin-left: 3em !important;
616+ margin-right: 3em !important;
617+}
618+.markdown .mx-auto,
619+.markdown .mh-auto {
620+ margin-left: auto !important;
621+ margin-right: auto !important;
622+}
623+.markdown .my-0,
624+.markdown .mv-0 {
625+ margin-top: 0 !important;
626+ margin-bottom: 0 !important;
627+}
628+.markdown .my-1,
629+.markdown .mv-1 {
630+ margin-top: 1em !important;
631+ margin-bottom: 1em !important;
632+}
633+.markdown .my-2,
634+.markdown .mv-2 {
635+ margin-top: 2em !important;
636+ margin-bottom: 2em !important;
637+}
638+.markdown .my-3,
639+.markdown .mv-3 {
640+ margin-top: 3em !important;
641+ margin-bottom: 3em !important;
642+}
643+.markdown .my-auto,
644+.markdown .my-auto {
645+ margin-top: auto !important;
646+ margin-bottom: auto !important;
647+}
648+.markdown .p-0 {
649+ padding: 0 !important;
650+}
651+.markdown .p-1 {
652+ padding: 1em !important;
653+}
654+.markdown .p-2 {
655+ padding: 2em !important;
656+}
657+.markdown .p-3 {
658+ padding: 3em !important;
659+}
660+.markdown .p-auto {
661+ padding: auto !important;
662+}
663+.markdown .pt-0 {
664+ padding-top: 0 !important;
665+}
666+.markdown .pt-1 {
667+ padding-top: 1em !important;
668+}
669+.markdown .pt-2 {
670+ padding-top: 2em !important;
671+}
672+.markdown .pt-3 {
673+ padding-top: 3em !important;
674+}
675+.markdown .pt-auto {
676+ padding-top: auto !important;
677+}
678+.markdown .pt-0 {
679+ padding-bottom: 0 !important;
680+}
681+.markdown .pb-1 {
682+ padding-bottom: 1em !important;
683+}
684+.markdown .pb-2 {
685+ padding-bottom: 2em !important;
686+}
687+.markdown .pb-3 {
688+ padding-bottom: 3em !important;
689+}
690+.markdown .pb-auto {
691+ padding-bottom: auto !important;
692+}
693+.markdown .pl-0 {
694+ padding-left: 0 !important;
695+}
696+.markdown .pl-1 {
697+ padding-left: 1em !important;
698+}
699+.markdown .pl-2 {
700+ padding-left: 2em !important;
701+}
702+.markdown .pl-3 {
703+ padding-left: 3em !important;
704+}
705+.markdown .pl-auto {
706+ padding-left: auto !important;
707+}
708+.markdown .pr-0 {
709+ padding-right: 0 !important;
710+}
711+.markdown .pr-1 {
712+ padding-right: 1em !important;
713+}
714+.markdown .pr-2 {
715+ padding-right: 2em !important;
716+}
717+.markdown .pr-3 {
718+ padding-right: 3em !important;
719+}
720+.markdown .pr-auto {
721+ padding-right: auto !important;
722+}
723+.markdown .px-0,
724+.markdown .ph-0 {
725+ padding-left: 0 !important;
726+ padding-right: 0 !important;
727+}
728+.markdown .px-1,
729+.markdown .ph-1 {
730+ padding-left: 1em !important;
731+ padding-right: 1em !important;
732+}
733+.markdown .px-2,
734+.markdown .ph-2 {
735+ padding-left: 2em !important;
736+ padding-right: 2em !important;
737+}
738+.markdown .px-3,
739+.markdown .ph-3 {
740+ padding-left: 3em !important;
741+ padding-right: 3em !important;
742+}
743+.markdown .px-auto,
744+.markdown .ph-auto {
745+ padding-left: auto !important;
746+ padding-right: auto !important;
747+}
748+.markdown .py-0,
749+.markdown .pv-0 {
750+ padding-top: 0 !important;
751+ padding-bottom: 0 !important;
752+}
753+.markdown .py-1,
754+.markdown .pv-1 {
755+ padding-top: 1em !important;
756+ padding-bottom: 1em !important;
757+}
758+.markdown .py-2,
759+.markdown .pv-2 {
760+ padding-top: 2em !important;
761+ padding-bottom: 2em !important;
762+}
763+.markdown .py-3,
764+.markdown .pv-3 {
765+ padding-top: 3em !important;
766+ padding-bottom: 3em !important;
767+}
768+.markdown .py-auto,
769+.markdown .pv-auto {
770+ padding-top: auto !important;
771+ padding-bottom: auto !important;
772+}
--- catalpa/trunk/samples/site3/css/search.css (nonexistent)
+++ catalpa/trunk/samples/site3/css/search.css (revision 112)
@@ -0,0 +1,75 @@
1+/*
2+--text-link-color: #01509d;
3+--text-link-visited-color: #01509d;
4+--text-link-hover-color: #ef4e00;
5+*/
6+
7+.search-result {
8+ margin-top: 1.5em;
9+ padding: 0 1rem;
10+ font-size: 1rem;
11+}
12+.search-result strong {
13+ color: #c7254e;
14+ background-color: rgba(128, 0, 32, 0.05);
15+ border-radius: 4px;
16+ white-space: pre-wrap;
17+}
18+.search-result > .search-result-header > .time {
19+ font-size: smaller;
20+}
21+.search-result > .entries {
22+ margin-top: 1em;
23+ text-align: initial;
24+ line-height: 1.5;
25+}
26+.search-result > .entries > .entry {
27+ margin-bottom: 1.5em;
28+}
29+.search-result > .entries > .entry span.divider:before {
30+ content: " / ";
31+ color: #C0C0C0;
32+}
33+.search-result > .entries > .entry > .title > a {
34+ font-weight: bold;
35+ color: #01509d;
36+ text-decoration: none;
37+}
38+.search-result > .entries > .entry > .title > a:visited {
39+ color: #01509d;
40+}
41+.search-result > .entries > .entry > .title > a:hover {
42+ color: #ef4e00;
43+}
44+.search-result > .entries > .entry > .url {
45+ font-size: 14px;
46+}
47+.search-result > .entries > .entry > .url > a {
48+ color: #006621;
49+ text-decoration: none;
50+}
51+.search-result > .entries > .entry > .text {
52+ margin-top: 6px;
53+ font-size: 15px;
54+ color: #333333;
55+}
56+
57+/*
58+ * KBD
59+ */
60+ .markdown kbd {
61+ display: inline-block;
62+ vertical-align: text-top;
63+ margin: 0;
64+ padding: 0.2em 0.5em 0.2em 0.5em;
65+ font-family: var(--font-family-monospace);
66+ font-size: 87.5%; /* 16px -> 14px */
67+ line-height: 1.0;
68+ color: #D0D0D0;
69+ text-shadow: -1px -1px 0 rgba(0,0,0,0.5);
70+ background-color: #202020;
71+ border: 1px solid #000000;
72+ border-radius: 3px;
73+ box-shadow: 1px 1px 2px rgba(0,0,0,0.5), 1px 1px 1px rgba(255,255,255,0.3) inset;
74+ white-space: pre-wrap;
75+}
--- catalpa/trunk/samples/site3/config.yml (nonexistent)
+++ catalpa/trunk/samples/site3/config.yml (revision 112)
@@ -0,0 +1,7 @@
1+---
2+title: サイトのサンプル
3+siteurl: http://www.example.com
4+icon: img/sample2.png
5+author: どこかのだれか
6+mailto: user@example.com
7+---
--- catalpa/trunk/samples/site3/index.md (nonexistent)
+++ catalpa/trunk/samples/site3/index.md (revision 112)
@@ -0,0 +1,53 @@
1+[JIS X 4051(日本語文書の組版方法)]: https://kikakurui.com/x4/X4051-2004-02.html
2+[日本語組版処理の要件]: https://w3c.github.io/jlreq/ja/
3+
4+これは固定ヘッダーとサイドバーを持つサイトのサンプル・ページです。
5+このページの文章はサンプルです。特に意味はありません。
6+
7+
8+### Catalpaの由来
9+
10+サイトやブログを作成してインターネット上に公開することをWebパブリッシングと言います。
11+直訳すると出版ですね。
12+
13+古くは梓の木を版木として文字を刻んでいたことから、
14+出版のことを「上梓(じょうし)」とも言います。
15+実際は、梓(あずさ)のことではなくキササゲという木のことだそうです。
16+このキササゲの英語名がCatalpa ovataです。
17+
18+Catalpa ovataが、この静的サイトジェネレーターの名前の由来となっています。
19+
20+![](img/sample.png)
21+
22+
23+### 組版
24+
25+組版(くみはん)とは、原稿及びレイアウト(デザイン)の指定に従って、文字・図版・写真などを配置する作業の総称です。
26+印刷の一工程としては、文字や図版などの要素を配置し、紙面を構成することです。組み付けともいいます。
27+本来は活版印刷の用語であり、文字どおり版を物理的に組むこと、
28+活字を並べて結束糸で縛ったものを「組み版」と呼んだことに由来しています。
29+
30+現在ではDTPなどにおいても、レイアウトソフトを用いて紙面を作ることを指し、そういった作業を行うことを組むと表現します。
31+画面上での編集を前提としたWYSIWYGのDTPに対し、本来の組版に近い処理をソフトウェア的に行うものにTeXがあります。
32+
33+日本では、活版印刷からの伝統で組版にこだわりを見せる職人の技が磨かれ、写真植字(手動写植)を経て電算写植の隆盛で、
34+組版の品質は非常に高いレベルに達し、外国からも良い評価を受けていました。
35+
36+組版における文字の処理方法やページ内での配置を規定した日本工業規格として、
37+[JIS X 4051(日本語文書の組版方法)][]があります。
38+
39+
40+### JIS X 4051
41+
42+JIS X 4051(ジス X 4051)は文書の組版を規定したJISの規格(規格名称は「日本語文書の組版方法」)です。
43+
44+印刷物などにおいて、行や段落、ページ内での配置、禁則処理やルビ処理などを縦書きと横書きそれぞれの場合にどうすべきかが細かく規定されています。
45+JIS X 0213の各符号位置を文字クラスごとに分け、各文字クラスの使用方法が規定されています。
46+
47+印刷会社だけにとどまらず、一般の文書を作成する人であれば知っておかなければいけない事項が記載されています。
48+
49+2004年に改正され、最新版はJIS X 4051:2004です。
50+2009年6月4日付で公開されたW3Cの技術ノート「[日本語組版処理の要件][](Requirements for Japanese Text Layout)」はJIS X 4051を基に作成されています。
51+
52+{.center}
53+[次のページ](other.html){.button}
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
--- catalpa/trunk/samples/site3/other.md (nonexistent)
+++ catalpa/trunk/samples/site3/other.md (revision 112)
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
--- catalpa/trunk/src/main/java/net/osdn/catalpa/html/JapaneseTextLayouter.java (revision 111)
+++ catalpa/trunk/src/main/java/net/osdn/catalpa/html/JapaneseTextLayouter.java (revision 112)
@@ -258,23 +258,22 @@
258258 tagName = tagName.substring(1);
259259 isEndTag = true;
260260 }
261+ // ADD CHARS BEFORE TAG
262+ for(int i = index; i < m.start(); i++) {
263+ previousChar = currentChar;
264+ if(input.charAt(i) == 0x0D && (i+1 < m.start()) && input.charAt(i+1) == 0x0A) {
265+ currentChar = new Char(CharClass.CRLF);
266+ i++;
267+ } else {
268+ currentChar = new Char(input.charAt(i));
269+ }
270+ if(previousChar != null) {
271+ previousChar.setNextChar(currentChar);
272+ currentChar.setPreviousChar(previousChar);
273+ }
274+ tokens.add(currentChar);
275+ }
261276 if(HTML_TAGS.contains(tagName)) {
262- // ADD CHARS BEFORE TAG
263- for(int i = index; i < m.start(); i++) {
264- previousChar = currentChar;
265- if(input.charAt(i) == 0x0D && (i+1 < m.start()) && input.charAt(i+1) == 0x0A) {
266- currentChar = new Char(CharClass.CRLF);
267- i++;
268- } else {
269- currentChar = new Char(input.charAt(i));
270- }
271- if(previousChar != null) {
272- previousChar.setNextChar(currentChar);
273- currentChar.setPreviousChar(previousChar);
274- }
275- tokens.add(currentChar);
276- }
277-
278277 if(!isEndTag && ELEMENTS_TO_SKIP.contains(tagName)) {
279278 if(ELEMENTS_WITH_BOUNDARY.contains(tagName)) {
280279 // ADD OPENING BOUNDARY CHAR
@@ -329,15 +328,10 @@
329328 index = m.end();
330329 }
331330 } else {
332- // ADD CHAR '<'
333- previousChar = currentChar;
334- currentChar = new Char('<');
335- if(previousChar != null) {
336- previousChar.setNextChar(currentChar);
337- currentChar.setPreviousChar(previousChar);
338- }
339- tokens.add(currentChar);
340- index++;
331+ // ADD UNKNOWN CURRENT TAG
332+ RawChars.Type type = isEndTag ? RawChars.Type.INLINE_TAG_CLOSE : RawChars.Type.INLINE_TAG_OPEN;
333+ tokens.add(new RawChars(m.group(0), type));
334+ index = m.end();
341335 }
342336 }
343337 // ADD CHARS AFTER LAST TAG
Show on old repository browser