diff --git a/_config.yml b/_config.yml index a7e1d49527039..afede2af7c508 100644 --- a/_config.yml +++ b/_config.yml @@ -53,7 +53,7 @@ baseurl: "" # !! You don't need to change any of the configuration flags below !! # -permalink: /:title/ +permalink: /:year/:month/:title.html # The release of Jekyll Now that you're using version: v1.2.0 diff --git a/_includes/sidebar.html b/_includes/sidebar.html new file mode 100644 index 0000000000000..2d260fc718b02 --- /dev/null +++ b/_includes/sidebar.html @@ -0,0 +1,32 @@ + diff --git a/_includes/tag_block.html b/_includes/tag_block.html index 164e48712f808..c5fff19b25481 100644 --- a/_includes/tag_block.html +++ b/_includes/tag_block.html @@ -1,7 +1,9 @@ +{% if include.thingy.tags.size > 0 %}
Tags: {% for tag in include.thingy.tags %} - {{ tag }}{% unless forloop.last %}, {% endunless %} + {{ tag }}{% unless forloop.last %}, {% endunless %} {% endfor %}
+{% endif %} diff --git a/_layouts/default.html b/_layouts/default.html index 729876c52b08c..6583d19104f1f 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -37,7 +37,6 @@

{{ site.name }}

diff --git a/_layouts/post.html b/_layouts/post.html index 715b9b713b1c5..f8ec320332853 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -18,26 +18,22 @@

{{ page.title }}

{% include tag_block.html thingy=page %} -
-
 
- {% include disqus.html %} -
+ + + {% include sidebar.html %} + diff --git a/_layouts/tag_index.html b/_layouts/tag_index.html new file mode 100644 index 0000000000000..b1973e897b7e3 --- /dev/null +++ b/_layouts/tag_index.html @@ -0,0 +1,21 @@ +--- +layout: default +--- +
+ +
+

{{page.title}}

+
+ + {% for post in site.posts %} + {% for tag in post.tags %} + {% if tag == page.tag %} +
+ {{post.title}} +

{{post.excerpt}} (read more)

+
+ {% endif %} + {% endfor %} + {% endfor %} + +
\ No newline at end of file diff --git a/_plugins/_tag_gen.rb b/_plugins/_tag_gen.rb new file mode 100644 index 0000000000000..a852b010a8265 --- /dev/null +++ b/_plugins/_tag_gen.rb @@ -0,0 +1,41 @@ +# via http://charliepark.org/tags-in-jekyll/ + +module Jekyll + + class TagIndex < Page + def initialize(site, base, dir, tag) + @site = site + @base = base + @dir = dir + @name = 'index.html' + self.process(@name) + self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') + self.data['tag'] = tag + tag_title_prefix = site.config['tag_title_prefix'] || 'Posts Tagged “' + tag_title_suffix = site.config['tag_title_suffix'] || '”' + self.data['title'] = "#{tag_title_prefix}#{tag}#{tag_title_suffix}" + end + end + + + class TagGenerator < Generator + safe true + def generate(site) + if site.layouts.key? 'tag_index' + dir = site.config['tag_dir'] || 'tag' + site.tags.keys.each do |tag| + write_tag_index(site, File.join(dir, tag), tag) + end + end + end + + def write_tag_index(site, dir, tag) + index = TagIndex.new(site, site.source, dir, tag) + index.render(site.layouts, site.site_payload) + index.write(site.dest) + site.pages << index + end + end + + +end diff --git a/_plugins/tag_gen.rb b/_plugins/tag_gen.rb new file mode 100644 index 0000000000000..34f5b7385b5fa --- /dev/null +++ b/_plugins/tag_gen.rb @@ -0,0 +1,39 @@ +module Jekyll + + class TagIndex < Page + def initialize(site, base, dir, tag) + @site = site + @base = base + @dir = dir + @name = 'index.html' + self.process(@name) + self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') + self.data['tag'] = tag + tag_title_prefix = site.config['tag_title_prefix'] || 'Posts Tagged “' + tag_title_suffix = site.config['tag_title_suffix'] || '”' + self.data['title'] = "#{tag_title_prefix}#{tag}#{tag_title_suffix}" + end + end + + + class TagGenerator < Generator + safe true + def generate(site) + if site.layouts.key? 'tag_index' + dir = site.config['tag_dir'] || 'tag' + site.tags.keys.each do |tag| + write_tag_index(site, File.join(dir, tag), tag) + end + end + end + + def write_tag_index(site, dir, tag) + index = TagIndex.new(site, site.source, dir, tag) + index.render(site.layouts, site.site_payload) + index.write(site.dest) + site.pages << index + end + end + + +end diff --git a/_posts/2012-08-04-converting-fahrenheit-into-celsius.md b/_posts/2012-08-04-converting-fahrenheit-into-celsius.md index 104b29e1f69fb..b861c1a762eab 100644 --- a/_posts/2012-08-04-converting-fahrenheit-into-celsius.md +++ b/_posts/2012-08-04-converting-fahrenheit-into-celsius.md @@ -5,6 +5,7 @@ date: '2012-08-03T16:03:00.000-07:00' author: Charles Sutton tags: - expat +- popular modified_time: '2012-08-12T12:52:55.477-07:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-4184764928363237521 blogger_orig_url: http://www.theexclusive.org/2012/08/converting-fahrenheit-into-celsius.html diff --git a/_posts/2012-08-16-principles-of-research-code.md b/_posts/2012-08-16-principles-of-research-code.md index 685c3806a2d87..be7e7db80f5ae 100644 --- a/_posts/2012-08-16-principles-of-research-code.md +++ b/_posts/2012-08-16-principles-of-research-code.md @@ -5,6 +5,7 @@ date: '2012-08-16T05:23:00.001-07:00' author: Charles Sutton tags: - advice +- popular modified_time: '2017-05-01T08:57:51.489-07:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-2459945294961582099 blogger_orig_url: http://www.theexclusive.org/2012/08/principles-of-research-code.html diff --git a/_posts/2012-10-03-a-very-british-thanksgiving.md b/_posts/2012-10-03-a-very-british-thanksgiving.md index 2b465ce0f1195..cb4ab309f46bd 100644 --- a/_posts/2012-10-03-a-very-british-thanksgiving.md +++ b/_posts/2012-10-03-a-very-british-thanksgiving.md @@ -6,6 +6,7 @@ author: Charles Sutton tags: - britain - modest proposals +- silly modified_time: '2016-12-28T04:55:02.480-08:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-3558573721290937738 blogger_orig_url: http://www.theexclusive.org/2012/10/a-very-british-thanksgiving.html diff --git a/_posts/2013-04-27-jokes-in-lectures.md b/_posts/2013-04-27-jokes-in-lectures.md index 870d5543bfd54..cf7b701e49fdc 100644 --- a/_posts/2013-04-27-jokes-in-lectures.md +++ b/_posts/2013-04-27-jokes-in-lectures.md @@ -5,6 +5,7 @@ date: '2013-04-27T05:29:00.001-07:00' author: Charles Sutton tags: - lecturing +- popular modified_time: '2016-08-29T02:22:14.870-07:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-3945295142837495472 blogger_orig_url: http://www.theexclusive.org/2013/04/jokes-in-lectures.html diff --git a/_posts/2013-08-17-academic-ranks-in-us-and-uk.md b/_posts/2013-08-17-academic-ranks-in-us-and-uk.md index 8811edb176a12..99aaaafd1632e 100644 --- a/_posts/2013-08-17-academic-ranks-in-us-and-uk.md +++ b/_posts/2013-08-17-academic-ranks-in-us-and-uk.md @@ -6,6 +6,7 @@ author: Charles Sutton tags: - academic customs - us v uk academia +- popular modified_time: '2014-11-02T07:21:34.664-08:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-323098517740663009 blogger_orig_url: http://www.theexclusive.org/2013/08/academic-ranks-in-us-and-uk.html diff --git a/_posts/2016-12-28-a-suggestion-for-scotland.md b/_posts/2014-02-28-a-suggestion-for-scotland.md similarity index 98% rename from _posts/2016-12-28-a-suggestion-for-scotland.md rename to _posts/2014-02-28-a-suggestion-for-scotland.md index 5cee5355f4f7c..bc15d452db13f 100644 --- a/_posts/2016-12-28-a-suggestion-for-scotland.md +++ b/_posts/2014-02-28-a-suggestion-for-scotland.md @@ -1,11 +1,13 @@ --- layout: post title: A Suggestion for Scotland -date: '2016-12-28T04:52:00.000-08:00' +date: '2014-02-28T04:52:00.000-08:00' author: Charles Sutton tags: - britain - modest proposals +- silly +- popular modified_time: '2016-12-28T04:55:29.339-08:00' blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-7100784160260999482 blogger_orig_url: http://www.theexclusive.org/2014/02/a-suggestion-for-scotland.html diff --git a/_posts/2015-04-11-viva-la-voce.md b/_posts/2015-04-11-viva-la-voce.md index 2482d1805f013..7f056cce287fd 100644 --- a/_posts/2015-04-11-viva-la-voce.md +++ b/_posts/2015-04-11-viva-la-voce.md @@ -12,15 +12,27 @@ blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-38286972395798156 blogger_orig_url: http://www.theexclusive.org/2015/04/viva-la-voce.html --- One of my favourite aspects of academia in the UK is the final oral examination for the PhD --- formally called a *viva voce*, which everyone seems to call a *viva* (VEYE-vah). The viva is an oral examination that typically consists of the student and two examiners, one from within the University (the internal examiner), and one from outwith the university (the external examiner). + Both examiners read the thesis carefully, and ask the student detailed questions. The traditional way to do this is that all three have a paper copy of the thesis, and the examiners go through the thesis page by page with their questions. Some questions are high level ("Why did you choose technique X rather than technique Y?") and some can be very detailed ("In your proof of Theorem 4.3 on page 176, I'm not sure that the third step is correct. What if the matrix A is non-singular?"). + This discussion commonly takes 2-3 hours. Longer and shorter vivas are not unheard of, though if you ask me, a one-hour viva is a bit of a rip-off for the student, and a five-hour viva isn't kind, unless the length is caused by the student being exceptionally argumentative or loquacious. + At the end of the viva, the student is asked to wait outside, and the examiners decide whether the student should be awarded a PhD, and if so what corrections to the thesis are required. The most common outcome is a pass subject to minor corrections, which the student is allowed a few months to complete. + Essentially, in my experience a viva is a detailed technical discussion of the content of the thesis. Most students start out nervous, sometimes exceedingly so, but relax after a few questions as they realize that this is just a technical discussion of the sort that they have had many times before. That said, even if your research career is long, it is rare that a trusted colleague will provide you with several hours of detailed feedback on your work. To be part of a discussion like this, on either side of the table, is a privilege: most work is ignored, so any criticism is a compliment. + I am sure that the process is more tense if the examiners believe that the quality of the thesis is borderline --- fortunately, I haven't yet been asked to examine a thesis like that. If portions of your thesis have already been published in prestigious venues, and whether this is possible at all varies greatly across disciplines, then you can be fairly sure that your thesis is not near the borderline. + A colleague suggested to me once that a viva is like a negotiation. If your thesis represents a sufficient amount of research of acceptable quality (and if it was indeed you that wrote it), then you will pass. The negotiation is over which corrections will be required. Responsible examiners do not want to require additional experiments that will require months of work, if the thesis as submitted is of excellent quality. But they also don't want a thesis to be passed with gaping holes in its argumentation. The purpose of the discussion is to sort out which potential concerns are which, and your voice in this discussion matters --- you wrote the thesis, so you are the expert in the room. + Sometimes an examiner asks a question with an eye to a correction being required. Maybe you think, "yeah, that's a good point, I should add a paragraph on that" --- in this case, don't hesitate to say so. On the other hand, if providing a good answer to the examiner's question would require months of additional research, politely explain why, while also giving the best answer you can given what you do know. What you don't want to do is argue every point strongly, even when the examiners are clearly right... that is not good negotiation strategy. + A bit more about who attends the viva. The internal examiner is *not* the supervisor, in fact, they will not have been involved with the thesis research at all. It is not unusual for the internal examiner to be a bit of generalist with respect to the thesis topic, although when I have served as internal, I have usually been able to make out the thesis reasonably well. Presumably this is because the School of Informatics is large enough that there are many theses in machine learning and natural language processing that need to be examined. + The external examiner is chosen specifically for their expertise in the subject matter, and to serve as an external is generally seen as a minor indicator of prestige. A certain amount of deference is paid to the external in the culture of the process. Even so, I have the sense that part of the role of the internal is to be accountable to the University (for following correct procedures) and to the student and the supervisor (to make sure that the examination is fair to the student). I have read and heard horror stories of aggressive external examiners but never witnessed one; to the contrary, the examiners who I have witnessed have all gone out of their way to be kind to the student. + The role of the supervisor in the viva, I think that this may vary slightly across institutions. At Edinburgh, the supervisor is allowed to attend the viva, if the student permits, but not to participate in any way. In my experience as internal examiner, the supervisor has attended about half the time. One supervisor silently took notes to share with the student, which I think is quite a kind thing to do. + Finally, although the description is written for a US audience, British academia also fetaures [the snake fight portion of your viva](http://www.mcsweeneys.net/articles/faq-the-snake-fight-portion-of-your-thesis-defense). + (Written in honour of my first PhD student graduating. Congratulations Yichuan!) diff --git a/_posts/2015-11-21-gtd-made-simple-why-i-think-internet.md b/_posts/2015-11-21-gtd-made-simple-why-i-think-internet.md index 832229e3d87f7..367a1bafaf46b 100644 --- a/_posts/2015-11-21-gtd-made-simple-why-i-think-internet.md +++ b/_posts/2015-11-21-gtd-made-simple-why-i-think-internet.md @@ -11,29 +11,48 @@ blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-64312855022867044 blogger_orig_url: http://www.theexclusive.org/2015/11/gtd-made-simple-why-i-think-internet.html --- I'm naturally disorganised, but I have so much stuff to do that out of necessity I get organized. (Then more stuff comes and I get disorganised again.) The way I get organized is by attempting to follow a system called GTD. GTD comes from a book by David Allen called [Getting Things Done](http://www.amazon.co.uk/Getting-Things-Done-Stress-free-Productivity/dp/0349408947). The book is an unusual read, a mix of management-speak, Zen-speak, and tips for organizing your filing cabinet. But for all that, it's a good book. + GTD has become popular with many different types of people. It is especially popular with tech people on the Internet. It's a bit of [a geek cult](http://www.wired.com/2007/09/ff-allen/), which is strange. Why are computer programmers singing praises for a management consultant? Indeed, why are university professors? + Lots of people on the Internet have been writing about GTD. It can be hard to get started. For one, the book itself, the writing isn't always succinct. Also, cleaning up your to do list and blogging about it is a good way to procrastinate. So, there are lots of blog posts out there about GTD. Lots. + I have been trying to figure out a way to explain GTD that makes clear how simple it is. + Look, you need a to do list. It will clear your head so that you can concentrate on your work. That's it. That's GTD. + But you've tried this already. It helped for a little bit, but then it stopped helping. This is where GTD gets interesting. It's based on an extraordinarily perceptive understanding of why to do lists stop working. They can stop working because: + 1. *You haven't written everything down.* To do lists become way better when they contain literally everything that you have to do in life. If they don't, then deep down in your mind, you will always know that you've got stuff to do that isn't written down, so you spend mental focus trying to remember those things. It's like if you tried to keep a calendar but only wrote down half of your appointments in it. + 2. *Your list is too vague.* If you write down something like "Dentist" on your to do list, every time you see it, you need a little mental energy to work out what that meant and plan what you need to do about it. But after you've done that planning, you don't *do* anything about it, because you were just scanning your to do list and right now you need to do something else instead. This makes you anxious. And if you read "Dentist" without taking that effort, then you still feel anxious because it reminds you that there's something you need to do and you're not sure what it is. + 3. *Your list is too long.* When you're not sure what to do, you need to be able to scan your list quickly to decide what to do next. + 4. *You can't find items right when you need them.* If you're about to drive past the hardware store, you need to be able to stop in the parking lot and quickly find the list of stuff that you'd been meaning to buy. + 5. *You can't write down items right when you think of them.* When you notice you're running low on toilet paper, you're not usually in the grocery store at the time. But you still want to record this right then, so you don't have to remember it until you're walking past the shop the next day. + 6. *Your list doesn't keep up with your life.* Gradually you get more and more things to do that just don't make it on to your list. + 7. *You don't compare your list to your bigger goals.* Urgent things aren't always important, and it's easy to let days slip by you. You need to think about what's most important in your career and your life, and your to do list needs to contain actions that help make the important things happen. GTD is a system for keeping lists that is designed to avoid these problems. GTD doesn't care where you keep your lists or how you store them --- this is why geeks love GTD, so that they can keep arguing about what software is best. But you don't need software. Paper works fine. What you need are principles to guide you. + The main principles of GTD are: - *Record everything.* Everything that you need to do. + - *Record everywhere.* No matter where you are, you need a way to write things down so that they will end up on your list. + - *Organize by context.* You want multiple to do lists, organized so that when you scan a list, it contains only things that you could do right then, if you decided to. You might have a list of people you need to call, a list of things to do at a computer, a list of things to do at home, etc. + - *Specific measurable actions.* This the caveat to "record everything". If it goes on your list, it needs to be something specific, that you could do right away, finish, and tick off. Instead of writing "Dentist", you should write, "Email Morag to ask for dentist recommendations". When you read an item on your list, you don't want to think "Oh, what was that?" --- you want to think "Ah, I can do that!" + - *Small specific projects.* A project is anything that takes multiple specific actions to accomplish, even if it's only 2 or 3. + - *Plan naturally.* For any project, work out what you need to do on the sheet of paper, and add to your list the actions that you can do right away. Actions that you need to do later down the line, they don't go on your list. + - *Review weekly.* Check your calendar and your notes to see if there's anything that you need to do that you haven't written down yet. Think about your longer term projects and goals and make sure your lists have actions that help with them. How you organise a set of lists, and supporting files, to meet these principles, that's what the book is about. It may not always seem so from the surface, but the book is full of clever little tricks. That's another reason why the book can be deceptive: It's easy to admire the tricks but not understand the system. But if you really understand the principles, then the practice becomes much more clear. diff --git a/_posts/2016-12-29-on-creating-companion-web-site-for-talks.md b/_posts/2016-12-29-on-creating-companion-web-site-for-talks.md index 50d16698fd67e..b61ae0dd5a53c 100644 --- a/_posts/2016-12-29-on-creating-companion-web-site-for-talks.md +++ b/_posts/2016-12-29-on-creating-companion-web-site-for-talks.md @@ -11,13 +11,20 @@ blogger_id: tag:blogger.com,1999:blog-4651184076703138844.post-71146861809042949 blogger_orig_url: http://www.theexclusive.org/2016/12/on-creating-companion-web-site-for-talks.html --- My last research talk, I tried an experiment during the talk. I created a "companion web site" for the talk, which is an online handout including slides, code, links to papers, and a bullet-point abstract. Here's my [first try at an online handout.](http://homepages.inf.ed.ac.uk/csutton/talks/nampi2016-talk-sutton/) + The inspiration was [Tufte's quixotic diatribe against Powerpoint](https://www.edwardtufte.com/tufte/powerpoint), which recommends written handouts instead of slides. The web site is an attempt to adapt his idea to an all-open all-Internet all-the-time age. Seeing as I have no intention of printing out several hundred paper copies of a handout and carrying them thousands of miles to a research meeting, and that most people have laptops anyway. + Why the handout? Lectures are limited because speech is linear. If we are conversing, when I haven't understood what you have said, I can ask you to go back. When you lecture, I cannot do that. If I stop a moment to think more deeply about something that you have said, I run the risk of missing your next point. + The handout is designed to help with this. By giving you a written summary, and also my slides, you can "go back" and re-read a point that you may have missed. A second role for the online handout is to help you find more details after the talk, to find exactly which papers, which code, and so on, I was referring to. + If the handout really helps, then it raises an even more interesting question. Why the slides? Tufte argues vehemently against slides as a replacement for written text. Slides have low resolution, which encourages poor statistical graphics, and encourages hiding details which are vital to assessing an argument in science and engineering. Also, most arguments do not fit into bullet points, because bullet points can convey only linear relationships and nesting. The narrative that you are trying to convey in your talk is likely to be more complex. + In research conferences, we already have a handout for each of our talks, the research paper. So maybe we be presenting scientific talks with no slides at all? If not, why not? Sometimes at a conference, I'll skim the paper during the talk if I am starting to get confused. Sometimes that helps. But papers are information dense, with long sentences full of qualifying statements designed to forestall potential reviewer criticisms. It can be hard to read dense text while also remaining aware about what the speaker is currently saying. Sometimes I think this a blind spot of Tufte's, that he leans too heavily on information density as a measure of the quality of a display. + We can think of the sequence \[ slides, audio of talk, online handout, paper \] as attempting to convey the same information at different levels of density. This allows the reader/viewer to choose the appropriate level. But slides and audio are both low density. Do we really need two low density ways of conveying the information? + Another way of asking the question is: What are slides good for, when they are good? Tufte does seem to accept that good slides are possible. He admits that perhaps the top 10% of presenters aren't harmed by Powerpoint's cognitive style, as their own presenting style is strongly enough developed that they impose it on the software, affordances be damned. -In the past couple of years, I've been experimenting with different slide designs. I may even starting to understand what principles I am aiming at in my slide designs. But I think that's a topic for another day. +In the past couple of years, I've been experimenting with different slide designs. I may even starting to understand what principles I am aiming at in my slide designs. But I think that's a topic for another day. diff --git a/_sass/_variables.scss b/_sass/_variables.scss index 43035286f3d87..8184121c1109f 100644 --- a/_sass/_variables.scss +++ b/_sass/_variables.scss @@ -11,6 +11,7 @@ $black: #000; $darkerGray: #222; $darkGray: #333; $gray: #666; +$midGray: #999; $lightGray: #eee; $white: #fff; diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000..f7cc8a7de8861 Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html index 2a8578b31815a..8346e5533d2b8 100644 --- a/index.html +++ b/index.html @@ -2,10 +2,11 @@ layout: default --- -
+
+
- {% for post in site.posts %} + {% for post in paginator.posts %} - {% endfor %} -
+ {% endfor %} + + + +
+ + {% include sidebar.html %} +
diff --git a/style.scss b/style.scss index 5e2a3fb99eaff..08accc69f9762 100644 --- a/style.scss +++ b/style.scss @@ -143,7 +143,7 @@ img { // .wrapper-masthead { - margin-bottom: 50px; + margin-bottom: 25px; } .masthead { @@ -159,7 +159,7 @@ img { float: left; width: 48px; height: 50px; - padding-top: 10px; + padding-top: 5px; margin-right: 15px; @include mobile { @@ -294,14 +294,40 @@ footer { } div.pagenav { - margin: 12px 0px 12px 0px; - padding: 6px 0px 6px 0px; + margin: 18px 0px 18px 0px; + padding: 12px; border-top: 1px solid $lightGray; border-bottom: 1px solid $lightGray; } - + +.tag-index-summary:before { + content: ""; + position: absolute; + left: 15%; top: -2px; + width: 65%; + height: 1px; + border-bottom: 1px solid $midGray; +} + +.tag-index-summary { + margin-top: 12px; + padding-top: 12px; +} + +// for pagination +a.older { position: absolute; left: 0; } +a.newer { position: absolute; right: 0; } +div.next_post { float: right; text-align: right; } + +// sidebar +.sidebar { padding-top: 2ex; } +.sidebar ul { list-style: none; margin: 10px 0; padding-left: 10px; } +.sidebar li { padding-top: 6px; padding-bottom: 6px; } +.sidebar h1 { font-size: 14pt; padding-bottom: 0; margin-top: 25px; margin-bottom: 0; } +.author_name { font-size: 12pt; font-family: $helveticaNeue; } // Settled on moving the import of syntax highlighting to the bottom of the CSS // ... Otherwise it really bloats up the top of the CSS file and makes it difficult to find the start @import "highlights"; @import "svg-icons"; +