From koffice-devel Fri Mar 27 17:34:09 2009 From: Nicholas Sinlock Date: Fri, 27 Mar 2009 17:34:09 +0000 To: koffice-devel Subject: [GSoC Proposal] KWord Plugins: MediaWiki translation, Auto-Correction, Message-Id: <49CD0E11.3010901 () gmail ! com> X-MARC-Message: https://marc.info/?l=koffice-devel&m=123817532032221 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------020308040000070004020303" This is a multi-part message in MIME format. --------------020308040000070004020303 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello everyone, I'm submitting a new proposal for comments. This is still a partially rough draft, but I feel like I've gotten most of the details nailed down. Some of it may be partially incomplete because of that and the time constraints I wrote this under. --------------020308040000070004020303 Content-Type: text/plain; name="GSoC-KWord-Plugins-txt.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="GSoC-KWord-Plugins-txt.txt" Name: Nicholas Sinlock =20 Email Address: IsolatedIncident@Gmail.com =20 Freenode IRC Nick: nsinlock =20 Location (City, Country and/or Time Zone): Ellicott City, Maryland, U.S.A. (Eastern Standard Time) =20 Proposal Name: KWord Plugins: (media)wiki markup translation, auto-correction, and sourc= e code colorization=20 Motivation for Proposal / Goal: This collection of plugins will introduce new, useful functionality into= the KWord application of KOffice. Wikias, especially media wiki's, are b= ecoming more popular over time, yet KWord is unable to recognize or trans= late those markups into the native KWord format. Implementing this plugin= will enable the conversion of wikia pages into printable text documents.= But even beyond that, it will also create the necessary background code = to work off of when implementing KWord to (media)wiki markup translation.= Auto-correction in KWord 2.x is currently only partially implemented. Fu= lly implementing this functionality will return KWord to the previous lev= el of functionality enjoyed in 1.x. It will also allow for me to more eas= ily implement the third plugin, the source code colorization plugin. KWor= d isn't necessarily the best choice for editing source code, but this plu= gin will be useful for users who want to compose documents which feature = source code within their texts. The colorization allows for the source co= de to stand out within the document. =20 Implementation Details: All of these plugins will be extending the kotextplugin class, which wil= l allow them to modify the text only after a modification has been made t= o a word or paragraph within the document. If possible I will use some existing code which converts (media)wiki to = xml and modify it to convert the (media)wiki markup fully to the KWord st= andard. There are several options, including a python library, mwlib, whi= ch can parse mediawiki to a variety of formats. If I am unable to use any= existing code, then I will have to write the specific code to parse and = convert the (media)wiki markup into the KWord xml. The goal would be to r= un the plugin whenever a change is made to a paragraph, on that specific = text. Either way, this would mean that when a person inserts a wikia page= into KWord, the plugin will automatically translate those markups into m= arkups understandable by KWord. Finally, since the plugin would only look= at newly edited code, it could also react to a user typing in those mark= ups, and shouldn't take up too many resources. The auto-correction plugin will be superficially similar to the above pl= ugin. It will implement the features not yet implemented within KWord 2.x= =2E Currently, that includes the ability to use list formatting for bulle= ted paragraphs and autonumbering for numbered paragraphs. I can most like= ly borrow part of this code from kdelibs and kwrite/kate or even some of = the code from KOffice 1.x for any functionality previously implemented. The source code colorization plugin should be the easiest as I can borr= ow code from the previous plugins, and from Kate/KWrite. Kate/KWrite curr= ently offer source code colorization for a number of languages. I can use= the code, found in kdelibs under Kate/Syntax, and either borrow that cod= e or write up new code based upon that code. Under kdelibs, there are als= o the xml definitions used in the syntax/source code colorization. I can = simply access those from kdelibs or create a separate copy within the plu= gin structure. The plugin will detect a change in the document, and then = use the Kate/KWrite code to detect and color and source code input into t= he document. The plugin will have to be selectively turned on, however, s= ince otherwise the plugin would have to check the change against all of t= he possible source code types. Kate seems to implement this intelligently= either setting it based upon the file type, or allowing a user to select= the code type to be checked against. Tentative Timeline: My goal would be to start on the (media)wiki plugin in first, as it seems= to be the most difficult. I would expect to finish the plugin within sev= eral weeks. I would then work on the auto-correction plugin, then the sou= rce code colorization. Since these ideas can reuse code from the previous= plugins, I would expect them to take progressively less time. By the hal= f way point, I plan on being done with the (media)wiki plugin, and be in = the process of coding the auto-correction plugin. I'm confident that all = three plugins can be successfully implemented within the allotted time. =20 Do you have other obligations from late May to early August (school, work= , etc.)?: No. =20 About Me (let us know who you are!): I'm a freshman/sophmore Computer Science major in the University of Mary= land: College Park(www.umd.edu and www.cs.umd.edu). I have experience pro= gramming in C++, Java, and Python. I've worked a little with both KDE and= Qt, but I am still very new to Free Software. This would be my first maj= or Free Software commit. love KDE and KOffice, I run a KDE distro on b= oth of my machines and am using KWord to write this document.(Not that th= is necessarily matters) --------------020308040000070004020303 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ koffice-devel mailing list koffice-devel@kde.org https://mail.kde.org/mailman/listinfo/koffice-devel --------------020308040000070004020303--