My SoK report

Ooh the last 2 weeks of the program were intense. Here is what I did for the website.

Week 4

This week I did a lot of work as I had a lot of time after my university exam. The features table needed a lot of work and I redesigned the entire table with the correct icons for each attribute and feature. It was a PITA for me to set all the correct icons at the right places to be honest. Then I thought of giving each row a color to make it more understandable and readable. So I added those to the liquid syntax and made all the headings alike with colors. The original website has a hover effect which I liked so much so I include them as well in the table. This is how the features table would look like:

updated-features

This was also added to the features details page and this is how the details page would look:

updated-features-details

show me the code!

The details of each features was stored in the _data in a YAML file. So we should use the liquid syntax to call each of the details from the YAML file. I coded the entire liquid syntax for the table to get rendered. Just a sample of how the liquid syntax would look:

{% for type in site.data.features-details.types %}
  <h2>{{ type.name }}</h2>
  <table class="table table-hover">
    {% for diagram in type.diagram-types %}
    <thead class="thead-dark">
      <tr>
        <th>Diagram type</th>
        <th><a href="http://www.omg.org/spec/UML/1.4/">UML 1.4</a></th>
        <th>Note</th>
        <th><a href="http://www.omg.org/spec/UML/2.0/">UML 2.0</a></th>
        <th>Note</th>
      </tr>
    </thead>
    <tbody>
      <tr class="bg-info">
        {% if diagram.icon_url %}
        <td><img src="{{site.url}}{{diagram.icon_url}}" hspace="20">{{ diagram.name }}</td>
        {% else %}
        <td>{{ diagram.name }}</td>
        {% endif %}
        {%if diagram.uml14 == "true" or diagram.uml14 == "partial"%}
        <td><img src="/pics/{{ diagram.uml14_image }}"></td>
        {%else%}
        <td>{{diagram.uml14}}</td>
        {%endif%}
        <td>{{ diagram.uml20_note }}</td>
        {%if diagram.uml20 == "true" or diagram.uml20 == "partial"%}
        <td><img src="/pics/{{ diagram.uml20_image }}"></td>
        {%else%}
        <td>{{diagram.uml20}}</td>
        {%endif%}
        <td>{{ diagram.uml20_note }}</td>
      </tr>
    </tbody>

Week 5

Week 5 was the last week of the program so I still had the homepage left to do. But I had my uni exams right at that time so I could not complete the entire project. So I did a minimal redesigning of the homepage due to time constraints.

I added much more content to the homepage and added a button which would redirect the user to the install page. Here is how the homepage would look like:

umbrello-homepage

Challenges I faced

The Blog and Features-details in the Navigation bar doesn’t become highlighted when selected. This is an embarrassing issue. The header file of KDE Jekyll template has some problem in the liquid syntax. So I started working on the issue. I somewhat recoded the entire liquid syntax of the header file of the Jekyll template which would fix the issue.

header

My Whole SoK Experience

SoK 2020 was awesome!! I got a chance to interact with many community members. I got to learn new things during this period in web. I am very grateful to the KDE community for giving me this wonderful opportunity. I am very thankful to my mentor Carl Schwan who guided me throughout the entire program. He is a great mentor!! I also gave a talk about my work for SoK on conf.kde.in 2020. It was such a great conference.

What Next?

This is not the end of the road with KDE for me. I love many applications of KDE. Along with my future contributions to web projects, I have already started to contribute to Kirogi by fixing small issues. I was working on the MAVLink protocol implementation for Kirogi via TCP and serial connection. I have done some small TCP projects myself and I know C++ very well. So hopefully I would be able to implement in Kirogi. Maybe support for different vehicles would be an innovative thing to do for the Kirogi application.

Until Next time, Cheers.