-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathfeed.xml
2939 lines (2907 loc) · 398 KB
/
feed.xml
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"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>CC technical blog</title><link href="http://opensource.creativecommons.org/" rel="alternate"></link><link href="http://opensource.creativecommons.org/blog/feed.xml" rel="self"></link><id>urn:uuid:cc6bc3c1-d0ad-365f-b7a6-1fcd73488c56</id><updated>2022-01-06T00:00:00Z</updated><author><name></name></author><entry><title>CC Messaging Update 2022Q1 (Dropping IRC)</title><link href="http://opensource.creativecommons.org/blog/entries/2022-01-06-cc-messaging/" rel="alternate"></link><updated>2022-01-06T00:00:00Z</updated><author><name>TimidRobot</name></author><id>urn:uuid:043a7604-a0bf-3890-b20d-de0f99b67f8c</id><content type="html"><h2 id="past-moved-to-slack">Past: Moved to Slack</h2><p>In 2016, Creative Commons (CC) moved to Slack as our primary messaging platform
(<a href="https://creativecommons.org/2016/10/18/slack-announcement/">We're on Slack! Join us! - Creative Commons</a>). We are very thankful
for the generous support that Slack has provided. The Slack messaging platform
is far more accessible than IRC. We saw an immediate and sustained increase in
our messaging community (<a href="https://creativecommons.org/2016/12/09/a-month-of-slack/">A month of Slack: Growing global communities every
day - Creative Commons, Lessons learned from a year of Slack, 1000 members,
and immeasurable community growth - Creative Commons</a>). We
currently have 10,293 members in our Slack workspace. Of those, we see daily
activity from an average of 250 of them spread across almost 70 public
channels. The Slack platform is not without valid criticisms, but those will be
addressed in the Future: Open Source section, below.</p>
<h2 id="present-dropping-irc">Present: Dropping IRC</h2><p>When CC moved to Slack, we also set up a bridge with our three IRC channels on
Freenode. However those channels only see ones of active users and tens of
messages per year. With the hostile takeover of Freenode in 2021, the
Free/Libre and Open Source (FOSS) community has largely moved to
<a href="https://libera.chat/">libera.chat</a>. However, we will not be moving our Slack/IRC bridge
there. <strong>Effective 2022-01-24 we are dropping IRC as an officially supported
messaging platform.</strong> In addition to there having been very few active users on
IRC, many of the active IRC users also have active Slack accounts. Dropping IRC
will allow us to better allocate our technical resources to better serve the
community as a whole.</p>
<h2 id="future-open-source">Future: Open Source</h2><p>Over the years, Slack has had performance and UX issues. It is also designed
around assumptions that do not fit a large open community. Those issues have
not prevented it from being a strong and capable messaging platform that has
served our community well. However, an Open Source messaging platform would
better align with the Creative Commons community and the values we champion.
The Open Source and Open Content communities have long enjoyed a significant
overlap and collaboration. With regards to messaging, we hope to increase that
overlap in the next year or two.</p>
</content></entry><entry><title>Upcoming Changes to the CC Open Source Community</title><link href="http://opensource.creativecommons.org/blog/entries/2020-12-07-upcoming-changes-to-community/" rel="alternate"></link><updated>2020-12-07T00:00:00Z</updated><author><name>kgodey</name></author><id>urn:uuid:f2584ce6-4f24-3ccb-97d8-9f68e62bc65a</id><content type="html"><p>Creative Commons (CC) is adopting a brand new organizational strategy in 2021, just in time for our 20th anniversary. As part of the organization's evolution in alignment with the new strategy, <a href="https://opensource.creativecommons.org/blog/authors/aldenpage/">Alden Page</a>, <a href="https://opensource.creativecommons.org/blog/authors/mathemancer/">Brent Moran</a>, <a href="https://opensource.creativecommons.org/blog/authors/hugosolar/">Hugo Solar</a>, and I (<a href="https://opensource.creativecommons.org/blog/authors/kgodey/">Kriti Godey</a>) will have departed Creative Commons by the end of December. Moving forward, the CC staff engineering team of <a href="https://opensource.creativecommons.org/blog/authors/TimidRobot/">Timid Robot Zehta</a> and <a href="https://opensource.creativecommons.org/blog/authors/zackkrida/">Zack Krida</a> will focus on supporting a smaller set of core projects.</p>
<p>We are extremely proud of the work we have done together to build CC's vibrant open source community over the past two years. And of course, we're thankful for all the amazing contributions that all our community members have made. We've made significant improvements to existing tools, and launched entirely new projects with your help. <a href="https://opensource.creativecommons.org/blog/categories/cc-vocabulary/">We created Vocabulary,</a> a design system for Creative Commons and launched half a dozen sites using it. We added <a href="https://opensource.creativecommons.org/blog/categories/cc-catalog/">dozens of new sources to CC Search</a> and improved <a href="https://opensource.creativecommons.org/blog/authors/AyanChoudhary/">its accessibility</a>. We released tools such as the <a href="https://opensource.creativecommons.org/blog/authors/ahmadbilaldev/">CC WordPress plugin</a> and <a href="https://opensource.creativecommons.org/blog/authors/makkoncept/">CC Search browser extension</a> that integrated CC licensing with widely used software. And, there's so much more.</p>
<h3 id="community-changes">Community Changes</h3><p>The CC Open Source community remains central to our engineering work, and we will continue to support you in every way we can. However, based on the new staff capacity, we will be making a few changes to our community processes:</p>
<ul>
<li>Community Team members will no longer have access to CC's Asana. Most tasks are tracked on GitHub, and managing Asana adds unnecessary complexity to the community team.</li>
<li>We will invite all Community Team members to meetings and documents open to the community, regardless of role.</li>
<li>We will deprecate the "community-team-core" mailing list in favor of a single "community-team" mailing list.</li>
<li>We will have a new monthly Open Source Community meeting and cancel the existing biweekly Engineering Meeting.</li>
<li>We will no longer have a paid Open Source Community Coordinator, <a href="https://opensource.creativecommons.org/community/community-team/community-building-roles/">relying instead on volunteers</a> to help assist new community members, maintain our Twitter account, etc.</li>
</ul>
<p>We welcome new Community Team members and we will continue to participate in internship programs such as Google Summer of Code.</p>
<h3 id="project-changes">Project Changes</h3><p>With a smaller engineering team, we will need to support fewer projects. Please see below for the current status of all projects with at least one Community Team member.</p>
<p><strong>Active Development</strong></p>
<p>We will continue to actively develop the following projects:</p>
<ul>
<li><a href="https://github.com/creativecommons/ccsearch-browser-extension">CC Search Browser Extension</a> (maintainer: Mayank Nader)</li>
<li><a href="https://github.com/creativecommons/creativecommons.github.io-source">CC Open Source website</a> (maintainers: Zack Krida &amp; Timid Robot Zehta)</li>
<li><a href="https://github.com/creativecommons/creativecommons-base">CC WordPress base</a> &amp; child themes (new maintainer: Zack Krida)</li>
<li><a href="https://github.com/creativecommons/legaldb">CC Legal Database</a> (maintainer: Timid Robot Zehta)</li>
<li><a href="https://github.com/creativecommons/chooser">CC Chooser</a> (maintainer: Zack Krida)</li>
<li><a href="https://github.com/creativecommons/cc-link-checker/">CC Link Checker</a> (maintainer: Timid Robot Zehta)</li>
<li><a href="https://github.com/creativecommons/licensebuttons/">License Buttons</a> (maintainer: Timid Robot Zehta)</li>
<li><a href="https://github.com/creativecommons/mp/">Platform Toolkit</a> (maintainer: Timid Robot Zehta)</li>
<li><a href="https://github.com/creativecommons/vocabulary">Vocabulary</a> (maintainers: Zack Krida &amp; Dhruv Bhanushali)</li>
<li><a href="https://github.com/creativecommons/wp-plugin-creativecommons">WordPress Plugin</a> (new maintainer: Zack Krida)</li>
</ul>
<p><strong>Maintenance Mode</strong></p>
<p>The following projects are entering maintenance mode. The services will remain online, but we will not accept any new pull requests or deploy new code after Dec 15, 2020.</p>
<ul>
<li><a href="https://github.com/creativecommons/cccatalog">CC Catalog</a></li>
<li><a href="https://github.com/creativecommons/cccatalog-api">CC Catalog API</a></li>
<li><a href="https://github.com/creativecommons/cccatalog-frontend/">CC Search</a></li>
<li><a href="https://github.com/creativecommons/cccatalog-dataviz/">Linked Commons</a></li>
</ul>
<p>Catalog, API, and Linked Commons contributors are encouraged to contribute to our other Python projects such as the <a href="https://github.com/creativecommons/legaldb">CC Legal Database</a> or the upcoming <a href="https://github.com/creativecommons/cc-licenses">CC Licenses</a> project. If you are a CC Search contributor, we recommend checking out frontend projects such as the <a href="https://github.com/creativecommons/chooser">CC Chooser</a> or <a href="https://github.com/creativecommons/vocabulary">Vocabulary</a>.</p>
<h3 id="thank-you">Thank You!</h3><p>We cannot express our gratitude for our community enough. You are all an absolute pleasure to work with, and we're looking forward to continuing to collaborate with you for years to come.</p>
</content></entry><entry><title>Vocabulary Landing Page & Usage Guide Final Report</title><link href="http://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-closing/" rel="alternate"></link><updated>2020-12-03T00:00:00Z</updated><author><name>nimishbongale</name></author><id>urn:uuid:9c4ce7a3-30fa-397d-bbcd-c2b9ba3658c3</id><content type="html"><p>We have reached the end of this wonderful journey. Let's comprehensively recap all my contributions during the GSoD internship period!</p>
<h2 id="vocabulary-site-updates-edition-4/4">Vocabulary Site Updates (Edition 4/4)</h2><p>After securing acceptance, I received the necessary github invites. I was given write access to the <a href="https://github.com/creativecommons/vocabulary">Vocabulary GitHub repository</a> as a <strong>CC Vocabulary Core Committer</strong>.</p>
<h3 id="proposed-initial-plan">Proposed Initial Plan</h3><h4 id="project-synopsis">Project Synopsis</h4><p>Vocabulary has immense potential to be used as a primary UI component library for website building. What it needs is a robust yet layman-friendly how-to guide. Important developer information such as component guides, usage specifications and configuration tweaks form an essential part of any documentation. This will not only encourage existing users to get a feel of how vocabulary continues to grow and reach new milestones, but also promote the usage of Vocabulary in comparatively newer projects. The desired outcomes of my stint as an intern would not only involve penning out a no-nonsense guide to using the pre-existing components but also the designing and developing of a home page (leading to an integrated documentation for each) for Vocabulary, Vue-Vocabulary and Fonts.</p>
<h3 id="proposed-improvised-timelines-deliverables">Proposed &amp; Improvised Timelines &amp; Deliverables</h3><p>Here's a list of all the weekly goals that I met:</p>
<p><strong>Pre-Internship</strong></p>
<ul>
<li>Understood Creative Commons as an organisation, its work and related ethics.</li>
<li>Had a look at CC’s github repositories and understand the code structure.</li>
<li>Opened Issues and PR’s to get acquainted with the repository workflows.</li>
<li>Interacted with my mentor and established the basic ideas regarding the project in question.</li>
<li>Further researched about the needs of the project, and ponder over its potential impact after implementation.</li>
</ul>
<p><strong>Week 1</strong>
(09/14 - 09/21)</p>
<ul>
<li>Understood Vocabulary, Vue-Vocabulary and Fonts in greater depth, and their existing components.</li>
<li>Designed a first look unified landing page for Vocabulary, Vue-Vocabulary and Fonts based on Vocabulary components.</li>
<li>Interacted with my mentor and other team members and established a rapport.</li>
</ul>
<p><strong>Week 2</strong>
(09/22 - 09/28)</p>
<ul>
<li>Tackled queries regarding the choice of design, page structure etc., and sought approval from CC’s UX Designer.</li>
<li>Began to write the content which will need to fill up the main landing page.</li>
</ul>
<p><strong>Week 3</strong>
(09/29 - 10/06)</p>
<ul>
<li>Finalized the headings, sub-headings and other sections which will need to be present in the landing site &amp; documentation.</li>
<li>Kept the code ready for accepting documentation contents. Have github pages/netlify/surge configured for continuous integration and deployment.</li>
</ul>
<p><strong>Week 4</strong>
(10/07 - 10/14)</p>
<ul>
<li>Began to write under “Introduction”, “Getting Started” and ”Grid Components” sub-headings of the documentation.</li>
<li>Started developing the main landing page using Vocabulary components.</li>
</ul>
<p><strong>Week 5</strong>
(10/15 - 10/22)</p>
<ul>
<li>Got complete approval for the main page contents.</li>
<li>Worked on coding the “Dark Theme”.</li>
<li>Facilitated hacktoberfest contributors and spoke at a CCOS event.</li>
</ul>
<p><strong>Week 6</strong>
(10/23 - 10/30)</p>
<ul>
<li>Wrote a mid-internship blog post describing work done and how the experience has been so far with CC.</li>
<li>Started compiling the document guides for all the components in Vocabulary. Made revamps where necessary.</li>
</ul>
<p><strong>Week 7</strong>
(10/31 - 11/07)</p>
<ul>
<li>Integrated the main page contents and the main landing page itself, had it up and running. </li>
</ul>
<p><strong>Week 8</strong>
(11/08 - 11/15)</p>
<ul>
<li>Finished writing the Vocabulary usage guide and seek initial approval.</li>
</ul>
<p><strong>Week 9</strong>
(11/16 - 11/23)</p>
<ul>
<li>Finalized on the guides and the main page contents.</li>
<li>Carried out the necessary landing page to doc integration.</li>
<li>Published a sample build using surge for viewing and surveying purposes.</li>
</ul>
<p><strong>Week 10</strong>
(11/24 - 11/30)</p>
<ul>
<li>Surveyed development builds for Accessibility using WAVE and Accessibility Insights for Web.</li>
<li>Surveyed the site for responsiveness using Chrome Dev Tools.</li>
<li>Generated Lighthouse reports.</li>
<li>Optimised for Search Engines using meta tags and external links.</li>
</ul>
<p><strong>Week 11</strong>
(11/30 - 12/05)</p>
<ul>
<li>Worked towards improving the report statistics until they reach a respectable target.</li>
<li>Wrote a blog post summarizing everything, and about my performance cum involvement in CC.</li>
</ul>
<p><strong>Week 12</strong>
(12/06 - 12/12)</p>
<ul>
<li>Sought daily approvals until everything is finalised.</li>
<li>Go through my writings and code upteen times for any miniscule errors.</li>
</ul>
<p><strong>Week 13</strong>
(12/13 - 12/19)</p>
<ul>
<li>Cleaned code, make sure everything is properly linted and ready before the final closing commits. </li>
<li>Published the “Concluding Internship” blog post, rounding up my wholesome journey. </li>
<li>Sought final closing approval.</li>
</ul>
<p><strong>Post-Internship</strong></p>
<ul>
<li>Promote the use of CC attributed works.</li>
<li>Interact with the community, answer queries or doubts regarding CC.</li>
<li>Carry out community work of the repositories I’ve contributed to.</li>
<li>Leverage experience gained during this internship for future endeavours.</li>
</ul>
<h3 id="the-vocabulary-site">The Vocabulary Site</h3><p>Here's the link to <a href="https://cc-vocab-draft.web.app">the landing site</a>.</p>
<ul>
<li>Went through <strong>3</strong> Design Iterations.</li>
<li>Designed the mockups in <a href="https://figma.com">Figma</a>.</li>
<li>Wrote the content filling up the landing page.</li>
<li>After approval from the UX Designer, waited for an approval from the Frontend Engineer.</li>
<li>Sought continuous approval from my mentor <a href="https://opensource.creativecommons.org/blog/authors/dhruvkb/">dhruvkb</a>.</li>
<li>Used <a href="https://vuejs.org">Vue.js</a> + <a href="https://www.npmjs.com/package/@creativecommons/vocabulary">CC Vocabulary</a> to build a highly modularised site.</li>
<li>Went through a couple of iterations of the website itself.</li>
<li>Made about <strong>112</strong> commits (<strong>15,000</strong> lines of code) in my <em>gsod-nimish</em> branch.</li>
</ul>
<pre>
<center>
<img alt"Contributions to CC" src="github.png"/><br>
<small class="muted">All my contributions to Creative Commons!</small>
</center>
</pre><ul>
<li>Used Github API to display repository statistics.</li>
</ul>
<pre>
<center>
<img alt"Fetch stats from Github API" src="stats.png"/><br>
<small class="muted">Fetching dynamic stats from the GitHub API</small>
</center>
</pre><ul>
<li>PR was reviewed and merged on the <strong>25th of November</strong>.</li>
</ul>
<p>Here's how the site looks right now:</p>
<pre>
<center>
<img alt"The final website!" src="website.png"/><br>
<small class="muted">Snapshot of the final website!</small>
</center>
</pre><ul>
<li>Used <a href="https://surge.sh">surge</a> &amp; <a href="https://web.app">firebase</a> for draft deploys.</li>
<li>Carried out <a href="https://developers.google.com/web/tools/lighthouse">lighthouse</a> testing.</li>
</ul>
<pre>
<center>
<img alt="Lighthouse reports" src="light.png"/><br>
<small class="muted">Lighthouse reports for our live site</small>
</center>
</pre><ul>
<li>Prompted changes to improve accessibility, SEO and PWA characteristics.</li>
</ul>
<h3 id="core-documentation">Core Documentation</h3><p>Here's the link to the <a href="https://cc-vocabulary.netlify.app">documentation site</a>.</p>
<ul>
<li>Used <a href="https://storybook.js.org/">StorybookJS</a>.</li>
<li>Modified the existing overview page.</li>
<li>Removed highly verbose sections from the docs. </li>
<li>Documented Vocabulary sprint planning workflow.</li>
<li>Documented how to use a markdown component with CC Vocabulary.</li>
<li>Embedded hyperlink to other open source projects to improve SEO.</li>
<li>Increased uniformity across documentation present in the storybooks.</li>
<li>Added alt descriptions &amp; aria labels for certain images to improve accessibility.</li>
</ul>
<h3 id="my-learnings-and-challenges">My Learnings And Challenges</h3><ul>
<li>Design is more than just picking colors and placing components on a grey screen.</li>
<li>It's important to read your own writings from an unbiased perspective to actually understand how well it would be perceived.</li>
<li>Publishing to npmjs is not difficult!</li>
<li>Knowing the previously existing code in your project is of serious essence. It's important to understand the code styles, structure &amp; activity of the code that you are dealing with.</li>
<li>Be patient! Its fine to delay something if it makes sense to have it logically accomplished only after certain other tasks are done &amp; dusted with.</li>
<li>How essential it is to write neat code is something that's not spoken too often. (I wonder why...)</li>
<li>I always thought Vue.js sets up SPA's by default. I'm surprised you need to configure it additionally to do just that!</li>
<li>Storybook is just a really nifty OSS with great community support!</li>
<li>Vue.js is fantastic. Maybe I'm a Vue.js fan now. Should I remain loyal to React? I don't know.</li>
<li>Making a site responsive isn't the easiest of tasks, but it's certainly doable after a lot of stretching &amp; compressing; lets say that.</li>
<li>"Code formatting is essential" would be an understatement to make.</li>
<li>Monorepo's have their own pro's and con's. But in our case the con's were negligible, thankfully!</li>
<li>GSoD isn't just about documentation; there's some serious amount of coding too!</li>
<li>You don't have to sit and write code for hours together. Take breaks, come back, and the fix will strike you sooner than ever.</li>
<li>Timelines change; improvisation being an essential aspect of any project!</li>
<li>MDX is a neat little format to code in! Documenting code is just so much easier.</li>
<li>Things become obsolete. Versions become outdated. Code maintaining is therefore, easier said than done!</li>
</ul>
<h3 id="issues-pr-s-raised-during-gsod-period">Issues &amp; PR's raised during GSoD period</h3><table>
<thead>
<tr>
<th>Repository</th>
<th>Contribution</th>
<th>Relevant links</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan=14><a href="https://github.com/creativecommons/vocabulary">@creativecommons/vocabulary</a></td>
<td>Developed the CC Vocabulary Landing Page</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/747">https://github.com/creativecommons/vocabulary/pull/747<br><a href="https://cc-vocab-draft.web.app">https://cc-vocab-draft.web.app</a></td>
</tr>
<tr>
<td>Implemented dark mode for our storybooks</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/806">https://github.com/creativecommons/vocabulary/pull/806</a><br><a href="https://cc-vocabulary.netlify.app">https://cc-vocabulary.netlify.app</a></td>
</tr>
<tr>
<td>Carried out a monorepo wide documentation revamp</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/813">https://github.com/creativecommons/vocabulary/pull/813</a></td>
</tr>
<tr>
<td>Wrote the Monorepo Documentation Story</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/785">https://github.com/creativecommons/vocabulary/pull/785</a><br><a href="https://cc-vocabulary.netlify.app/?path=/docs/vocabulary-structure--page#why-is-vocabulary-a-monorepo">https://cc-vocabulary.netlify.app/?path=/docs/vocabulary-structure--page#why-is-vocabulary-a-monorepo</a></td>
</tr>
<tr>
<td>Wrote the Grid Documentation Story</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/802">https://github.com/creativecommons/vocabulary/pull/802</a><br><a href="https://cc-vocabulary.netlify.app/?path=/docs/layouts-grid--fullhd#grid-system">https://cc-vocabulary.netlify.app/?path=/docs/layouts-grid--fullhd#grid-system</a></td>
</tr>
<tr>
<td>Wrote the "Getting Started" Usage Guide</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/774">https://github.com/creativecommons/vocabulary/pull/774</a><br><a href="https://cc-vocabulary.netlify.app/?path=/story/vocabulary-getting-started--page#getting-started">https://cc-vocabulary.netlify.app/?path=/story/vocabulary-getting-started--page#getting-started</a></td>
</tr>
<tr>
<td>Added a CHANGELOG.md to adhere to OSS conventions</td>
<td><a href=https://github.com/creativecommons/vocabulary/pull/671">https://github.com/creativecommons/vocabulary/pull/671</a><br><a href="https://github.com/creativecommons/vocabulary/blob/main/CHANGELOG.md">https://github.com/creativecommons/vocabulary/blob/main/CHANGELOG.md</a></td>
</tr>
<tr>
<td>Unified README.md and updated monorepo build process</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/649">https://github.com/creativecommons/vocabulary/pull/649</a><br><a href="https://www.npmjs.com/package/@creativecommons/vocabulary">https://www.npmjs.com/package/@creativecommons/vocabulary</a><br><a href="https://www.npmjs.com/package/@creativecommons/fonts">https://www.npmjs.com/package/@creativecommons/fonts</a><br><a href="https://www.npmjs.com/package/@creativecommons/vue-vocabulary">https://www.npmjs.com/package/@creativecommons/vue-vocabulary</a></td>
</tr>
<tr>
<td>Configured GitHub native dependabot</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/452">https://github.com/creativecommons/vocabulary/pull/452</a></td>
</tr>
<tr>
<td>Added phone screen backgrounds</td>
<td><a href="https://github.com/creativecommons/vocabulary/pull/445">https://github.com/creativecommons/vocabulary/pull/445</a></td>
</tr>
<tr>
<td>Introduce Snapshot Testing to Vocabulary using Chromatic</td>
<td><a href="https://github.com/creativecommons/vocabulary/issues/735">https://github.com/creativecommons/vocabulary/issues/735</a></td>
</tr>
<tr>
<td>Add a maintained with Lerna badge</td>
<td><a href="https://github.com/creativecommons/vocabulary/issues/807">https://github.com/creativecommons/vocabulary/issues/807</a><br><a href="https://github.com/creativecommons/vocabulary/blob/main/README.md">https://github.com/creativecommons/vocabulary/blob/main/README.md</a></td>
</tr>
<tr>
<td>Add new install size badges for our packages</td>
<td><a href="https://github.com/creativecommons/vocabulary/issues/776">https://github.com/creativecommons/vocabulary/issues/776</a><br><a href="https://github.com/creativecommons/vocabulary/blob/main/README.md">https://github.com/creativecommons/vocabulary/blob/main/README.md</a</td>
</tr>
<tr>
<td>Customise individual README's for our packages</td>
<td><a href="https://github.com/creativecommons/vocabulary/issues/736">https://github.com/creativecommons/vocabulary/issues/736</a></td>
</tr>
<tr>
<td rowspan=5><a href="https://github.com/creativecommons/creativecommons.github.io-source">@creativecommons/creativecommons.github.io-source</a></td>
<td>Introductory First Blog Post</td>
<td><a href="https://github.com/creativecommons/creativecommons.github.io-source/pull/530">https://github.com/creativecommons/creativecommons.github.io-source/pull/530</a><br><a href="https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-intro/">https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-intro/</a></td>
</tr>
<tr>
<td>Vocabulary Site Update v1</td>
<td><a href="https://github.com/creativecommons/creativecommons.github.io-source/pull/549">https://github.com/creativecommons/creativecommons.github.io-source/pull/549</a><br><a href="https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-1/">https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-1/</a></td>
</tr>
<tr>
<td>Vocabulary Mid Internship Update v2</td>
<td><a href="https://github.com/creativecommons/creativecommons.github.io-source/pull/555">https://github.com/creativecommons/creativecommons.github.io-source/pull/555</a><br><a href="https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-2/">https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-2/</a></td>
</tr>
<tr>
<td>Vocabulary Site Update v3</td>
<td><a href="https://github.com/creativecommons/creativecommons.github.io-source/pull/561">https://github.com/creativecommons/creativecommons.github.io-source/pull/561</a><br><a href="https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-3/">https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-3/</a></td>
</tr>
<tr>
<td>Vocabulary Site Final Update</td>
<td><a href="https://github.com/creativecommons/creativecommons.github.io-source/pull/564">https://github.com/creativecommons/creativecommons.github.io-source/pull/564</a><br><a href="/">https://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-closing/</a></td>
</tr>
<tr>
<td><a href="https://github.com/creativecommons/cccatalog-api">@creativecommons/cccatalog-api</a></td>
<td>Configured GitHub native dependabot</td>
<td><a href="https://github.com/creativecommons/cccatalog-api/pull/53">https://github.com/creativecommons/cccatalog-api/pull/53</a></td>
</tr>
<tr>
<td><a href="https://github.com/creativecommons/ccos-scripts">@creativecommons/ccos-scripts</a></td>
<td>Fix file extension in README.md docs</td>
<td><a href="https://github.com/creativecommons/ccos-scripts/pull/100">https://github.com/creativecommons/ccos-scripts/pull/100</a></td>
</tr>
</tbody>
</table><p>Follow along my complete GSoD journey through <a href="https://opensource.creativecommons.org/blog/series/gsod-2020-vocabulary-usage-guide/">these series of posts</a>.</p>
<h3 id="memorable-milestones-screenshots">Memorable Milestones Screenshots</h3><pre>
<center>
<img alt"Merged!" src="merged747.png"/><br>
<small class="muted">GSoD PR merged!</small>
</center>
</pre>
<br>
<pre>
<center>
<img alt"Dark Mode" src="darkmode.png"/><br>
<small class="muted">Behold the dark theme!</small>
</center>
</pre>
<br>
<pre>
<center>
<img alt"Grid Docs" src="grid.png"/><br>
<small class="muted">Grid Documenation Story</small>
</center>
</pre>
<br>
<pre>
<center>
<img alt"Monorepo Document Story" src="structure.png"/><br>
<small class="muted">Monorepo Structure Story</small>
</center>
</pre><h3 id="conclusion">Conclusion</h3><p>My GSoD internship has been by far, a very successful and a fruitful one. I thank the the GSoD team for all their efforts in oragnising it this year. I would also like to thank the entire Creative Commons team for all their motivation and support. The onboarding &amp; see-off was very smooth indeed!</p>
<p align="center">
<strong>Thank you for all your time! This was the final blog post under the Vocabulary docs series. I'll be around for times to come, but until then, sayonara!</strong>
</p></content></entry><entry><title>Summary: My GSoD 2020 Journey</title><link href="http://opensource.creativecommons.org/blog/entries/summary-my-gsod-2020-journey/" rel="alternate"></link><updated>2020-12-02T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:8ef2254d-edd9-37d9-a144-5b539249b19f</id><content type="html"><p>Thank you for the wonderful experience, Creative Commons!</p>
<p>This blog post serves as a project report for ‘Improve CC Catalog API Usage Guide’.
It describes the work that I’ve done during my Google Season Of Docs (GSOD) 2020.
My mentors for this project are Alden Page and Kriti Godey from Creative Commons.</p>
<p>In total, there are 12 weeks in the Doc Development Phase.
Every 2 weeks, I would publish a blog post to update my progress to my mentors and organization.</p>
<h3 id="week-1">Week 1</h3><p>So, the first two weeks of Google Season of Docs have passed.
For the first week, I added examples to perform the query using curl command.
I hit some problem with a Forbidden error. Turns out my access key got expired.
My problem was solved after obtaining a new access key.</p>
<h3 id="week-2">Week 2</h3><p>For the second week, I started to write response samples.
It was tough as I have a hard time understanding drf-yasg, which is an automatic Swagger generator.
It can produce Swagger / OpenAPI 2.0 specifications from a Django Rest Framework API.
I tried to find as many examples as I could to increase my understanding.
Funny, but it took me awhile to realise that drf-yasg is not made up of random letters.
The DRF part stands for Django Rest Framework while YASG stands for Yet Another Swagger Generator.</p>
<h3 id="week-3">Week 3</h3><p>Week 3 was quite hectic.
I moved back to my hometown during week 3.
Took 3 days off to settle my stuff and set up a workspace.
I worked on my GSoD project for only 2 days, Monday and Tuesday.
I managed to create response samples for most API endpoints.
Had a monthly video call with Kriti this week.</p>
<h3 id="week-4">Week 4</h3><p>I reviewed what I’ve done and what I haven’t to estimate new completion time.
Thank god, I have a buffer week in my GSoD timeline and deliverables.
So yeah, all is good in terms of completion time.
I started to write descriptions for API endpoints.
Submitted first PR and published blog entry.</p>
<h3 id="week-5">Week 5</h3><p>I managed to add a lot of stuff into the documentation.
I figured out how to add help texts to classes and how to create serializers.
I also managed to move all code examples under response samples.
In order to do this, I created a new class called CustomAutoSchema to add x-code-samples.
Other stuff that I did include creating new sections such as “Register and Authenticate” and “Glossary”.
The hardest part of this week is probably trying to figure out how to add request body examples and move code examples.</p>
<h3 id="week-6">Week 6</h3><p>I added another section called Contribute that provides a todolist to start contributing on Github.
I also wrote and published this blog post.</p>
<h3 id="week-7">Week 7</h3><p>I restructured the file README in CC Catalog API repository.
I added a step by step guide on how to run the server locally.
I hope new users will be less intimidated to contribute to this project with the updated guide on how to run the server locally.</p>
<h3 id="week-8">Week 8</h3><p>I created Documentation Guidelines which provides steps on how to contribute to CC Catalog API documentation, documentation styles, and cheat sheet for drf-yasg.
I also wrote and published this blog post.</p>
<h3 id="week-9">Week 9</h3><p>I had completed all GSoD tasks by week 9.
So, I took a couple of days off and fixed last week's PR.
Kriti assigned me with new tasks, which is to port CC Catalog documentation from the internal wiki into GitHub repository.
Brent, the CC Catalog maintainer explained to me about what needs to be done.</p>
<h3 id="week-10">Week 10</h3><p>I started exploring CC Catalog and its documentation.
Reminds me a lot about the first and second weeks of GSoD.
Trying to understand new stuff and having an "aha" moment when the dots finally connect.
I started to move the documentation from the internal wiki to CC Catalog’s GitHub repository.
I also wrote and published this blog post.</p>
<h3 id="week-11">Week 11</h3><p>I finished working on porting CC Catalog documentation from internal wiki to CC Catalog’s GitHub repository.
Kriti told me that there would be a meeting in which I have to present what I've done for GSoD.
Since the meeting will take place at 1AM in my local time, Kriti told me that I should send a video presentation instead.</p>
<h3 id="week-12">Week 12</h3><p>I submitted a video presentation to Kriti.
Finished writing project report and evaluation for GSoD.
I published 2 blog posts this week.
One for updates on Week 11 and Week 12.
Another one is this blog post.</p>
<p><br/></p>
<hr>
<p>You can view the latest CC Catalog API documentation <a href="https://api.creativecommons.engineering/v1/">here</a>.</p>
</content></entry><entry><title>Finish Video Presentation, Project Report and Evaluation Form</title><link href="http://opensource.creativecommons.org/blog/entries/finish-video-presentation-project-report-and-evaluation-form/" rel="alternate"></link><updated>2020-12-01T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:3c10027c-ae79-392a-961f-ef9a2362be2a</id><content type="html"><p>For week 10 and 11, I finished porting CC Catalog documentation, submitted a video presentation, and wrapped up my GSoD 2020 journey.</p>
<h3 id="week-11">Week 11</h3><p>For Week 11, I finished working on porting CC Catalog documentation from internal wiki to CC Catalog’s GitHub repository.
Kriti told me that there would be a meeting in which I have to present what I've done for GSoD.
Since the meeting will take place at 1AM in my local time, Kriti told me that I should send a video presentation instead.</p>
<h3 id="week-12">Week 12</h3><p>For this week, I submitted a video presentation to Kriti.
Finished writing project report and evaluation for GSoD.
I published 2 blog posts this week.
One for updates on Week 11 and Week 12.
Another one is a summary of my GSoD 2020 journey, which also serves as a project report.</p>
<hr>
<p>Signing off.</p>
</content></entry><entry><title>Presenting CC Base docs - A WordPress Base Theme Usage Guide for the CC Base Theme</title><link href="http://opensource.creativecommons.org/blog/entries/cc-wp-base-theme-docs-launch/" rel="alternate"></link><updated>2020-11-27T00:00:00Z</updated><author><name>JackieBinya</name></author><id>urn:uuid:c27f3a10-a8a1-3cd9-8c66-89cb70d26f58</id><content type="html"><p>We are live 🎉</p>
<p>The CC Base documentation is live and its available on this <a href="https://cc-wp-theme-base.netlify.app/">link</a>.</p>
<p>The docs were successfully migrated from Google Docs to the site! One of the most notable changes in the theme and consequently reflected in the documentation is the product name change. The CC WP Theme Base has been renamed to CC Base.</p>
<p>But the old adage says good documentation is never complete, we hope to engage the Creative Commons Community and perform usability tests. Any feed back gathered from the usability tests will then be used to further improve the CC Base docs.</p>
<p>In future iterations of the docs development we hope to include the following features:</p>
<ul>
<li>Increase the quantity of illustrative media so as to make the docs more intuitive this will be marked by adding video tutorials on how to use certain features of the CC Base theme and also adding illustrative tree diagrams to explain hierarchy of key directories and files in the CC Base project structure.</li>
<li>Integration of <a href="https://www.algolia.com/">Algolia</a> a software tool used to power search functionality in static generated sites. </li>
<li>We also hope to improve SEO for the site.</li>
</ul>
<p>All the above mentioned improvements are geared at improving the overall user experience of the docs as well as ensure faster onboarding for our community members to get started on using the CC Base theme.</p>
<p>In conclusion I would like to thank all members of the Creative Commons engineering team, with special mention to Hugo Solar and Kriti Godey. Thank you for your guidance and faith in my abilities as a technical writer and software developer.</p>
</content></entry><entry><title>Vocabulary Site Updates (Part 3/n)</title><link href="http://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-3/" rel="alternate"></link><updated>2020-11-25T00:00:00Z</updated><author><name>nimishbongale</name></author><id>urn:uuid:9b0d8e22-8041-3b9a-a0dc-66d44cdb924f</id><content type="html"><p>Excited to know more about this week's vocabulary site updates? Read on to find out!</p>
<h2 id="vocabulary-site-updates-edition-3/many-more-to-come">Vocabulary Site Updates (Edition 3/many more to come)</h2><h3 id="what-i-ve-been-up-to">What I've been up to</h3><center>
<img alt"Halfway There" src="merged.png"/><br>
<small class="muted">The surreal feeling...</small>
</center><p>Merged? Yes. <strong>Merged</strong>. Here's my story!</p>
<ul>
<li>After getting a thumbs up from the UX Designer, I put up my <a href="https://github.com/creativecommons/vocabulary/pull/747">GSoD Website PR</a> for review. </li>
<li>I was confident there would be changes, and I let them roll in. It's important to note here that what seems perfect to you may not be so to others, and only experience teaches you the right from the wrong.</li>
<li>There were a few of them, mainly dealing with spacing, textual content and colors. I resolved them as soon as I could.</li>
<li><a href="https://opensource.creativecommons.org/blog/authors/zackkrida/">zackkrida</a> has been kind enough to point and enumerate all of them for me!</li>
<li>After receiving a final approval from the engineering team, my PR was finally merged!</li>
<li>The final draft of the vocabulary site is live! It will soon be deployed (on <a href="https://netlify,com">Netlify</a>) and be made available for public viewing.</li>
<li>For my readers, here's <a href="https://cc-vocab-draft.web.app">exclusive preview</a> of the final draft. </li>
<li>I've tried making it as optimised as possible, but if you have any inputs whatsoever feel free to raise issues over on our <a href="https://github.com/creativecommons/vocabulary">GitHub repository</a>. </li>
<li>The famed <a href="https://developers.google.com/web/tools/lighthouse">Lighthouse report</a> suggests that it's a pretty good start! I've also taken care of the <a href="https://www.w3.org/standards/webdesign/accessibility">accessibility aspect</a> wherever applicable.</li>
</ul>
<center>
<img alt"Halfway There" src="light.png"/><br>
<small class="muted">Aiming high!</small>
</center><h3 id="what-i-ve-learnt">What I've learnt</h3><ul>
<li>GSoD isn't just about documentation; there's some serious amount of coding too!</li>
<li>You don't have to sit and write code for hours together. Take breaks, come back, and the fix will strike you sooner than ever.</li>
<li>Timelines change; improvisation being an essential aspect of any project!</li>
<li><a href="https://mdxjs.com/">MDX</a> is a neat little format to code in! Documenting code is just so much easier.</li>
<li>Things become obsolete. Versions become outdated. Code maintaining is therefore, easier said than done!</li>
</ul>
<h3 id="other-community-work-tidbits">Other community work tidbits</h3><p>Being a part of an open source organisation also means that I must try to bring in contributions from existing &amp; first time contributors. Here's a peek into my efforts for the same:</p>
<ul>
<li>The <a href="https://github.com/creativecommons/vocabulary/pull/806">dark mode PR</a> started off as a hacktoberfest contribution, and it is now complete!</li>
<li>Created a <code>/shared</code> package to house common files between packages (such as the dark &amp; light theme after referring to the <a href="https://reactjs.org/">React</a> documentation.</li>
<li>The automated npm <a href="https://github.com/creativecommons/vocabulary/pull/746">README.md customisation</a> is now up and running. (really had a blast solving that issue!) </li>
<li>If the snapshot testing stands approved, we'll have it running on chromatic!</li>
<li>Raised issues to add multiple badges to the root README.md file; namely <code>maintained with Lerna</code> &amp; custom badges for package sizes from <a href="https://packagephobia.com/">packagephobia</a>.</li>
</ul>
<p align="center">
<strong>Thank you for your time! Stay put for the season finale!</strong>
</p></content></entry><entry><title>Finish GSoD Tasks and Explore CC Catalog Documentation</title><link href="http://opensource.creativecommons.org/blog/entries/finish-gsod-tasks-and-explore-cc-catalog-documentation/" rel="alternate"></link><updated>2020-11-20T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:d5ea49f0-63f2-3466-93e0-7c513b4dc2d6</id><content type="html"><p>Today marks my fifth blog entry on Creative Commons.
For week 9 and 10, I explored CC Catalog documentation and began improving the documentation by removing keys and generalizing instructions.</p>
<h3 id="week-9">Week 9</h3><p>I had completed all GSoD tasks by week 9.
So, I took a couple of days off and fixed last week's PR.
Kriti assigned me with new tasks, which is to port CC Catalog documentation from the internal wiki into GitHub repository.
Brent, the CC Catalog maintainer explained to me about what needs to be done.</p>
<h3 id="week-10">Week 10</h3><p>For week 10, I started exploring CC Catalog and its documentation.
Reminds me a lot about the first and second weeks of GSoD.
Trying to understand new stuff and having an "aha" moment when the dots finally connect.
I started to move the documentation from the internal wiki to CC Catalog’s GitHub repository.
I also wrote and published this blog post.</p>
<hr>
<p>End of blog entry.</p>
</content></entry><entry><title>Content Creation Phase: WordPress Base Theme Usage Guide</title><link href="http://opensource.creativecommons.org/blog/entries/cc-wp-base-theme-docs-content-creation/" rel="alternate"></link><updated>2020-11-10T00:00:00Z</updated><author><name>JackieBinya</name></author><id>urn:uuid:bb3168cf-7243-320e-a8e2-0586030dc3a7</id><content type="html"><p>For the past couple of weeks we have been actively creating content for the Creative Commons WordPress Base Theme Usage Guide. Currently the draft content is under final review before it is migrated to the main docs site.</p>
<h2 id="our-strategy">Our Strategy</h2><p>Our main goal in creating the docs is to create rich, intuitive, engaging, and beautifully presented community facing documentation for the Creative Commons WordPress Base Theme.</p>
<p>In alignment with the defined goal, our core focus is to create the docs collaboratively.</p>
<p>The CC WordPress team consists of I, Jacqueline Binya, Hugo Solar and Timid Robot Zehta. Although our team is small it is quite diverse. It consists of a diverse mix of technical skills: I am a junior developer whereas Hugo and Timid are way senior. We also have non-native and native English speakers.</p>
<p>Diversity is important as we hope to create a high quality product that caters for everyone.</p>
<p>My role as the tech writer/frontend developer is to create the content: write the documentation, build the docs site and also to create all illustrative media.</p>
<p>During the content creation phase, the first step involved creating the skeleton of the actual docs site. We created a git branch called <em>docs</em> within the <a href="https://github.com/creativecommons/wp-theme-base">creative-commons/wp-base-theme</a> repository. All content related to the documentation is persisted in that branch. So,please feel free to contribute. We then used <a href="https://gridsome.org/starters/jamdocs/">JamDocs</a>, a <a href="https://gridsome.org/">Gridsome</a> theme to quickly scaffold the site. We had to adapt the theme so as to make it meet our own specific needs, this involved overhauling the styles and changing the functionality of some of the features in the theme. After that was completed, we then created a <a href="https://docs.google.com/document/d/1yfAQGG70T8BUhZYWglAlQ_lTo4_tYpyjhPN5FsZnSvI/edit?usp=sharing">Google Doc</a> we use for collaboratively writing the draft content for the docs site.</p>
<h2 id="tech-stack">Tech Stack</h2><p>As it was mentioned we used <a href="https://gridsome.org/">Gridsome</a> a static generator for <a href="https://vuejs.org/">Vuejs</a>. We chose Gridsome because:</p>
<ul>
<li><p>We wanted to lower the barrier of entry to contributing:</p>
<ul>
<li>Gridsome/Vuejs community is very active, help is but a click away.</li>
<li>The Gridsome official documentation is very resourceful and well maintained.</li>
</ul>
</li>
<li><p>Gridsome is highly flexible: The content for the actual documentation is written in <a href="https://www.markdownguide.org/getting-started/">Markdown</a> but using <a href="https://gridsome.org/plugins/@gridsome/vue-remark">@gridsome/vue-remark</a>, which is a Gridsome plugin, we are able to use javascript in Markdown. We intend to include a copy to the clipboard Vuejs component in the site.</p>
</li>
<li><p>Time Constraint: This project is a short running project which has to be completed in a 3 month period. Through the use of JamDocs, a Gridsome templating theme as well various plugins it was easy and fast to get started we were able to add more functionality to the theme with minimal effort.</p>
</li>
<li><p>Ease of integrating <a href="https://cc-vocabulary.netlify.app/">CC Vocabulary</a> with Gridsome: it is a requirement that the general aesthetics of all front facing Creative Commons applications is derived from the CC Vocabulary Design System. Major cons for using a design system include the ensuring uniformity in design for all front facing CC products.</p>
</li>
</ul>
<h2 id="tools-used">Tools Used</h2><ul>
<li><a href="https://www.figma.com/">Figma</a>:</li>
</ul>
<p><img src="/blog/entries/cc-wp-base-theme-docs-content-creation/image.png" alt="An example of illustrative media"></p>
<p>Figma was used to make assets(banners, logos and illustrations) in the theme. The illustrative media was created with accessibility in mind and all the topography used in the illustrative assets was derived from the CC Vocabulary.</p>
<ul>
<li><p><a href="https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html">VokoScreenNG</a>: an open source screencast recording tool used to record all the screen cast demos available in the docs site.</p>
</li>
<li><p><a href="https://shotcut.org/">ShortCut</a>: an open source video editing tool.</p>
</li>
</ul>
<h2 id="what-comes-next">What comes next ?</h2><p>After the final review is completed and all feedback implemented we will migrate all the content to the main docs site.</p>
<p><em>Stay tuned for an update about the launch of the CC WP Base Theme Docs site.</em></p>
</content></entry><entry><title>Vocabulary Site Mid-Internship Update (v2)</title><link href="http://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-2/" rel="alternate"></link><updated>2020-11-09T00:00:00Z</updated><author><name>nimishbongale</name></author><id>urn:uuid:9d7836e4-5dca-3b69-b77e-ba196ec923cc</id><content type="html"><p>This is a mid-internship blog post. Wait. what!? Already? Let's glance over my progress, shall we?</p>
<h2 id="vocabulary-site-updates-edition-2/many-more-to-come">Vocabulary Site Updates (Edition 2/many more to come)</h2><p>Oh boy! 1.5 months have passed since I've been investing time in building a landing site &amp; usage guide for CC Vocabulary. A lot has changed since the time of posting my last blog post. <strong>A lot</strong>.</p>
<center>
<img alt"Halfway There" src="speed.gif"/><br>
<small class="muted">Hitting "the point of no return" has never been this exciting! Time to step on the throttle! Source: <a href="https://cliply.co">Cliply</a></small>
</center><h3 id="what-i-ve-been-up-to">What I've been up to</h3><blockquote><p><strong>Designing</strong> ⇨ <strong>Drafting</strong> ⇨ <strong>Developing</strong> ⇨ <strong>Debugging</strong> ⇨ <strong>Deploying</strong></p>
</blockquote>
<p>And the cycle contrinues. I guess it sums it all up very nicely. <em>Can somebody appreciate the alliteration though?</em></p>
<p>Here's a gist of what I've achieved so far:</p>
<ul>
<li>I've gone through <strong>2</strong> iterations of the design. I'm happy with how the new site looks (and I genuinely hope the design team does too!).</li>
<li>I've drafted around <strong>5+</strong> writeups dealing with Monorepo Migration, Getting Started guide, Vocabulary Overview and of course these blog posts.</li>
<li>My branch on the vocabulary repository now has over <strong>50+</strong> commits &amp; over <strong>13,000</strong> lines of code (not that I've written all of them, but you know, just for the stats)</li>
<li>The first draft of the vocabulary site is now live! I'm expecting a whole bunch of changes still, but here it is if you want to have a sneak peek: <a href="https://cc-vocab-draft.surge.sh">https://cc-vocab-draft.surge.sh</a></li>
<li>I've consumed the <a href="https://docs.github.com/en/free-pro-team@latest/rest">Github API</a> to get live release history, forks and starrers count. I think it adds a really nice touch to the site in general.</li>
<li>I've used <a href="https://surge.sh">surge.sh</a> to deploy the draft site. I believe it's a really simple tool to have your site deployed within seconds!</li>
</ul>
<center>
<img alt"Github commit gif" src="github.png"/><br>
<small class="muted">My github contribution chart is filling up!</small>
</center><h3 id="what-i-ve-learnt">What I've learnt</h3><p>Some say it's hard to learn through virtual internships. Well, let me prove you wrong. Here are my leanings in the past few weeks:</p>
<ul>
<li>It's surprising how subjective (&amp; yet objective) designing really is.</li>
<li>Vue.js is <em>fantastic</em>. Maybe I'm a Vue.js fan now. Should I remain loyal to React? I don't know.</li>
<li>Making a site responsive isn't the <em>easiest</em> of tasks, but it's certainly doable after a lot of stretching &amp; compressing; lets say that.</li>
<li>"Code formatting is essential" would be an <em>understatement</em> to make.</li>
<li>Monorepo's have their own pro's and con's. But in our case the con's were negligible, thankfully! </li>
<li>I'll be following up with some performance &amp; accessibility testing this coming week, so let's see how that plays out!</li>
<li>A mentor plays a vital role in any project. My mentor <code>@dhruvkb</code> has been very supportive and has made sure I stick to my timeline!</li>
</ul>
<h3 id="other-community-work-tidbits">Other community work tidbits</h3><p>I believe apart from the internship work that I'm engaged in, I should also help around with some community PR work. I've been told I'm always welcome to, which is great!</p>
<ul>
<li>I got the opportunity to speak at a CCOS event alongwith fellow speakers <a href="https://opensource.creativecommons.org/blog/authors/dhruvkb/">dhruvkb</a> &amp; <a href="https://opensource.creativecommons.org/blog/authors/dhruvi16/">dhruvi16</a>. I had a blast talking to budding students from DSC-IIT Surat &amp; DSC-RIT.</li>
<li>The dark mode (as promised) should be out before my next blog post.</li>
<li>Deployed the vocabulary storybook on <a href="https://chromatic.com">Chromatic</a> and compared &amp; contrasted the pros &amp; cons. Snapshot testing in the near future maybe? </li>
<li>Completed the hacktoberfest challenge. </li>
</ul>
<h3 id="bonus-content">Bonus content</h3><p>Not many of you may know this, but this site uses the <a href="https://getlektor.com">Lektor</a> CMS. I needed to have it installed on my system (windows 10 OS) to run the code in our site repository.
Lektor suggests running the following code in powershell as an installation step:</p>
<div class="hll"><pre><span></span><span class="p">(</span><span class="nb">new-object</span> <span class="n">net</span><span class="p">.</span><span class="n">webclient</span><span class="p">).</span><span class="n">DownloadString</span><span class="p">(</span><span class="s1">&#39;https://www.getlektor.com/installer.py&#39;</span><span class="p">)</span> <span class="p">|</span> <span class="n">python</span>
</pre></div>
<p>I just didn't think this is a very elegant way. Being an ardent <a href="/blog/entries/cc-vocabulary-docs-updates-2/chocolatey.org">chocolatey.org</a> fan, I just had to have it up on there! Now the installation step for lektor is simply:</p>
<div class="hll"><pre><span></span><span class="n">choco</span> <span class="n">install</span> <span class="n">lektor</span>
</pre></div>
<p>on the Windows PowerShell!</p>
<p>Have a look at the package here:</p>
<p><a href="https://chocolatey.org/packages/lektor">https://chocolatey.org/packages/lektor</a></p>
<p align="center">
<strong>Thank you for your time! Stay put for the next Vocabulary site update!</strong>
</p></content></entry><entry><title>Restructure README and Add Documentation Guidelines</title><link href="http://opensource.creativecommons.org/blog/entries/restructure-readme-and-add-documentation-guidelines/" rel="alternate"></link><updated>2020-11-05T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:98db0051-b46f-3e4b-ae18-a56418565d50</id><content type="html"><p>This is my fourth blog entry on Creative Commons.
For week 7 and 8, I restructured the file README to be more digestible to new users and created Documentation Guidelines for CC Catalog API documentation.</p>
<h3 id="week-7">Week 7</h3><p>For this week, I restructured the file README in CC Catalog API repository.
I added a step by step guide on how to run the server locally.
I hope new users will be less intimidated to contribute to this project with the updated guide on how to run the server locally.</p>
<h3 id="week-8">Week 8</h3><p>For week 8, I created Documentation Guidelines which provides steps on how to contribute to CC Catalog API documentation, documentation styles, and cheat sheet for drf-yasg.
I also wrote and published this blog post.</p>
<hr>
<p>Finis.</p>
</content></entry><entry><title>Vocabulary Site Updates (v1)</title><link href="http://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-updates-1/" rel="alternate"></link><updated>2020-10-26T00:00:00Z</updated><author><name>nimishbongale</name></author><id>urn:uuid:51a44307-9725-3d59-bfcd-9badc7cce229</id><content type="html"><p>Hello there! Well well well. It has been an eventful first few weeks, to say the least! Let's gauge my progress, shall we?</p>
<h2 id="vocabulary-site-updates-edition-1/many-more-to-come">Vocabulary Site Updates (Edition 1/many more to come)</h2><h3 id="what-i-ve-been-upto">What I've been upto</h3><p>I've mainly got myself invested in a survey of the existing documentation that vocabulary currently possesses, and find places where it could be made better. After clearing those issues out, I began building the main landing site for <code>Vocabulary</code>, <code>Vue-vocabulary</code> and <code>Fonts</code>. It wasn't particularly difficult to establish the necessary workflows as I had done something similar before. During the process of designing the basic structure of the site, I came across a few instances where I felt we needed new/improved components &amp; I discussed the same with my team over on the sprint calls. The design of the site is nearly done. I'm also building the site parallelly &amp; seeking approval from the CC Design Team. I've gotten myself involved in multiple other community contributions to CC as well across multiple of our repositories.</p>
<h3 id="what-i-ve-learnt">What I've learnt</h3><ul>
<li>Knowing the previously existing code in your project is of serious essence. It's important to understand the code styles, structure &amp; activity of the code that you are dealing with.</li>
<li>Be patient! Its fine to delay something if it makes sense to have it logically accomplished only after certain other tasks are done &amp; dusted with.</li>
<li>How essential it is to write <em>neat code</em> is something that's not spoken too often. (I wonder why...)</li>
<li>I always thought VueJS sets up SPA's by default. I'm surprised you need to configure it additionally to do just that!</li>
<li>Storybook is just a really nifty OSS with great community support! </li>
</ul>
<h3 id="other-community-work-tidbits">Other community work tidbits</h3><ul>
<li>I've been working on the Dark Mode (a much awaited feature, at least for me!) for our storybooks with some support from our community. It should be up and running shortly!</li>
<li>Fixed some formatting bugs in the <code>README.md</code> &amp; suggested changes wrt to <code>npm v7</code> considerations.</li>
<li>Fixed storybook components docs for 2 features.</li>
<li>Raised a ticket for a component to render markdown text within vocabulary itself.</li>
<li>Raised a few other issues for potential hacktoberfest contributions.</li>
</ul>
<p align="center">
<strong>Thank you for your time! To be continued...</strong>
</p></content></entry><entry><title>Add New Sections, Descriptions, Help Texts, Code Examples, Schemas, and Serializers</title><link href="http://opensource.creativecommons.org/blog/entries/add-new-sections-descriptions-help-texts-code-examples-schemas-and-serializers/" rel="alternate"></link><updated>2020-10-21T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:b832956d-0c04-37e5-bde6-eb53722a4ba3</id><content type="html"><p>Welcome to my third blog entry! For week 5 and 6, I added new sections, descriptions, help texts, code examples, schemas, and serializers. I was so productive these past two weeks.</p>
<h3 id="week-5">Week 5</h3><p>For this week, I managed to add a lot of stuff into the documentation.
I figured out how to add help texts to classes and how to create serializers.
I also managed to move all code examples under response samples.
In order to do this, I created a new class called CustomAutoSchema to add <a href="https://github.com/Redocly/redoc/blob/master/docs/redoc-vendor-extensions.md#x-codesamples">x-code-samples</a>.
Other stuff that I did include creating new sections such as “Register and Authenticate” and “Glossary”.
The hardest part of this week is probably trying to figure out how to add request body examples and move code examples.</p>
<h3 id="week-6">Week 6</h3><p>For week 6, I added another section called Contribute that provides a todolist to start contributing on Github.
I also wrote and published this blog post.</p>
<hr>
<p>All caught up!</p>
</content></entry><entry><title>Add Response Samples and Descriptions for API Endpoints</title><link href="http://opensource.creativecommons.org/blog/entries/add-response-samples-and-descriptions-for-api-endpoints/" rel="alternate"></link><updated>2020-10-09T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:23d6eb6e-e157-34fb-af99-ddfcad7c5044</id><content type="html"><p>Well, hello again 👋! For week 3 and week 4, I added response samples and descriptions for API endpoints. Writing documentation feels a bit like coding at this point because I need to read a lot about drf-yasg, dig through issues and questions at Github / Stackoverflow to ensure that I don’t ask redundant (or even stupid) questions.</p>
<h3 id="week-3">Week 3</h3><p>Week 3 was quite hectic. I moved back to my hometown during week 3.
Took 3 days off to settle my stuff and set up a workspace.
I worked on my GSoD project for only 2 days, Monday and Tuesday.
I managed to create response samples for most API endpoints.
Had a monthly video call with Kriti this week.</p>
<h3 id="week-4">Week 4</h3><p>For this week, I reviewed what I’ve done and what I haven’t to estimate new completion time.
Thank god, I have a buffer week in my GSoD timeline and deliverables.
So yeah, all is good in terms of completion time.
I started to write descriptions for API endpoints.
Submitted first PR and published blog entry.</p>
<hr>
<p>Over and out.</p>
</content></entry><entry><title>Vocabulary Site & Usage Guide Introduction (GSoD'20)</title><link href="http://opensource.creativecommons.org/blog/entries/cc-vocabulary-docs-intro/" rel="alternate"></link><updated>2020-10-02T00:00:00Z</updated><author><name>nimishbongale</name></author><id>urn:uuid:4974b78b-a4f9-3bbc-8875-d595042b954c</id><content type="html"><p>Hey there! I'm Nimish Bongale, a Technical Writer &amp; Software Developer based out of Bangalore, India. My other hobbies include playing chess and the guitar. I look forward to build the CC Vocabulary site and usage guides as a part of GSoD'20.</p>
<h2 id="but-what-is-gsod">But what is GSoD?</h2><p>GSoD, or Google Season of Docs, is a program that stresses on the importance of the documentation aspect of Open Source projects. It invites technical writers from across the world to submit proposals based on projects floated in by the participating Open Source Organisations. The selected technical writers then work with the their respective organisations and look to complete their work by the end of their internship period. More information about the same can be found <a href="https://developers.google.com/season-of-docs">here</a>.</p>
<p>Let's talk a bit about my project, shall we?</p>
<h2 id="vocabulary-site-usage-guide">Vocabulary Site &amp; Usage Guide</h2><h3 id="introduction">Introduction</h3><p><a href="https://github.com/creativecommons/vocabulary">CC Vocabulary</a> is a cohesive design system &amp; Vue component library to unify the web-facing Creative Commons. It's currently comprised of 3 packages, namely Vocabulary, Vue-Vocabulary &amp; Fonts. My contribution to this project would majorly involve building the landing site for CC Vocabulary, and refactor the documentation wherever necessary.</p>
<h3 id="what-drives-me">What drives me</h3><p>Documentation is one of the primary reasons which determines how successful a certain open source library will be. The major question that developers think of while choosing a suitable tech stack to build their applications is:</p>
<ul>
<li>Is the library <em>well documented</em>? </li>
<li>Is it <em>well maintained</em>? </li>
<li>Does it have some <em>considerable usage and error support</em>?</li>
</ul>
<p>These are exactly the questions I should be asking myself while going about this project idea.</p>
<p>As aforementioned, there is an immanent need to have a concise and consolidated documentation. The lack of documentation hurts the future perspectives of open source applications, and is by far, an essential and non-negligible component. Linking to these documentations should be an appealing home page, which captures the interest of the people in an instant. The documentation should be well organised, thereby enabling a seamless flow through it.</p>
<h3 id="tech-stack-of-the-project">Tech stack of the project</h3><p>We have decided to move forward with <a href="https://vuejs.org/">Vuejs</a> for building the site, and continue work on the existing <a href="https://storybook.js.org/">storybooks</a> of Vocabulary, Vue-Vocabulary and Fonts. Storybookjs has had some great improvements in recent times, and the new addons that are offered will greatly support my work. Besides these, I will also be using <a href="https://stackedit.io/">StackEdit</a> to write and share Markdown files of my writings.</p>
<h3 id="progress-baby-steps">Progress - Baby Steps</h3><p>I have contributed to CC in the past. It would now be my first time contributing to a specific project within CC, while being a member of CC Open Source. Some tasks that I've been able to initiate/accomplish so far:</p>
<ul>
<li>Look at Open Source documentation conventions, and see if we violate any.</li>
<li>Understand the level of existing documentation currently present in our storybooks.</li>
<li>Discuss about the Monorepo migration and help out with the implementation.</li>
<li>Migrate <code>storybookjs</code> to the latest version.</li>
<li>Implement <code>addon-controls</code> for vocabulary.</li>
<li>Design the vocabulary site.</li>
<li>Promote the involvement of CC Open Source in <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a> 2020.</li>
</ul>
<h3 id="what-did-i-learn">What did I learn?</h3><ul>
<li>Design is more than just picking colors and placing components on a grey screen.</li>
<li>It's important to read your own writings from an unbiased perspective to actually understand how well it would be perceived.</li>
<li>Interacting with your mentor on a regular basis is of the absolute essence.</li>
<li>Publishing to <a href="/blog/entries/cc-vocabulary-docs-intro/npmjs.com">npmjs</a> is not difficult!</li>
</ul>
<p align="center">
<strong>Thank you for your time!</strong>
</p></content></entry><entry><title>Creative Commons WordPress plugin: attribution for images</title><link href="http://opensource.creativecommons.org/blog/entries/cc-wp-plugin-attribution-for-images/" rel="alternate"></link><updated>2020-10-01T00:00:00Z</updated><author><name>rczajka</name></author><id>urn:uuid:818016d3-7344-3937-9fd6-7e5ffad98071</id><content type="html"><p>As a part of <a href="https://centrumcyfrowe.pl">Centrum Cyfrowe</a>'s <a href="https://otwartakultura.org/noworries/">#NoWorries project</a> funded by EUIPO,
I have had the pleasure of enhancing the Creative Commons Wordpress plugin.
The new version of CC's Wordpress plugin has a feature called
“attribution information for images”. It works like this:</p>
<ol>
<li>you upload an image to the Wordpress Media Library and fill out the
correct attribution information there.</li>
<li>You then insert the image into a page using the Image Gutenberg block.</li>
<li>When the image is then displayed on site, the plugin will show the
attribution information – the name of the author, the image's title
and link to source, and the CC license used – right there, in a nice
semi-transparent overlay over the image.</li>
</ol>
<h2 id="how-does-it-work">How does it work?</h2><p>To find the relevant information from the Media Library, the plugin
reuses the information already provided by Gutenberg Image Blocks.
Each time an image is inserted using such a block, Wordpress adds a
special CSS class to it, in the form of <code>wp-image-{id}</code>, containing
the image's identifier in the Media Library. It can be used to add
individual styles to a specific image – we're using it to find the
relevant entry in the Media Library and add individual attribution
information. With this approach, we avoid the need for any custom
markup – while also only hitting the database with a query when an
actual image from the Media Library is found on the page.</p>
<p>All you need to do is make sure the licensing information is there in
the Media Library, and that the images are inserted using the Image
block.</p>
<p>This wasn't the first attempt at adding a similar function to the CC
Wordpress plugin. The previous attempt used a <code>[license]</code> shortcode
wrapping the image – which it's unwieldy with the current Wordpress
Gutenberg editor. It also used multiple calls to
<code>attachment_url_to_postid</code> to locate the image in the Media Library, which
meant executing more database queries for each image. With the new
approach, the user doesn't have to change their posts at all – all
they need to do is install the plugin and add attribution information
in the Media Library, and it will automatically start working for
their normally inserted images.</p>
<p>See here how to install the plugin:</p>
<video src="install.mp4" controls></video><p>See here how to use the image attribution function:</p>
<video src="use.mp4" controls></video></content></entry><entry><title>WordPress Base Theme Usage Guide (GSOD-2020): Hello World!</title><link href="http://opensource.creativecommons.org/blog/entries/cc-wp-base-theme-docs-intro/" rel="alternate"></link><updated>2020-09-30T00:00:00Z</updated><author><name>JackieBinya</name></author><id>urn:uuid:8ca33f24-33d1-3bdb-a55d-5fb6381316f5</id><content type="html"><p>My name is Jacqueline Binya. I am a software developer and technical writer from Zimbabwe. I am going to write a series of blog posts documenting my experience and lessons as I contribute to the <a href="https://github.com/creativecommons/wp-theme-base">Creative Commons WordPress Base Theme(CC WP Base Theme)</a> during the <a href="https://developers.google.com/season-of-docs">Google Season of Docs (GSOD-2020)</a> as a technical writer.</p>
<h2 id="what-is-google-season-of-docs">What is Google Season of Docs?</h2><p>The Google Season of the Docs was born out of a need to improve the quality of open-source documentation as well as to advocate for open source, for documentation, and for technical writing. Annually during the GSOD, technical writers are invited to contribute to open-source projects through a highly intensive process geared at ensuring that the technical writers and the projects they contribute to during GSOD are a good fit, after that has been determined GSOD then resumes.</p>
<h2 id="building-the-docs">Building the docs</h2><p>The CC WP Base theme is a WordPress theme used to create front-facing Creative Commons (CC) websites. My task is to collaborate with the engineering team to create community facing docs for the theme.</p>
<h3 id="guiding-principles">Guiding principles</h3><p>The docs should be inclusive meaning: they should be written in an easy-to-understand manner taking care to avoid the use of excessive technical jargon, they should be accessible and they should have support for internationalization. We hope to provide our users with a smooth and memorable experience whilst using the docs hence the docs site should be fast and easy to navigate.</p>
<h3 id="technical-stack-of-the-project">Technical stack of the project</h3><p>We decided to build the docs using <a href="https://jamstack.org/">Jamstack</a>, to be specific we are using <a href="https://gridsome.org/">Gridsome</a> a static generator for <a href="https://vuejs.org/">Vuejs</a>. We are using Gridsome as it is highly performant, and it also integrates smoothly with the <a href="https://cc-vocabulary.netlify.app/">CC Vocabulary</a>. Gridsome also has out-of-the-box support for important features like Google Analytics and <a href="https://www.algolia.com/">Angolia</a>, these features will obviously be useful in future iterations of the docs. To quickly scaffold the docs we used a Gridsome theme called <a href="https://gridsome.org/starters/jamdocs/">JamDocs</a>.</p>
<h3 id="progress">Progress</h3><p>Currently, the project is on track. As it's been stated we are creating the docs collaboratively. The very first step in our workflow is to create draft content using Google docs. That task is assigned to me, it involves doing lots of research, reading and also testing out the theme. Afterwards, my mentors Hugo Solar and Timid Robot Zehta then give me feedback on the draft. Then I implement the feedback and continuously work on improvements. The final step is migrating the approved draft content to the docs projects in markdown format.</p>
<h3 id="my-lessons-so-far">My lessons so far:</h3><ul>
<li>Always ask questions: frankly, the only way you can create good content is when you have a solid understanding of the subject matter.</li>
<li>It's better to over-communicate than under-communicate especially when working in a remotely, this is especially more important if you encounter blockers whilst executing your work.</li>
<li>Push that code and open PR quickly and then go ahead and ask for a review don't procrastinate this will ensure fast turnover you get feedback quickly and can work on improvements.</li>
</ul>
<p><em>Thank you for reading, watch out for the next update which will be posted soon.</em></p>
</content></entry><entry><title>Add Query Using curl Command and Provide Response Samples</title><link href="http://opensource.creativecommons.org/blog/entries/add-query-using-curl-command-and-provide-response-samples/" rel="alternate"></link><updated>2020-09-25T00:00:00Z</updated><author><name>ariessa</name></author><id>urn:uuid:2841326a-a1a6-3593-8236-10fc75b59aa0</id><content type="html"><p>First of all, I’m very thankful to get selected as a Google Season of Docs participant under Creative Commons. My project name is Improve CC Catalog API Usage Guide. The project aims to revamp the existing CC Catalog API documentation to include more narrative elements and increase user friendliness. As the focal point of this project will potentially be delivered before the end of the GSOD period, this project will also improve the CC Catalog API repo documentation for potential contributors. This project will also produce guidelines for contributing to documentation. For this project, my mentor is Alden Page.</p>
<h3 id="week-1">Week 1</h3><p>So, the first two weeks of Google Season of Docs have passed. For the first week, I added examples to perform the query using curl command. I hit some problem with a Forbidden error. Turns out my access key got expired. My problem was solved after obtaining a new access key.</p>
<h3 id="week-2">Week 2</h3><p>For the second week, I started to write response samples. It was tough as I have a hard time understanding <a href="https://github.com/axnsan12/drf-yasg">drf-yasg</a>, which is an automatic Swagger generator. It can produce Swagger / OpenAPI 2.0 specifications from a Django Rest Framework API. I tried to find as many examples as I could to increase my understanding. Funny, but it took me awhile to realise that drf-yasg is not made up of random letters. The DRF part stands for Django Rest Framework while YASG stands for Yet Another Swagger Generator.</p>
<hr>
<p>That’s all!</p>
</content></entry><entry><title>The specifics - Revamping CCOS</title><link href="http://opensource.creativecommons.org/blog/entries/the-specifics-revamping-CCOS/" rel="alternate"></link><updated>2020-09-02T00:00:00Z</updated><author><name>dhruvi16</name></author><id>urn:uuid:013d291c-a7ee-3a05-8aef-87f357322155</id><content type="html"><p>In this blog, I will be talking about how I managed to use Vocabulary ( Creative Commons's Design Library ) efficiently in our Open Source website.</p>
<h3 id="what-is-vocabulary">What is Vocabulary?</h3><p><a href="https://cc-vocabulary.netlify.app/?path=/story/vocabulary-introduction--page">Vocabulary</a> is a cohesive design system to unite the web-facing Creative Commons. In essence Vocabulary is a component library that uses and extends Bulma CSS library. Vocabulary makes it easier to develop Creative Commons apps while ensuring a consistently familiar experience. This project is still under development.</p>
<h3 id="why-vocabulary">Why Vocabulary?</h3><p>Vocabulary is used to describe the overall visual design of our digital products. At first glance, it appears to be: an amalgamation of component designs with a consistent visual aesthetic and brand, typically accompanied by usage guidelines in the form of online documentation. But there is a lot more to it.
When it comes to a large software community with a huge range of products, certain problems come along. One of those problems is maintaining the level of harmony across all the products of the network. So, there comes a need for a unified visual language that heightens the level of harmony in a digital ecosystem. And in our case, Vocabulary solves this problem.
This design system is well built and helps us bring the following aspects to the table -</p>
<ol>
<li>Recognizability</li>
<li>Consistency</li>
<li>Authenticity</li>
<li>Efficiency</li>
</ol>
<p>And many more.</p>
<h3 id="how-did-i-use-it-examples">How did I use it? — Examples</h3><p>As I stated before, I have added Vocabulary by updating all the Templates in the CCOS <a href="https://www.getlektor.com/">Lektor</a> project.</p>
<p>As far as components are concerned, I just had to paste the code snippets given on the Vocabulary’s website with the requires changes -</p>
<h4 id="integration-of-breadcrumb">Integration of Breadcrumb -</h4><figure style="text-align: center;">
<img src="breadcrumb.png" alt="Breadcrumb">
<figcaption>Screenshot — <a href="https://cc-vocabulary.netlify.app/?path=/docs/navigation-breadcrumb--default-story">Breadcrumb</a> (Vocabulary)</figcaption>
</figure><p>The code for integration —</p>
<pre><code>&lt;!-- Breadcrumb --&gt;
{% if this._path != '/'%}
&lt;div class="breadcrumb-container"&gt;
&lt;nav class="container breadcrumb caption bold" aria-label="breadcrumbs"&gt;
&lt;ul&gt;
{% set crumbs = [] %}
{% set current = {'crumb': this} %}
&lt;!-- Extracting the slugs of URL --&gt;
{% for i in this._path.split("/") %}
{% if current.crumb is not none %}
{% if crumbs.insert(0, current.crumb._slug) %}{% endif %}
{% if current.update({"crumb": current.crumb.parent}) %}{% endif %}
{% endif %}
{% endfor %}
{% for crumb in crumbs %}
&lt;!-- Active link --&gt;
{% if this._slug == crumb %}
&lt;li class="is-active"&gt;&lt;a aria-current="page displayed"&gt;{{ crumb | title | replace('-', ' ') }}&lt;/a&gt;&lt;/li&gt;
{% else %}
&lt;!-- Forming the URL using extracted slugs --&gt;
{% set i = loop.index %}
{% set ns = namespace (link = '') %}
{% for j in range(i) %}
{% set ns.link = ns.link + crumbs[j] + '/' %}
{% endfor %}
&lt;li&gt;&lt;a class="link" href="{{ ns.link|url }}"&gt;
{% if crumb != '' %}
{{ crumb | title | replace('-', ' ') }}
{% else %}
Home
{% endif %}
&lt;/a&gt;&lt;/li&gt;
{% endif %}
{% endfor %}
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
{% endif %}
</code></pre>
<p>Other than the components, there are other visual elements like typography, colors, spacing, and others that are extensively used in CCOS.</p>
<p>This is code for the Hero section of the home page.</p>
<h5 id="the-block-template">The block template -</h5><pre><code>&lt;section class="hero"&gt;
&lt;div class="container"&gt;
&lt;div class="hero-title column is-12 is-paddingless"&gt;
&lt;h1&gt;
{{ this.title }}
&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="columns"&gt;
&lt;div class="column is-5"&gt;
&lt;p class="hero-description"&gt;
{{ this.description }}
&lt;/p&gt;
{{ this.links }}
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="level-right hero-image"&gt;
&lt;img class="image" src="./github.svg" /&gt;
&lt;/div&gt;
&lt;/section&gt;
</code></pre>
<h5 id="the-block-styling">The block styling -</h5><pre><code>// Hero section - Home page
.hero {
@extend .margin-top-large;
.hero-title {
@extend .padding-horizontal-big;
}
.hero-description {
@extend .body-bigger;
@extend .padding-top-big;
@extend .padding-horizontal-big;
}
.hero-links {
@extend .margin-vertical-normal;
@extend .padding-horizontal-big;
.button {
@extend .margin-top-normal;
text-decoration: none;
.icon {
@extend .margin-right-small;
@extend .padding-vertical-smaller;
}
}
}
.hero-image {
@include from($fullhd) {
margin-top: -20rem;
.image {
width: 50%;
}
}
@include until($fullhd) {
.image {
width: 100%;
}
}
}
}
</code></pre>
<figure>
<img src="output.png" alt="Output">
<figcaption>Output</figcaption>
</figure><h3 id="improvements-in-the-lektor-project">Improvements in the Lektor project -</h3><p>I tried to write the perfect code that is cleaner and readable. I would try to demonstrate my effort using the home page code where I used <a href="https://www.getlektor.com/docs/models/flow/">Lektor Flowblocks</a>. The new homepage design have four sections where each section communicated something and I realized they were all independent and building the whole page through one single template would become a bit messy and hard to handle. So I did some research and found a way where I could build sub-templates and use them all to develop a single page and Lektor’s flowblocks allowed me to do so. Here is one of the flowblock and if you want to check out the whole working you can go to — <a href="https://github.com/creativecommons/creativecommons.github.io-source">CCOS Repository</a>.</p>
<h4 id="recent-blog-post-block">Recent Blog Post block -</h4><h5 id="the-block-template">The block Template -</h5><pre><code>{% from "macros/author_name.html" import render_author_name %}
&lt;section class="recent-posts"&gt;
&lt;div class="container"&gt;
&lt;div class="level"&gt;
&lt;h2 class="is-paddingless level-left"&gt;
{{ this.title }}
&lt;/h2&gt;
&lt;span class="level-right"&gt;
&lt;a class="posts-link" href="/blog"&gt;See all posts &lt;i class="icon angle-right"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div class="columns"&gt;
{% for post in site.query('/blog/entries') %}
{% if loop.index &lt;= 3 %}
{% set author = post.parent.parent.children.get('authors').children.get(post.author) %}
&lt;div class="column is-one-third is-paddingless padding-horizontal-big padding-top-bigger"&gt;
&lt;article class="card entry-post horizontal no-border blog-entry"&gt;
&lt;header&gt;
&lt;figure class="image blog-image"&gt;
{% if author.about %}
{% if author.md5_hashed_email %}
&lt;img class="profile" src="https://secure.gravatar.com/avatar/{{ author.md5_hashed_email }}?size=200"
alt="gravatar" /&gt;
{% endif %}
{% endif %}
&lt;/figure&gt;
&lt;/header&gt;
&lt;div class="blog-content"&gt;
&lt;h4 class="b-header"&gt;&lt;a class="blog-title" href="{{ post|url }}"&gt;{{ post.title }}&lt;/a&gt;&lt;/h4&gt;
&lt;span class="blog-author"&gt;by &lt;a class="author-name" href="{{ author|url }}"&gt;{{ render_author_name(author) }}&lt;/a&gt;
on {{ post.pub_date|dateformat("YYYY-MM-dd") }}&lt;/span&gt;
&lt;div class="excerpt"&gt;
{{ post.body | excerpt | string | striptags() | truncate(100) }}
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;/div&gt;
{% endif %}
{% endfor %}
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
</code></pre>
<h5 id="the-block-model">The block Model -</h5><pre><code>[block]
name = Recent Posts
[fields.title]
label = Title
type = string
</code></pre>
<h5 id="the-block-styling">The block styling -</h5><pre><code>// Recent-posts section - Home page
.recent-posts {
background-color: rgba(4, 166, 53, 0.1);
.container {
@extend .padding-vertical-xl;
@extend .padding-horizontal-big;
.columns {
@extend .padding-top-bigger;
@extend .padding-bottom-xl;
}
}
.blog-title {
@extend .has-color-dark-slate-gray;
}
.posts-link {
@extend .has-color-forest-green;
@extend .body-normal;
font-weight: bold;
line-height: 1.5;
text-decoration: none;
.icon {
@extend .has-color-forest-green;
@extend .padding-left-small;
}
}
}
</code></pre>
<figure>
<img src="output2.png" alt="Output">
<figcaption>Output — Recent blog posts.</figcaption>
</figure><p>I would also like to point out the amazing Query functionality provided by Lektor where you can access the child pages of the root. Here I am accessing blog posts from our Blog page and limiting the count of posts to three.</p>
<h3 id="difference-in-experience">Difference in Experience</h3><p>The level of user experience has been significantly elevated due to the use of Vocabulary. I would like to point one of the major experience change here. The major part of the website is guidelines — we have guidelines for contributing, guidelines for how to join a community, guidelines for how to write a blog and many more. The new website has cleaner and readable guideline with a proper hierarchy and every piece of information is made accessible using secondary navigation.</p>
<h5 id="below-are-the-images-of-some-guidelines-pages-from-new-website">Below are the images of some guidelines pages from new website.</h5><figure>
<img width="300" height="300" src="new1.png" alt="Screenshot">
<img width="300" height="300" src="new2.png" alt="Screenshot">
<img width="300" height="300" src="new3.png" alt="Screenshot">
<figcaption>Screenshots from new website</figcaption>
</figure><h5 id="below-are-the-images-of-some-guidelines-pages-from-old-website-you-can-see-the-difference-of-experience-in-both-cases">Below are the images of some guidelines pages from old website. You can see the difference of experience in both cases.</h5><figure>
<img width="400" src="old1.png" alt="Screenshot">
<img width="400" src="old2.png" alt="Screenshot">
<figcaption>Screenshots from old website</figcaption>
</figure><h3 id="how-you-can-use-vocabulary-and-also-contribute-to-it">How you can use Vocabulary and also contribute to it?</h3><p>Vocabulary is very easy to use. It is intuitive, consistent and highly reusable. Vocabulary uses Storybook to present each visual element that makes it very convenient for a user to integrate Vocabulary in their project. The code snippets attached with every element can be copied as it is and can be used. The code snippets above indicate how the library can be used and how easily you can achieve desired web pages. For more details, you can visit <a href="https://cc-vocabulary.netlify.app/?path=/docs/vocabulary-usage--page">usage guidelines</a>.</p>
<p>Vocabulary is still under development, feedback and bug reports are welcome, fixes and patches even more so. Here is the link to <a href="https://cc-vocabulary.netlify.app/?path=/docs/vocabulary-contribution--page">contribution guidelines</a>.</p>
</content></entry><entry><title>Accessibility and Internationalization: WrapUp GSoC 2020</title><link href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-wrapup/" rel="alternate"></link><updated>2020-08-31T00:00:00Z</updated><author><name>AyanChoudhary</name></author><id>urn:uuid:8dd9da39-50da-34b2-91ac-bbe3eee35aee</id><content type="html"><p>These is the final blog of my internship with CC. I am working on improving the accessibility of cc-search and internationalizing it as well.
This blog is the conclusion of my work. These past 10 weeks with CC have taught me a lot and I am really grateful to have got this opportunity.
The experience was just amazing and the poeple are so helpful I really enjoyed working with them and am looking forward to continue working with the CC team.</p>
<p>You can glance through my work through these blog posts:</p>
<ol>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-and-internationalization/">CC Search, Proposal Drafting and Community Bonding</a></li>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-week1-2/">CC Search, Setting up vue-i18n and internationalizing homepage</a></li>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-week3-4/">Internationalization Continued: Handling strings in the store</a></li>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-week5-6/">Internationalization continued: Modifying tests</a></li>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-week7-8/">CC Search, Initial Accessibility Improvements</a></li>
<li><a href="http://opensource.creativecommons.org/blog/entries/cc-search-accessibility-week9-10/">Accessibility Improvements: Final Changes and Modal Accessilibity</a></li>
</ol>
<p>The progress of the project can be tracked on <a href="https://github.com/creativecommons/cccatalog-frontend">cc-search</a></p>
<p>CC Search Accessiblity is my GSoC 2020 project under the guidance of <a href="https://creativecommons.org/author/zackcreativecommons-org/">Zack Krida</a> and <a href="https://opensource.creativecommons.org/blog/authors/akmadian/">Ari Madian</a>, who is the primary mentor for this project, <a href="https://creativecommons.org/author/annacreativecommons-org/">Anna Tumadóttir</a> for helping all along and engineering director <a href="https://creativecommons.org/author/kriticreativecommons-org/">Kriti
Godey</a>, have been very supportive.</p>
</content></entry><entry><title>Linked Commons: GSoC'20 Wrap Up</title><link href="http://opensource.creativecommons.org/blog/entries/linked-commons-gsoc-wrap-up/" rel="alternate"></link><updated>2020-08-28T00:00:00Z</updated><author><name>subhamX</name></author><id>urn:uuid:511904ae-a464-335a-bcdf-76f80c5309d1</id><content type="html"><p>Time flies faster when you are having fun! I didn't believe it back then. But now I do after experiencing it. It couldn't have been more accurate that here I am writing my concluding blog of the <strong>GSoC 2020: The Linked Commons series</strong> when I just started enjoying things.</p>
<p>In this post, I will give a brief overview of the linked commons and my GSoC contributions. It was an exciting journey, and I loved working on this project.</p>
<p>Before I begin any further just for ritual, let me share a one liner on <strong>what The Linked Commons is</strong>, although I highly recommend reading the other posts in this series, who knows you might join our team.😉</p>
<blockquote><p>The CC catalog data visualization or linked commons is a web application which finds and explores relationships between Creative Commons licensed content on the web.</p>
</blockquote>
<p>My primary contributions to the project during the GSoC timeline were threefold.</p>
<p><strong>Firstly</strong>, revamp the design and migrate the project to react.js for a fast and scalable rendering performance.</p>
<p><strong>Secondly</strong>, add graph filtering methods and scale the data to enable users to visualize massive data more efficiently.</p>
<p><strong>At last</strong>, make the developer onboarding easy by dockerizing the project and bring more application portability.</p>
<h2 id="gsoc-work-product">GSoC Work Product</h2><p>The live version of the linked commons can be found <a href="http://dataviz.creativecommons.engineering/">here</a>. You can interact with it and <strong>"explore the creative commons in graphs"</strong>.</p>
<p>If you wish to access the raw or filtered data, then here is a brief documentation of our new API.</p>
<div class="hll"><pre><span></span><span class="nt">URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/api/graph-data</span><span class="w"></span>
<span class="nt">Method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">GET</span><span class="w"> </span>
<span class="nt">Description</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Returns a randomized graph having around 500 nodes and links.</span><span class="w"></span>
</pre></div>
<p>&nbsp;</p>
<div class="hll"><pre><span></span><span class="nt">URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/api/graph-data/?name={node_name}</span><span class="w"></span>
<span class="nt">Method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">GET</span><span class="w"> </span>
<span class="nt">Description</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Returns the filtered graph with a set of nodes which are either immediate neighbours to {node_name} in the original graph or the transpose graph.</span><span class="w"></span>
</pre></div>
<p>&nbsp;</p>
<div class="hll"><pre><span></span><span class="nt">URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/api/suggestions/?q={query}</span><span class="w"></span>
<span class="nt">Method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">GET</span><span class="w"> </span>
<span class="nt">Description</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Returns a set of nodes which contains the {query} pattern in their nodeid</span><span class="w"></span>
</pre></div>
<h3 id="demo">Demo</h3><div style="text-align: center; width: 90%; margin-left: 5%;">
<figure>
<img src="graph-filtering.gif" alt="demo" style="border: 1px solid black">
<figcaption>Linked Commons: Filtering the Graph 🔥</figcaption>
</figure>
</div><h3 id="my-code-contributions">My Code Contributions</h3><p><strong>Repository:</strong> <a href="https://github.com/creativecommons/cccatalog-dataviz/">https://github.com/creativecommons/cccatalog-dataviz/</a></p>
<p><strong>Commits:</strong> <a href="https://github.com/creativecommons/cccatalog-dataviz/commits/master">https://github.com/creativecommons/cccatalog-dataviz/commits/master</a></p>
<p><strong>Contributors:</strong> <a href="https://github.com/creativecommons/cccatalog-dataviz/graphs/contributors">https://github.com/creativecommons/cccatalog-dataviz/graphs/contributors</a></p>
<p><a href="https://github.com/creativecommons/cccatalog-dataviz/pull/28"><strong>Migrate frontend to React #28</strong></a></p>