forked from zhanghongxing/zhanghongxing.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
3367 lines (2853 loc) · 235 KB
/
index.xml
File metadata and controls
3367 lines (2853 loc) · 235 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>That I exist is a perpetual surprise which is life.</title>
<link>http://www.itspedia.com/</link>
<description>Recent content on That I exist is a perpetual surprise which is life.</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<copyright>itspedia | <a href='http://beian.miit.gov.cn'>沪ICP备14049619号-3</a></copyright>
<lastBuildDate>Mon, 04 Mar 2019 16:01:23 +0800</lastBuildDate>
<atom:link href="http://www.itspedia.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>数据仓库之架构篇</title>
<link>http://www.itspedia.com/post/architeture-dw-architecture.zh-cn/</link>
<pubDate>Thu, 14 Feb 2019 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/architeture-dw-architecture.zh-cn/</guid>
<description><h3 id="数据仓库架构主要有三种类型如下表所示">数据仓库架构主要有三种类型,如下表所示,</h3>
<p><img src="https://upload-images.jianshu.io/upload_images/16246443-cc6cfdef6023a087.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="三种数据仓库架构"></p>
<h3 id="各数据仓库架构的主要特点">各数据仓库架构的主要特点</h3>
<p><img src="https://upload-images.jianshu.io/upload_images/16246443-338ba4d6c6e25e8f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="架构特点"></p>
<h3 id="wh-inmon架构">W.H. Inmon架构</h3>
<h6 id="wh-inmons-architecture-corporate-information-factory">W.H. Inmon’s architecture: Corporate Information Factory</h6>
<p><img src="https://upload-images.jianshu.io/upload_images/16246443-a23b4f538acce599.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="Corporate Information Factory"></p>
<h3 id="ralph-kimball架构">Ralph Kimball架构</h3>
<h6 id="ralph-kimballs-architecture-dimensional-data-warehouse">Ralph Kimball’s architecture: Dimensional Data Warehouse</h6>
<p><img src="https://upload-images.jianshu.io/upload_images/16246443-6d232bfff397b75d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="Dimensional Data Warehouse"></p>
<h3 id="独立数据集市架构">独立数据集市架构</h3>
<h6 id="stand-alone-data-marts">Stand-Alone Data Marts</h6>
<p><img src="https://upload-images.jianshu.io/upload_images/16246443-77649895ebae3029.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="A stand-alone data mart">
<img src="https://upload-images.jianshu.io/upload_images/16246443-1514a14a0a5c5f00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="Multiple stand-alone data marts"></p>
</description>
</item>
<item>
<title>Jane Theme Preview</title>
<link>http://www.itspedia.com/post/jane-theme-preview/</link>
<pubDate>Mon, 01 Jan 2018 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/jane-theme-preview/</guid>
<description><p><strong>Markdown</strong> is created by <a href="http://daringfireball.net/">Daring Fireball</a>, the original guideline is <a href="http://daringfireball.net/projects/markdown/syntax">here</a>. Its syntax, however, varies between different parsers or editors.</p>
<p>Please note that HTML fragments in markdown source will be recognized but not parsed or rendered. Also, there may be small reformatting on the original markdown source code after saving.</p>
<h2 id="paragraph-and-line-breaks">Paragraph and line breaks</h2>
<p>A paragraph is simply one or more consecutive lines of text. In markdown source code, paragraphs are separated by more than one blank lines. In Typora, you only need to press <code>Return</code> to create a new paragraph.</p>
<p>Press <code>Shift</code> + <code>Return</code> to create a single line break. However, most markdown parser will ignore single line break, to make other markdown parsers recognize your line break, you can leave two whitespace at the end of the line, or insert <code>&lt;br/&gt;</code>.</p>
<h2 id="headers">Headers</h2>
<p>Headers use 1-6 hash characters at the start of the line, corresponding to header levels 1-6. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown"># This is an H1
<span style="color:#75715e">## This is an H2
</span><span style="color:#75715e"></span>
<span style="color:#75715e">###### This is an H6
</span></code></pre></div><p>In typora, input ‘#’s followed by title content, and press <code>Return</code> key will create a header.</p>
<h2 id="blockquotes">Blockquotes</h2>
<p>Markdown uses email-style &gt; characters for block quoting. They are presented as:</p>
<blockquote>
<p>This is a blockquote with two paragraphs. This is first paragraph.</p>
<p>This is second pragraph.Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</p>
<p>This is another blockquote with one paragraph. There is three empty line to seperate two blockquote.</p>
<p>这是一段中文测试。</p>
</blockquote>
<p>In typora, just input ‘&gt;’ followed by quote contents a block quote is generated. Typora will insert proper ‘&gt;’ or line break for you. Block quote inside anther block quote is allowed by adding additional levels of ‘&gt;’.</p>
<h2 id="lists">Lists</h2>
<p>Input <code>* list item 1</code> will create an un-ordered list, the <code>*</code> symbol can be replace with <code>+</code> or <code>-</code>.</p>
<p>Input <code>1. list item 1</code> will create an ordered list, their markdown source code is like:</p>
<ul>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
</ul>
<ol>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
</ol>
<h2 id="task-list">Task List</h2>
<p>Task lists are lists with items marked as either <code>[ ]</code> or <code>[x]</code> (incomplete or complete). For example:</p>
<ul>
<li><input disabled="" type="checkbox">a task list item</li>
<li><input disabled="" type="checkbox">list syntax required</li>
<li><input disabled="" type="checkbox">normal <strong>formatting</strong>, @mentions, #1234 refs</li>
<li><input disabled="" type="checkbox">incomplete</li>
<li><input checked="" disabled="" type="checkbox">completed</li>
</ul>
<p>You can change the complete/incomplete state by click the checkbox before the item.</p>
<h2 id="syntax-highlighting">Syntax Highlighting</h2>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-js" data-lang="js"><span style="color:#66d9ef">function</span> <span style="color:#a6e22e">helloWorld</span> () {
<span style="color:#a6e22e">alert</span>(<span style="color:#e6db74">&#34;Hello, World!&#34;</span>)
}
</code></pre></div><div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-java" data-lang="java"><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">HelloWorld</span> <span style="color:#f92672">{</span>
<span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[</span><span style="color:#f92672">]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Hello, World!&#34;</span><span style="color:#f92672">)</span><span style="color:#f92672">;</span>
<span style="color:#f92672">}</span>
<span style="color:#f92672">}</span>
</code></pre></div><h2 id="math-blocks">Math Blocks</h2>
<p>You can render <em>LaTeX</em> mathematical expressions using <strong>MathJax</strong>.</p>
<p>Input <code>$$</code>, then press &lsquo;Return&rsquo; key will trigger an input field which accept <em>Tex/LaTex</em> source. Following is an example:
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} &amp; \mathbf{j} &amp; \mathbf{k} \<br>
\frac{\partial X}{\partial u} &amp; \frac{\partial Y}{\partial u} &amp; 0 \<br>
\frac{\partial X}{\partial v} &amp; \frac{\partial Y}{\partial v} &amp; 0 \<br>
\end{vmatrix}
$$</p>
<p>In markdown source file, math block is <em>LaTeX</em> expression wrapped by ‘$$’ mark:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} &amp; \mathbf{j} &amp; \mathbf{k} \\
\frac{\partial X}{\partial u} &amp; \frac{\partial Y}{\partial u} &amp; 0 \\
\frac{\partial X}{\partial v} &amp; \frac{\partial Y}{\partial v} &amp; 0 \\
\end{vmatrix}
$$
</code></pre></div><h2 id="tables">Tables</h2>
<p>Input <code>| First Header | Second Header |</code> and press <code>return</code> key will create a table with two column.</p>
<p>After table is created, focus on that table will pop up a toolbar for table, where you can resize, align, or delete table. You can also use context menu to copy and add/delete column/row.</p>
<p>Following descriptions can be skipped, as markdown source code for tables are generated by typora automatically.</p>
<p>In markdown source code, they look like:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">| Name | Markdown | HTML tag |
| ----------------- | ------------------- | -------------------- |
| <span style="font-style:italic">*Emphasis*</span> | <span style="color:#e6db74">`*Emphasis*`</span> | <span style="color:#e6db74">`&lt;em&gt;&lt;/em&gt;`</span> |
| <span style="font-weight:bold">**Strong</span><span style="font-weight:bold">**</span> | <span style="color:#e6db74">`**Strong**`</span> | <span style="color:#e6db74">`&lt;strong&gt;&lt;/strong&gt;`</span> |
| <span style="color:#e6db74">`code`</span> | ``code`` | <span style="color:#e6db74">`&lt;code&gt;&lt;/code&gt;`</span> |
| <span style="color:#f92672">~~Strikethrough~~</span> | <span style="color:#e6db74">`~~Strikethrough~~`</span> | <span style="color:#e6db74">`&lt;del&gt;&lt;/del`</span> |
| &lt;u&gt;Underline&lt;/u&gt; | <span style="color:#e6db74">`&lt;u&gt;underline&lt;/u&gt;`</span> | <span style="color:#e6db74">`&lt;u&gt;&lt;/u&gt;`</span> |
</code></pre></div><table>
<thead>
<tr>
<th>Name</th>
<th>Markdown</th>
<th>HTML tag</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Emphasis</em></td>
<td><code>*Emphasis*</code></td>
<td><code>&lt;em&gt;&lt;/em&gt;</code></td>
</tr>
<tr>
<td><strong>Strong</strong></td>
<td><code>**Strong**</code></td>
<td><code> &lt;strong&gt;&lt;/strong&gt;</code></td>
</tr>
<tr>
<td><code>code</code></td>
<td><code>`code`</code></td>
<td><code>&lt;code&gt;&lt;/code&gt;</code></td>
</tr>
<tr>
<td><del>Strikethrough</del></td>
<td><code>~~Strikethrough~~</code></td>
<td><code>&lt;del&gt;&lt;/del</code></td>
</tr>
<tr>
<td><!-- raw HTML omitted -->Underline<!-- raw HTML omitted --></td>
<td><code>&lt;u&gt;underline&lt;/u&gt;</code></td>
<td><code>&lt;u&gt;&lt;/u&gt;</code></td>
</tr>
</tbody>
</table>
<h2 id="footnotes">Footnotes</h2>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">You can create footnotes like this[^footnote].
[^footnote]: Here is the <span style="font-style:italic">*text*</span> of the <span style="font-weight:bold">**footnote</span><span style="font-weight:bold">**</span>.
</code></pre></div><p>will produce:</p>
<p>You can create footnotes like this<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<p>Mouse on the ‘footnote’ superscript to see content of the footnote.</p>
<h2 id="horizontal-rules">Horizontal Rules</h2>
<p>Input <code>***</code> or <code>---</code> on a blank line and press <code>return</code> will draw a horizontal line.</p>
<hr>
<h2 id="links">Links</h2>
<p>Markdown supports two style of links: inline and reference.</p>
<p>In both styles, the link text is delimited by [square brackets].</p>
<p>To create an inline link, use a set of regular parentheses immediately after the link text’s closing square bracket. Inside the parentheses, put the URL where you want the link to point, along with an optional title for the link, surrounded in quotes. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">This is [<span style="color:#f92672">an example</span>](<span style="color:#a6e22e">http://example.com/ &#34;Title&#34;</span>) inline link.
[<span style="color:#f92672">This link</span>](<span style="color:#a6e22e">http://example.net/</span>) has no title attribute.
</code></pre></div><p>will produce:</p>
<p>This is <a href="http://example.com/%22Title%22">an example</a> inline link. (<code>&lt;p&gt;This is &lt;a href=&quot;http://example.com/&quot; title=&quot;Title&quot;&gt;</code>)</p>
<p><a href="http://example.net/">This link</a> has no title attribute. (<code>&lt;p&gt;&lt;a href=&quot;http://example.net/&quot;&gt;This link&lt;/a&gt; has no</code>)</p>
<h3 id="internal-links">Internal Links</h3>
<p><strong>You can set the href to headers</strong>, which will create a bookmark that allow you to jump to that section after clicking. For example:</p>
<p>Command(on Windows: Ctrl) + Click <a href="#block-elements">This link</a> will jump to header <code>Block Elements</code>. To see how to write that, please move cursor or click that link with <code>⌘</code> key pressed to expand the element into markdown source.</p>
<h3 id="reference-links">Reference Links</h3>
<p>Reference-style links use a second set of square brackets, inside which you place a label of your choosing to identify the link:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">This is [an example][id] reference-style link.
Then, anywhere in the document, you define your link label like this, on a line by itself:
[id]: http://example.com/ &#34;Optional Title Here&#34;
</code></pre></div><p>In typora, they will be rendered like:</p>
<p>This is <a href="http://example.com/" title="Optional Title Here">an example</a> reference-style link.</p>
<p>The implicit link name shortcut allows you to omit the name of the link, in which case the link text itself is used as the name. Just use an empty set of square brackets — e.g., to link the word “Google” to the google.com web site, you could simply write:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">[Google][]
And then define the link:
[Google]: http://google.com/
</code></pre></div><p>In typora click link will expand it for editing, command+click will open the hyperlink in web browser.</p>
<h2 id="urls">URLs</h2>
<p>Typora allows you to insert urls as links, wrapped by <code>&lt;</code>brackets<code>&gt;</code>.</p>
<p><code>&lt;i@typora.io&gt;</code> becomes <a href="mailto:i@typora.io">i@typora.io</a>.</p>
<p>Typora will aslo auto link standard URLs. e.g: <a href="http://www.google.com">www.google.com</a>.</p>
<h2 id="images">Images</h2>
<p>Image looks similar with links, but it requires an additional <code>!</code> char before the start of link. Image syntax looks like this:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">

</code></pre></div><p>You are able to use drag &amp; drop to insert image from image file or we browser. And modify the markdown source code by clicking on the image. Relative path will be used if image is in same directory or sub-directory with current editing document when drag &amp; drop.</p>
<p>For more tips on images, please read <a href="http://support.typora.io//Images/">http://support.typora.io//Images/</a></p>
<h2 id="emphasis">Emphasis</h2>
<p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an HTML <code>&lt;em&gt;</code> tag. E.g:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">*single asterisks*
<span style="font-style:italic">_single underscores_</span>
</code></pre></div><p>output:</p>
<p><em>single asterisks</em></p>
<p><em>single underscores</em></p>
<p>GFM will ignores underscores in words, which is commonly used in code and names, like this:</p>
<blockquote>
<p>wow_great_stuff</p>
<p>do_this_and_do_that_and_another_thing.</p>
</blockquote>
<p>To produce a literal asterisk or underscore at a position where it would otherwise be used as an emphasis delimiter, you can backslash escape it:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">\*this text is surrounded by literal asterisks\*
</code></pre></div><p>Typora recommends to use <code>*</code> symbol.</p>
<h2 id="strong">Strong</h2>
<p>double *’s or _’s will be wrapped with an HTML <code>&lt;strong&gt;</code> tag, e.g:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">**double asterisks**
<span style="font-weight:bold">__double underscores</span><span style="font-weight:bold">__</span>
</code></pre></div><p>output:</p>
<p><strong>double asterisks</strong></p>
<p><strong>double underscores</strong></p>
<p>Typora recommends to use <code>**</code> symbol.</p>
<h2 id="code">Code</h2>
<p>To indicate a span of code, wrap it with backtick quotes (`). Unlike a pre-formatted code block, a code span indicates code within a normal paragraph. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">Use the <span style="color:#e6db74">`printf()`</span> function.
</code></pre></div><p>will produce:</p>
<p>Use the <code>printf()</code> function.</p>
<h2 id="strikethrough">Strikethrough</h2>
<p>GFM adds syntax to create strikethrough text, which is missing from standard Markdown.</p>
<p><code>~~Mistaken text.~~</code> becomes <del>Mistaken text.</del></p>
<h2 id="underline">Underline</h2>
<p>Underline is powered by raw HTML.</p>
<p><code>&lt;u&gt;Underline&lt;/u&gt;</code> becomes <!-- raw HTML omitted -->Underline<!-- raw HTML omitted -->.</p>
<h2 id="emoji-happy">Emoji :happy:</h2>
<p>Input emoji with syntax <code>😄</code>.</p>
<p>User can trigger auto-complete suggestions for emoji by pressing <code>ESC</code> key, or trigger it automatically after enable it on preference panel. Also, input UTF8 emoji char directly from <code>Edit</code> -&gt; <code>Emoji &amp; Symbols</code> from menu bar is also supported.</p>
<h2 id="inline-math">Inline Math</h2>
<p>To use this feature, first, please enable it in <code>Preference</code> Panel -&gt; <code>Markdown</code> Tab. Then use <code>$</code> to wrap TeX command, for example: <code>$\lim_{x \to \infty} \exp(-x) = 0$</code> will be rendered as LaTeX command.</p>
<p>To trigger inline preview for inline math: input “$”, then press <code>ESC</code> key, then input TeX command, a preview tooltip will be visible like below:</p>
<p><!-- raw HTML omitted --></p>
<section class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1" role="doc-endnote">
<p>Here is the <em>text</em> of the <strong>footnote</strong>. <a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</section></description>
</item>
<item>
<title>关于</title>
<link>http://www.itspedia.com/about/</link>
<pubDate>Sun, 20 Aug 2017 21:38:52 +0800</pubDate>
<guid>http://www.itspedia.com/about/</guid>
<description><h2 id="pedia指维基百科itspedia为its-pedia的简写寓意这就是维基百科">pedia指维基百科,itspedia为it&rsquo;s pedia的简写,寓意这就是维基百科</h2>
<p>以上为这个域名的寓意,当年在考虑用这个域名作为自己的个人网站域名的时候,在申请的时候发现已经为位于澳洲的一个华裔注册,同时发现这个域名并没有相应的网站在运营。两三年后,自己再次试着注册这个域名时,发现以前的注册者没有续,遂这个域名开始陪伴我至今。直到2020年了,这个域名才开始有该网站,可见自己也是一个严重拖延症患者。</p>
<h2 id="以上为网站域名的故事关于这个网站初步打算作为个人博客使用主要用于整理自己的专业知识包括但不限于">以上为网站域名的故事,关于这个网站,初步打算作为个人博客使用,主要用于整理自己的专业知识,包括但不限于:</h2>
<ul>
<li>架构:包括数据架构,应用架构,架构师的基本技能</li>
<li>数据集成:数据仓库搭建方法论,数据仓库模型设计,数据处理方式</li>
<li>数据可视化:狭义的BI,介绍数据可视化的设计规范和最佳实践</li>
<li>数据分析:方法论,常用工具,如SPSS, Python</li>
<li>数据库:关系型数据库,如Oracle, DB2, MS SQL Server, MySQL, PostgreSQL, 文档数据库(MongoDB)</li>
<li>软件工具:Linux, Markup, Excel</li>
<li>开发语言:Java, Python, Golang等</li>
</ul>
</description>
</item>
<item>
<title>Math Preview</title>
<link>http://www.itspedia.com/post/math-preview/</link>
<pubDate>Mon, 04 Mar 2019 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/math-preview/</guid>
<description><p><a href="https://www.intmath.com/cg5/katex-mathjax-comparison.php">KaTeX and MathJax Comparison Demo, currently processed as KaTex</a></p>
<h2 id="repeating-fractions">Repeating fractions</h2>
<p><span class="math">\[
\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} \equiv 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } }
\]</span></p>
<h2 id="summation-notation">Summation notation</h2>
<p><span class="math">\[
\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
\]</span></p>
<h2 id="sum-of-a-series">Sum of a Series</h2>
<p>I broke up the next two examples into separate lines so it behaves better on a mobile phone. That's why they include \displaystyle.</p>
<p><span class="math">\[
\displaystyle\sum_{i=1}^{k+1}i
\]</span></p>
<p><span class="math">\[
\displaystyle= \left(\sum_{i=1}^{k}i\right) +(k+1)
\]</span></p>
<p><span class="math">\[
\displaystyle= \frac{k(k+1)}{2}+k+1
\]</span></p>
<p><span class="math">\[
\displaystyle= \frac{k(k+1)+2(k+1)}{2}
\]</span></p>
<p><span class="math">\[
\displaystyle= \frac{(k+1)(k+2)}{2}
\]</span></p>
<p><span class="math">\[
\displaystyle= \frac{(k+1)((k+1)+1)}{2}
\]</span></p>
<h2 id="product-notation">Product notation</h2>
<p><span class="math">\[
\displaystyle 1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots = \displaystyle \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \displaystyle\text{ for }\lvert q\rvert < 1.
\]</span></p>
<h2 id="inline-math">Inline math</h2>
<p>And here is some in-line math: <span class="math">\( k_{n+1} = n^2 + k_n^2 - k_{n-1} \)</span> , followed by some more text.</p>
<h2 id="greek-letters">Greek Letters</h2>
<p><span class="math">\[
\Gamma\ \Delta\ \Theta\ \Lambda\ \Xi\ \Pi\ \Sigma\ \Upsilon\ \Phi\ \Psi\ \Omega
\alpha\ \beta\ \gamma\ \delta\ \epsilon\ \zeta\ \eta\ \theta\ \iota\ \kappa\ \lambda\ \mu\ \nu\ \xi \ \omicron\ \pi\ \rho\ \sigma\ \tau\ \upsilon\ \phi\ \chi\ \psi\ \omega\ \varepsilon\ \vartheta\ \varpi\ \varrho\ \varsigma\ \varphi
\]</span></p>
<h2 id="arrows">Arrows</h2>
<p><span class="math">\[
\gets\ \to\ \leftarrow\ \rightarrow\ \uparrow\ \Uparrow\ \downarrow\ \Downarrow\ \updownarrow\ \Updownarrow
\]</span></p>
<p><span class="math">\[
\Leftarrow\ \Rightarrow\ \leftrightarrow\ \Leftrightarrow\ \mapsto\ \hookleftarrow
\leftharpoonup\ \leftharpoondown\ \rightleftharpoons\ \longleftarrow\ \Longleftarrow\ \longrightarrow
\]</span></p>
<p><span class="math">\[
\Longrightarrow\ \longleftrightarrow\ \Longleftrightarrow\ \longmapsto\ \hookrightarrow\ \rightharpoonup
\]</span></p>
<p><span class="math">\[
\rightharpoondown\ \leadsto\ \nearrow\ \searrow\ \swarrow\ \nwarrow
\]</span></p>
<h2 id="symbols">Symbols</h2>
<p><span class="math">\[
\surd\ \barwedge\ \veebar\ \odot\ \oplus\ \otimes\ \oslash\ \circledcirc\ \boxdot\ \bigtriangleup
\]</span></p>
<p><span class="math">\[
\bigtriangledown\ \dagger\ \diamond\ \star\ \triangleleft\ \triangleright\ \angle\ \infty\ \prime\ \triangle
\]</span></p>
<h2 id="calculus">Calculus</h2>
<p><span class="math">\[
\int u \frac{dv}{dx}\,dx=uv-\int \frac{du}{dx}v\,dx
\]</span></p>
<p><span class="math">\[
f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x}
\]</span></p>
<p><span class="math">\[
\oint \vec{F} \cdot d\vec{s}=0
\]</span></p>
<h2 id="lorenz-equations">Lorenz Equations</h2>
<p><span class="math">\[
\begin{aligned} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y - xz \\ \dot{z} & = -\beta z + xy \end{aligned}
\]</span></p>
<h2 id="cross-product">Cross Product</h2>
<p>This works in KaTeX, but the separation of fractions in this environment is not so good.</p>
<p><span class="math">\[
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix}
\]</span></p>
<p>Here's a workaround: make the fractions smaller with an extra class that targets the spans with &quot;mfrac&quot; class (makes no difference in the MathJax case):</p>
<p><span class="math">\[
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix}
\]</span></p>
<h2 id="accents">Accents</h2>
<p><span class="math">\[
\hat{x}\ \vec{x}\ \ddot{x}
\]</span></p>
<h2 id="stretchy-brackets">Stretchy brackets</h2>
<p><span class="math">\[
\left(\frac{x^2}{y^3}\right)
\]</span></p>
<h2 id="evaluation-at-limits">Evaluation at limits</h2>
<p><span class="math">\[
\left.\frac{x^3}{3}\right|_0^1
\]</span></p>
<h2 id="case-definitions">Case definitions</h2>
<p><span class="math">\[
f(n) = \begin{cases} \frac{n}{2}, & \text{if } n\text{ is even} \\ 3n+1, & \text{if } n\text{ is odd} \end{cases}
\]</span></p>
<h2 id="maxwells-equations">Maxwell's Equations</h2>
<p><span class="math">\[
\begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned}
\]</span></p>
<p>These equations are quite cramped. We can add vertical spacing using (for example) [1em] after each line break (\). as you can see here:</p>
<p><span class="math">\[
\begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\[1em] \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\[0.5em] \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\[1em] \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned}
\]</span></p>
<h2 id="statistics">Statistics</h2>
<p>Definition of combination:</p>
<p><span class="math">\[
\frac{n!}{k!(n-k)!} = {^n}C_k
{n \choose k}
\]</span></p>
<h2 id="fractions-on-fractions">Fractions on fractions</h2>
<p><span class="math">\[
\frac{\frac{1}{x}+\frac{1}{y}}{y-z}
\]</span></p>
<h2 id="nth-root">n-th root</h2>
<p><span class="math">\[
\sqrt[n]{1+x+x^2+x^3+\ldots}
\]</span></p>
<h2 id="matrices">Matrices</h2>
<p><span class="math">\[
\begin{pmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{pmatrix}
\begin{bmatrix} 0 & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & 0 \end{bmatrix}
\]</span></p>
<h2 id="punctuation">Punctuation</h2>
<p><span class="math">\[
f(x) = \sqrt{1+x} \quad (x \ge -1)
f(x) \sim x^2 \quad (x\to\infty)
\]</span></p>
<p>Now with punctuation:</p>
<p><span class="math">\[
f(x) = \sqrt{1+x}, \quad x \ge -1
f(x) \sim x^2, \quad x\to\infty
\]</span></p></description>
</item>
<item>
<title>数据仓库之人物篇</title>
<link>http://www.itspedia.com/post/architeture-dw-hall-of-fame.zh-cn/</link>
<pubDate>Wed, 13 Feb 2019 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/architeture-dw-hall-of-fame.zh-cn/</guid>
<description><p>数据仓库领域,在业界有几位公认大牛,</p>
<h2 id="第一位-william-h-bill-inmon">第一位 William H. (Bill) Inmon,</h2>
<p>数据仓库之父,开山鼻祖,著书立说,培训演讲,出版了许多书,详见<a href="https://en.wikipedia.org/wiki/Bill_Inmon#Publications">wiki</a>
我在这里推荐Building the Data Warehouse这本书,第<strong>四</strong>版出版于2005。他推崇使用Corporate Information Factory(CIF)的数据建模方法(使用范式模型构建企业数据仓库+各维度模型构建的业务主题数据集市),最近在新的数据仓库架构和实施方面和后起之秀Dan Linstedt合作推动新的搭建数据仓库的方法论 Data Vault</p>
<h2 id="第二位-ralph-kimball">第二位 Ralph Kimball</h2>
<p>使用维度模型构建数据仓库的开创者(Dimensional Data Warehouse)。他起初在一段不短的时间内就这个构建数据仓库方法论和Inmon的CIF展开激烈论战,最终他的方法论获得业界广泛认可,成为业界构建数据仓库的事实标准。他的书专注于实际实现考虑,以toolkit主题的有三本,</p>
<ul>
<li>The Data Warehouse Toolkit</li>
<li>The Data Warehouse ETL Toolkit</li>
<li>The Data Warehouse Lifecycle Toolkit</li>
</ul>
<p>这三本书涵盖架构设计,模型设计,项目管理等多个主题,成为业界从业人员之必读。
这里不得不提<a href="http://chrisadamson.com">Chris Adamson</a>,业界资深顾问,一个Ralph Kimball方法论的追随者,著有Star Schema The Complete Reference等。</p>
<h2 id="第三位-dan-linstedt">第三位 Dan Linstedt</h2>
<p>创新性地提出使用Data Vault建模方法来设计数据仓库模型,后续推出Data Vault 2.0构建数据仓库方法论,涵盖建模、项目管理、架构和实现等方面,通过成立商业联盟和认证培训等商业手段积极推广。</p>
</description>
</item>
<item>
<title>Shortcodes Preview</title>
<link>http://www.itspedia.com/post/shortcodes-preview/</link>
<pubDate>Sun, 04 Mar 2018 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/shortcodes-preview/</guid>
<description><h2 id="what-a-shortcode-is">What a Shortcode is</h2>
<p>Hugo loves Markdown because of its simple content format, but there are times when Markdown falls short. Often, content authors are forced to add raw HTML (e.g., video <code>&lt;iframes&gt;</code>) to Markdown content. We think this contradicts the beautiful simplicity of Markdown&rsquo;s syntax.</p>
<p>Hugo created <strong>shortcodes</strong> to circumvent these limitations.</p>
<p>A shortcode is a simple snippet inside a content file that Hugo will render using a predefined template. Note that shortcodes will not work in template files. If you need the type of drop-in functionality that shortcodes provide but in a template, you most likely want a [partial template][partials] instead.</p>
<p>In addition to cleaner Markdown, shortcodes can be updated any time to reflect new classes, techniques, or standards. At the point of site generation, Hugo shortcodes will easily merge in your changes. You avoid a possibly complicated search and replace operation.</p>
<p>More details: <a href="https://gohugo.io/content-management/shortcodes/">https://gohugo.io/content-management/shortcodes/</a></p>
<h2 id="blockquotes">blockquotes</h2>
<p>Normal quote:
<blockquote>
<p>This is a simple quote.</p>
<footer>
<strong></strong>
</footer>
</blockquote>
</p>
<p>Quote with author:
<blockquote>
<p>This is a quote with only an Author named Author2.</p>
<footer>
<strong>Author2</strong>
</footer>
</blockquote>
</p>
<p>Quote with author and source:
<blockquote>
<p>This is a quote from Author3 and source &ldquo;source.&rdquo;</p>
<footer>
<strong>Author3</strong>
<cite>Source</cite>
</footer>
</blockquote>
</p>
<p>Quote with author and link:
<blockquote>
<p>This is a quote from Author4 and links to <a href="https://www.google.com">https://www.google.com</a>.</p>
<footer>
<strong>Author4</strong>
<cite>
<a href="https://www.google.com" title="https://www.google.com">google.com</a>
</cite>
</footer>
</blockquote>
</p>
<p>Quote with author, link and title:
<blockquote>
<p>This is a quote from Author5 and links to <a href="https://www.google.com">https://www.google.com</a> with title &ldquo;Google.&rdquo;</p>
<footer>
<strong>Author5</strong>
<cite>
<a href="https://www.google.com" title="https://www.google.com">Google</a>
</cite>
</footer>
</blockquote>
</p>
<p>Quote with author and a link longer than 32 characters, string is first cut at 32 characters then everything after the last forward slash is removed
<blockquote>
<p>This is a quote from Author5 and links to <a href="https://twitter.com/CryptoGangsta/status/716427930126196737">https://twitter.com/CryptoGangsta/status/716427930126196737</a> which is longer than 32 characters.
<!-- raw HTML omitted -->And this is a new line in the quote with the HTML br tag.</p>
<footer>
<strong>Author6</strong>
<cite>
<a href="https://twitter.com/CryptoGangsta/status/716427930126196737" title="https://twitter.com/CryptoGangsta/status/716427930126196737">twitter.com/CryptoGangsta/...</a>
</cite>
</footer>
</blockquote>
</p>
<p>Test from the Octopress blockquote page at: <a href="http://octopress.org/docs/plugins/blockquote/">http://octopress.org/docs/plugins/blockquote/</a>
<blockquote>
<p>Over the past 24 hours I&rsquo;ve been reflecting on my life &amp; I&rsquo;ve realized only one thing. I need a medieval battle axe.</p>
<footer>
<strong>@allanbranch</strong>
<cite>
<a href="https://twitter.com/allanbranch/status/90766146063712256" title="https://twitter.com/allanbranch/status/90766146063712256">twitter.com/allanbranch/status/...</a>
</cite>
</footer>
</blockquote>
</p>
<h2 id="music">music</h2>
<!-- raw HTML omitted -->
<h2 id="gist">gist</h2>
<p>We can embed the gist in our content via username and gist ID pulled from the URL:</p>
<pre><code>{{&lt; gist spf13 7896402 &gt;}}
</code></pre><p>Display:</p>
<script type="application/javascript" src="https://gist.github.com/spf13/7896402.js"></script>
<h2 id="expand">expand</h2>
<p>The Expand shortcode displays an expandable/collapsible section of text on your page. Here is an example</p>
<details>
<summary style="background-color:#f5f5f5;border:1px solid #ccc;padding:5px;">
Is this learn theme rocks ?
</summary>
Yes !.
</details>
<h3 id="usage">Usage</h3>
<p>this shortcode takes exactly one optional parameter to define the text that appears next to the expand/collapse icon. (default is “Click to expand”)</p>
<pre><code>{{&lt; expand &quot;Is this learn theme rocks ?&quot; &gt;}}
Yes !.
{{&lt; /expand &gt;}}
</code></pre><h2 id="youtube">youtube</h2>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe src="https://www.youtube.com/embed/w7Ft2ymGmfc" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
</div>
<h2 id="vimeo">vimeo</h2>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe src="https://player.vimeo.com/video/146022717" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="vimeo video" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
<h2 id="youku">youku</h2>
<div style="position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;">
<iframe src="https://player.youku.com/embed/XMzQ0ODUxMjM2NA?autoplay=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" allowfullscreen frameborder="0" title="YouKu Video">
</iframe>
</div></description>
</item>
<item>
<title>Image Preview</title>
<link>http://www.itspedia.com/post/image-preview/</link>
<pubDate>Sat, 03 Mar 2018 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/image-preview/</guid>
<description><p>Thanks for <a href="https://github.com/liwenyip/hugo-easy-gallery">liwenyip/hugo-easy-gallery</a> &amp; <a href="https://github.com/xianmin/hugo-theme-jane/pull/48">Zebradil · Pull Request #48</a> .</p>
<p>Now, we could use <code>{{&lt; gallery &gt;}}</code> shortcode in hugo-theme-jane.</p>
<h2 id="normal-image">Normal Image</h2>
<p>This is an image in <code>static/image</code> folder.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-markdown" data-lang="markdown">
</code></pre></div><h2 id="-figure--shortcode"><code>{{&lt; figure &gt;}}</code> shortcode</h2>
<h3 id="figure-image-with-title">figure image with title</h3>
<pre><code>{{&lt; figure src=&quot;/image/example.jpg&quot; title=&quot;figure image with title&quot; &gt;}}
</code></pre><h3 id="figure-image-with-caption">figure image with caption</h3>
<pre><code>{{&lt; figure src=&quot;/image/example.jpg&quot; caption=&quot;figure image with caption figure image with caption figure image with caption figure image with caption figure image with caption&quot; &gt;}}
</code></pre><h3 id="more--figure--shortcode-usage">more <code>{{&lt; figure &gt;}}</code> shortcode usage</h3>
<p>Specifying your image files:</p>
<ul>
<li><code>{{&lt; figure src=&quot;thumb.jpg&quot; link=&quot;image.jpg&quot; &gt;}}</code> will use <code>thumb.jpg</code> for thumbnail and <code>image.jpg</code> for lightbox</li>
<li><code>{{&lt; figure src=&quot;image.jpg&quot; &gt;}}</code> or <code>{{&lt; figure link=&quot;image.jpg&quot; &gt;}}</code> will use <code>image.jpg</code> for both thumbnail and lightbox</li>
<li><code>{{&lt; figure link=&quot;image.jpg&quot; thumb=&quot;-small&quot; &gt;}}</code> will use <code>image-small.jpg</code> for thumbnail and <code>image.jpg</code> for lightbox</li>
</ul>
<p>Optional parameters:</p>
<ul>
<li>All the <a href="https://gohugo.io/extras/shortcodes">features/parameters</a> of Hugo&rsquo;s built-in <code>figure</code> shortcode work as normal, i.e. src, link, title, caption, class, attr (attribution), attrlink, alt</li>
<li><code>size</code> (e.g. <code>size=&quot;1024x768&quot;</code>) pre-defines the image size for PhotoSwipe. Use this option if you don&rsquo;t want to pre-load the linked image to determine its size.</li>
<li><code>class</code> allows you to set any custom classes you want on the <code>&lt;figure&gt;</code> tag.</li>
</ul>
<p>Optional parameters for standalone <code>{{&lt; figure &gt;}}</code> shortcodes only (i.e. don&rsquo;t use on <code>{{&lt; figure &gt;}}</code> inside <code>{{&lt; gallery &gt;}}</code> - strange things may happen if you do):</p>
<ul>
<li><code>caption-position</code> and <code>caption-effect</code> work the same as for the <code>{{&lt; gallery &gt;}}</code> shortcode (see below).</li>
<li><code>width</code> defines the <a href="https://www.w3schools.com/cssref/pr_dim_max-width.asp"><code>max-width</code></a> of the image displayed on the page. If using a thumbnail for a standalone figure, set this equal to your thumbnail&rsquo;s native width to make the captions behave properly (or feel free to come up with a better solution and submit a pull request :-)). Also use this option if you don&rsquo;t have a thumbnail and you don&rsquo;t want the hi-res image to take up the entire width of the screen/container.</li>
<li><code>class=&quot;no-photoswipe&quot;</code> prevents a <code>&lt;figure&gt;</code> from being loaded into PhotoSwipe. If you click on the figure you&rsquo;ll instead a good ol&rsquo; fashioned hyperlink to a bigger image (or - if you haven&rsquo;t specified a bigger image - the same one).</li>
</ul>
<h2 id="-gallery--shortcode"><code>{{&lt; gallery &gt;}}</code> shortcode</h2>
<h3 id="simple-gallery">simple gallery</h3>
<p>To specify a directory of image files:</p>
<pre><code>{{&lt; gallery dir=&quot;/img/your-directory-of-images/&quot; &gt;}}
</code></pre><ul>
<li>The images are automatically captioned with the file name.</li>
<li><code>[image].jpg</code> is used for the hi-res image, and <code>[image]-thumb.jpg</code> is used for the thumbnails.</li>
<li>If <code>[image]-thumb.jpg</code> doesn&rsquo;t exist, then <code>[image].jpg</code> will be used for both hi-res and thumbnail images.</li>
<li>The default thumbnail suffix is <code>-thumb</code>, but you can specify a different one e.g. <code>thumb=&quot;-small&quot;</code> or <code>thumb=&quot;_150x150&quot;</code>.</li>
</ul>
<h3 id="to-specify-individual-image-files">To specify individual image files</h3>
<pre><code>{{&lt; gallery &gt;}}
{{&lt; figure src=&quot;image1.jpg&quot; &gt;}}
{{&lt; figure src=&quot;image2.jpg&quot; &gt;}}
{{&lt; figure src=&quot;image3.jpg&quot; &gt;}}
{{&lt; /gallery &gt;}}
</code></pre><p><strong>Optional parameters:</strong></p>
<ul>
<li><code>caption-position</code> - determines the captions&rsquo; position over the image. Options:
<ul>
<li><code>bottom</code> (default)</li>
<li><code>center</code></li>
<li><code>none</code> hides captions on the page (they will only show in PhotoSwipe)</li>
</ul>
</li>
<li><code>caption-effect</code> - determines if/how captions appear upon hover. Options:
<ul>
<li><code>slide</code> (default)</li>
<li><code>fade</code></li>
<li><code>none</code> (captions always visible)</li>
</ul>
</li>
<li><code>hover-effect</code> - determines if/how images change upon hover. Options:
<ul>
<li><code>zoom</code> (default)</li>
<li><code>grow</code></li>
<li><code>shrink</code></li>
<li><code>slideup</code></li>
<li><code>slidedown</code></li>
<li><code>none</code></li>
</ul>
</li>
<li><code>hover-transition</code> - determines if/how images change upon hover. Options:
<ul>
<li>not set - smooth transition (default)</li>
<li><code>none</code> - hard transition</li>
</ul>
</li>
</ul></description>
</item>
<item>
<title>Shortcodes Notice Preview</title>
<link>http://www.itspedia.com/post/shortcode-notice/</link>
<pubDate>Sat, 03 Mar 2018 16:01:23 +0800</pubDate>
<guid>http://www.itspedia.com/post/shortcode-notice/</guid>
<description><h2 id="normal-use">normal use</h2>
<p><code>Note</code> example:</p>