This was the last week. I wrote a brief documentation for end users about supported Markdown structures and how a user can make use of it. I also generated the final patch and attached my whole work during these three months for the final review. And yes, I finished the project and met all the goals set at the beginning.
Goodbye Google Summer of Code 2014!
By this week, I finished almost all parts of coding. I resolved linkification conflicts and did some cleanups to the code that I wrote before. I also added documentation to my class (Bugzilla::Markdown).
Since the code is almost done, I generated a final patch and attached it to BMO. I received some comments on my patch from my mentor to revise the code. I then made the modifications accordingly and attached a new patch to BMO.
I continued with my work by adding Github Flavored Markdown feature ‘Fenced Code Blocks’. The commit is available here.
I finished my final exams on Friday and resumed my work on the project afterwards. I incorporated Bugzilla’s linkification procedure into my code. You can see the commit here. I also resolved a conflict of the linkifications done by it. Still, there are some other conflicts that need to be addressed in future commits.
Since I was heavily involved with my exams in these weeks, I could not spend time on the project and unfortunately I did not make any change. However, I occasionally played with my code and tried to find possible defects in it.
I worked on GFM Strikethrough this week. You can see my commit.
This week, I addressed my mentor’s comments on my previous commits. The comments were about some tiny code clean-ups. Also, I manipulated the code to not generate
p tags around output sections.
I implemented at least three important things this week:
- First, I removed support for inline images from Markdown engine. The standard Markdown supports image inclusion but Bugzilla community does not want to have it.
- Second, I added a Github Flavored Markdown feature called ‘Multiple underscores in words‘.
- Last but not least, I also defined a new filter for templates to render comments based upon the inclusion/exclusion of Markdown structures.
This week, I was quite busy with my university stuff and couldn’t spend that amount of time that I did in previous weeks. Nevertheless, I made a new class called Markdown which will serve the main functionality of Markdown generation. This class is a sub-class of Text::Markdown. I also added Text::Markdown to the list of optional modules for Bugzilla functionality.
Furthermore, I studied most of the source code of Text::Markdown to try to understand how things are processed and what possible changes to it would be required in order to work well for Bugzilla.
After implementing features to allow administrators and users to choose to use markdown, we need to start writing a concrete markdown processor. To do that, we have decided to make use of Text::Markdown CPAN module. But, we cannot make use of all of its functionality. We also need to make some modifications and additions to it.
This week, I spent my time to try to subclass it and look for possible conflicts that it might have with Bugzilla. I integrated this module with my Bugzilla installation and examined the generated output. Next, I need to override some methods of the module to make it behave the way we want to.