[geany/plugins.geany.org] 66cffa: Djynn: new update for the Djynn HTML file

Dominic Hopf git-noreply at xxxxx
Thu Jul 30 15:41:40 UTC 2015


Branch:      refs/heads/master
Author:      Dominic Hopf <dmaphy at googlemail.com>
Committer:   Dominic Hopf <dmaphy at googlemail.com>
Date:        Thu, 30 Jul 2015 15:41:40 UTC
Commit:      66cffaa20a220d6844ddbee4628998124e6595ac
             https://github.com/geany/plugins.geany.org/commit/66cffaa20a220d6844ddbee4628998124e6595ac

Log Message:
-----------
Djynn: new update for the Djynn HTML file

Thanks Per Löwgren!


Modified Paths:
--------------
    content/djynn.html

Modified: content/djynn.html
203 lines changed, 150 insertions(+), 53 deletions(-)
===================================================================
@@ -1,81 +1,178 @@
 <h2>Djynn</h2>
 <h3>Introduction</h3>
 
-<p>Like everyone else, more or less I suppose, I tried using every other editor available for
-Linux. None except Geany worked the way I wanted, and with Geany everything was perfect — I
-even liked the name — everything except the project manager. I couldn't get any of the
-project-manager-plugins to do what I wanted, and I had something similar to Notepad++,
-Dev-C++, or CodeBlocks in mind. So I decided to see if I could make a plugin of my own.
-The TreeBrowser plugin was a good starting point. It went well, even better than expected
-and it was so much fun I decided to add more functionality, and so when I needed sorting
-that was added, and after that was added commenting with a slightly different behaviour of
-the built in commenting.</p>
-
-<p>The name Djynn is of course a play on words, like the name Geany, both being oriental
-spirits, but with a 'y' instead of 'ie'/'i'. Having added more functionality than a simple
-project manager, I couldn't just name the plugin "Project Manager" or similar, and so I
-thought of the name Geany, and obviously it refers to the three-wish-fulfilling flask-dwelling
-spirit "Genie" with a modified spelling, and I came to think of the other oriental spirit
-"Djinn", of which I suppose the name Genie comes, and thought "hey, that could be a good name!".</p>
+<p>The name <i>Djynn</i> is a play on words - like the name <i>Geany</i>; both being oriental
+spirits of mythology, but with a 'y' instead of 'ie'/'i'. Since it isn't a one-function-plugin
+but rather a set of various functionality, "Plugin manager" or similar wasn't appropriate in
+naming the project.</p>
+
+<p>The Djynn plugin project can be found at <a href="https://launchpad.net/djynn" target="_blank">Launchpad</a>.</p>
 
 <h3>Features</h3>
 
-<p>Djynn is a plugin for the Geany IDE and adds sorting and commenting functionality as well
-as a simple projectmanager that integrates with the built in project handler of Geany.</p>
+<ol>
+	<li><a href="#project-manager">Project Manager</a></li>
+	<li><a href="#sort-lines">Sort Lines</a></li>
+	<li><a href="#comments">Comments</a></li>
+	<li><a href="#encoding">Encoding</a></li>
+	<li><a href="#keybindings">Keybindings</a></li>
+	<li><a href="#configure">Configuration</a></li>
+	<li><a href="#install">Install</a></li>
+</ol>
+
+<p><img src="http://i.imgur.com/oR5NywA.png" style="margin: 10px;box-shadow: 1px 2px 20px 2px #999999;" /></p>
+<!--p><img src="djynn-project-manager.png" style="margin: 10px;box-shadow: 1px 2px 20px 2px #999999;" /></p-->
+
+<a name="project-manager"></a><h4>Project Manager</h4>
+
+<p><i>Djynn</i> adds a simple projectmanager that integrates with the built in project handler
+of <i>Geany IDE</i>.</p>
+
+<p>The project manager inserts a page in the sidebar with a tree for the project files. Files
+can be read from a directory or added manually in each project, there can be any number of
+files but the manager is not designed for gigantic numbers of files; order files and folders in
+any way you like by dragging and dropping.</p>
+
+<p>Any number of workspaces can be created, and each workspace may contain any number of projects.
+Each project is stored in a separate config-file, and if two workspaces creates two projects of the
+same name the same project is shared between workspaces. Projects also integrates with the built in
+Geany projects, and for every Djynn project a Geany project is created automatically also.</p>
+
+<p>To make it easier working with many projects, a session handler has been added, and
+you can add more sessions in the menu. Each session maintains its open documents. When switching
+between sessions, all documents of the previous session are closed, and all documents of the new
+session are opened with the cursor at the stored position.</p>
+
+<p><img src="http://i.imgur.com/Sp9SMGs.png" /></p>
+<!--p><img src="djynn-workspaces-sessions.png" /></p-->
+
+<p>Create new Projects, Workspaces and Sessions in the Project->Project Manager menu:</p>
+
+<p><img src="http://i.imgur.com/cA53wWR.png" /></p>
+<!--p><img src="djynn-menu-project-manager.png" /></p-->
+
+<a name="sort-lines"></a><h4>Sort Lines</h4>
 
 <p>Lines can be sorted in various ways, ascending, descending and reverse line order. If
-there is a selection, only the selected lines are sortered, otherwise the entire document is
-sorted.</p>
+there is a selection, only the selected lines are sorted, otherwise the entire document.</p>
+
+<p><img src="http://i.imgur.com/BJh7wd9.png" /></p>
+<!--p><img src="djynn-menu-sort-lines.png" /></p-->
+
+<a name="comments"></a><h4>Comments</h4>
 
-<p>The commenting differs slightly from the built in commenting of Geany. It's of course a
-matter of taste and personal programming style, better to have a few options to choose from.
-It toggles line- and block-commenting, and add doxygen comments.</p>
+<p>The commenting differs slightly from the built in commenting of <i>Geany</i>. 
+It toggles line- and block-commenting, and add javadoc/doxygen comments. A function
+for stripping comments is available for a subset of Geany's supported filetypes.</p>
 
-<p>The project manager inserts a tree for the project files. Files are added manually in each
-project, there can be any number of files, order in any way you like, and it's also possible to
-read and insert files from a directory including subdirectories (only source files are read,
-and non-project directories such as '.svn' excluded).</p>
+<p>Line comments are placed at the beginning of the line, block comments at the beginning and
+end of the selected text - or if no selection, at the position of the cursor.</p>
 
-<p><img src="http://img35.imageshack.us/img35/7964/geanydjynn.png" /></p>
+<p>Javadoc/Doxygen comments have three formats depending on the selected text:</p>
 
-<p>In the project manager you can have any number of workspaces, and each workspace can contain
-any number of projects. Each project is stored in a separate config-file, and if two workspaces
-creates two projects of the same name the same project is shared between workspaces. Projects
-also integrates with the built in Geany projects, and for every Djynn project a Geany project is
-created also.</p>
+<ol>
+	<li>When the cursor is at a function definition, a comment is inserted in this format:
+<pre>/**
+ * @param a 
+ * @param b 
+ * @return 
+ */
+int foo(unsigned char *a,int *b) {
+</pre></li>
+	<li>When a block of lines are selected starting and ending with one or more blank lines,
+a group comment is inserted:
+<pre>
+/** @name 
+ * @{ */
+int foo(unsigned char *a,int *b);
+void bar(int c,const char *b);
+/** @} */
 
-<p>To make it easier working with many projects, a session handler has been added to Djynn, and
-you can easily add more sessions from the menu. Each session maintains its open documents, of
-course including position. When switching between sessions, all documents of the previous session
-are closed, and all documents of the new session opened. This way, you can work with one project,
-then another, then switch back, in the time it takes to close and open the documents.</p>
+</pre></li>
+	<li>When one or more lines are selected not starting and ending with a blank line,
+indented line comments are inserted:
+<pre>
+void foo(int a);	//!< 
+void bar(int b);	//!< 
+</pre></li>
+</ol>
 
-<p><img src="http://img15.imageshack.us/img15/495/geanydjynnwssess.png" /></p>
+<p><img src="http://i.imgur.com/bHQjBTF.png" /></p>
+<!--p><img src="djynn-menu-comments.png" /></p-->
 
-<p>Create new Workspaces and Sessions in the Djynn menu:</p>
+<a name="encoding"></a><h4>Encoding</h4>
 
-<p><img src="http://img841.imageshack.us/img841/1903/geanydjynnmenu.png" /></p>
+<p>Mark the text to convert, or the entire document will be encoded/decoded, and select format
+in the menu.</p>
 
-<h3>Installing Djynn</h3>
+<ol>
+	<li>Hexadecimal Encoding: Chars are converted to and from hexadecimal, so ' ' (space)
+	becomes '20' and 'abc' becomes '616263'.</li>
+	<li>Base58 Encoding: Convert text between base58.</li>
+	<li>Base64 Encoding: Convert text between base64.</li>
+	<li>C String Escape: Escape characters in text, e.g. newline is replaced by '\n'
+	etc. Also unicode characters are replaced by '\uXXXX'.</li>
+	<li>HTML Encoding: Replace HTML-entities, e.g. '&' is replaced by '&amp;'.</li>
+	<li>URL Encoding: Format text for a URL.</li>
+</ol>
+
+<p><img src="http://i.imgur.com/gAETcCy.png" /></p>
+<!--p><img src="djynn-menu-encoding.png" /></p-->
+
+<a name="keybindings"></a><h4>Keybindings</h4>
+
+<p>Keybindings have been added to some of the features. To set keybindings, in the
+menu select: <i>Edit->Preferences->Keybindings</i> and scroll down the list to
+the section <i>Djynn</i>.</p>
+
+<a name="configure"></a><h4>Configuration</h4>
+
+<p>Configure the plugin to your liking:</p>
+
+<p><img src="http://i.imgur.com/78EoVPr.png" /></p>
+<!--p><img src="djynn-configure.png" /></p-->
+
+<hr />
+
+<a name="install"></a><h3>Install</h3>
+
+<h4>Ubuntu: Install from Launchpad's PPA</h4>
+
+<p>Run these commands in a terminal:
+<pre>
+sudo su
+add-apt-repository ppa:per-lowgren/repo
+apt-get update
+apt-get install geany-plugin-djynn
+exit
+</pre></p>
+
+<h4>Build from sources</h4>
 
 <p>Djynn uses CMake, so you will need to install this, and you will of course need to install
 GTK+, minimum 2.6. To build and install Djynn, open a terminal and enter the following commands:</p>
 
-<pre>svn checkout http://libamanita.googlecode.com/svn/trunk/ libamanita
-cd libamanita/src/plugin/djynn
-mkdir build
-cd build
+<p>Only Linux has been tested, though compiling for Windows with MinGW should work fine -
+provided all dependencies meet.</p>
+
+<pre>sudo su
+apt-get update && apt-get install cmake build-essential libgtk2.0-dev libglib2.0-dev gettext geany
+bzr branch lp:~per-lowgren/djynn/trunk /tmp/djynn
+mkdir /tmp/djynn/build && cd /tmp/djynn/build
 cmake ..
 make
-sudo make install</pre>
+sudo make install
+cd ../.. && rm -rf djynn
+exit
+</pre>
 
-<p>Restart Geany and you should be able to see Djynn in your Plugin Manager (see Tools menu).</p>
+<p>Restart Geany and you should be able to see Djynn in your Plugin Manager.</p>
 
-<p><img src="http://img11.imageshack.us/img11/9071/geanydjynnconfig.png" /></p>
+<p><img src="http://i.imgur.com/9yM89Cr.png" /></p>
+<!--p><img src="djynn-plugin-manager.png" /></p-->
 
-<p>Please, report any bugs!</p>
+<hr />
 
-<p>Suggestions on improvements are much welcome.</p>
+<p>Please, <a href="mailto:per.lowgren at gmail.com">report any bugs</a>!</p>
 
-<p>The Djynn plugin project can be found at
-<a href="http://code.google.com/p/libamanita/wiki/djynn" target="_blank">Google code</a>.</p>
+<p>The Djynn plugin project can be found at <a href="https://launchpad.net/djynn" target="_blank">Launchpad</a>.</p>



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list