Difference between revisions of "User:ABSHK/GSoC21/Log"
From BRL-CAD
m |
|||
Line 47: | Line 47: | ||
** Phase - 1 Evaluations | ** Phase - 1 Evaluations | ||
− | * | + | * Weeks - 7 & 8 (July 19 - Aug 1) |
** Explored and learnt more about CMakeLists for help in the integration part of the program. | ** Explored and learnt more about CMakeLists for help in the integration part of the program. | ||
** Made a python script to download the generated Manual from [http://files.openscad.org/documentation/ OpenSCAD Documentation]. | ** Made a python script to download the generated Manual from [http://files.openscad.org/documentation/ OpenSCAD Documentation]. | ||
+ | |||
+ | * Weeks - 9 & 10 (Aug 2 - Aug 15) | ||
+ | ** Changed python script and added static links to the documentation resources. | ||
+ | ** Created function is_connected() to check if an internet connection is available. | ||
+ | ** Created CMakeLists.txt inside the `resources` folder which now handles the download part instead of the main CMakeLists.txt | ||
+ | ** Added option inside main CMakeLists.txt to enable download of the User Manual. | ||
+ | ** Added the files generated by CMakeLists.txt and the python script to .gitnore. | ||
+ | ** Added the option `Offline Documentation` to the help menu. | ||
+ | ** The option `Offline Documentation now hides if the user chooses not to download the User Manual. |
Latest revision as of 17:50, 11 August 2021
Development Log for Gsoc'21[edit]
Community Bonding Period (May 17 - June 6)[edit]
- May 17 - May 23
- Made a prototype script to download the User Manual from WikiBooks.
- May 24 - May 31
- Learnt to use cmake and how to execute a .py script using add_custom_command.
- June 1 - June 7
- Went through WikiMedia's rules for using their API. Learnt about the URL-Headers to use while accessing the WikiBooks API.
Coding Period (June 7 - August 16)[edit]
- Week - 1 (June 7 - June 13)
- Started with making the .py script
- Implemented function prototypes
- Made function getPage() to download the page given at the url using the WikiMedia API.
- Made function getFooter() to add footer to the HTML pages with proper attribution (CC-BY-SA-3.0).
- Made function cleanSoup() to remove the redundant HTML tags from the pages.
- Made function getUrl() to get clean, formatted URLs.
- Week - 2 (June 14 - June 20)
- Made function getMaths() to download the Math Formulas in the User Manual as SVG Images.
- Made function getTags() to deal with <a> tags and the hrefs.
- Made function getImages() to download the images in the Manual.
- Made a config.yml file for ease of maintenance of the script.
- Made function getCSS() to download the CSS (more about which is given at API:Styling_content).
- Made function getStyled() to improve the styling of the pages.
- Week - 3 (June 21 - June 27)
- Explored GitHub Actions, to run the program and generate the documentation on GitHub.
- Added feature to zip the docs, thus reducing the file size by 25%.
- Created GitHub Action to generate a zipped doc file and release it.
- Changed getUrl() to getParsedUrl(), which now returns a parsed URL (using urllib.parse.urlparse()).
- Miscellaneous code optimizations in cleanSoup(), for a cleaner and smaller code.
- Week - 4 (June 28 - July 4)
- Explored the different options available for conversion of HTML to PDF.
- Chose the tool wkhtmltopdf for the conversion process, and made GitHub action to install the same.
- Created function getPdf() to get the pages converted to pdf.
- Changed the parser handling the XML response of the API.
- Week - 5 (July 5 - July 11)
- Added an argument `pdf` to the functions, to help them distinguish if the webpage being dealt with is to be converted into a pdf.
- Changed the program to create a PDF from Print Version of the manual to get a single big file for easier navigation.
- Worked on various issues arising in the PDF conversion according to input from the mentors.
- Week - 6 (July 12 - July 18)
- Phase - 1 Evaluations
- Weeks - 7 & 8 (July 19 - Aug 1)
- Explored and learnt more about CMakeLists for help in the integration part of the program.
- Made a python script to download the generated Manual from OpenSCAD Documentation.
- Weeks - 9 & 10 (Aug 2 - Aug 15)
- Changed python script and added static links to the documentation resources.
- Created function is_connected() to check if an internet connection is available.
- Created CMakeLists.txt inside the `resources` folder which now handles the download part instead of the main CMakeLists.txt
- Added option inside main CMakeLists.txt to enable download of the User Manual.
- Added the files generated by CMakeLists.txt and the python script to .gitnore.
- Added the option `Offline Documentation` to the help menu.
- The option `Offline Documentation now hides if the user chooses not to download the User Manual.