Re: [Gimp-developer] plug-in observations/questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Steve Lipa <slipa@xxxxxxxxxxxx> writes:

> I have found by trial and error that if I don't have this xmlns:etc
> line pointing to the directory that the documentation is in, the help
> system simply does not work for me.  The approach I am using is the
> only one that I have been able to get to work. 
> 
> I think most plug-ins will be like mine, in that they will have
> built-in documentation, so it might make sense for the
> gimp-plugin-template to have an example of how to do it right.
> Failing that, I was hoping to do my plug-in right so people could
> use it as an example.   The other plug-ins I've looked at so far
> simply have not been any help.  

The example in the gimp-plugin-template is correct, works and it shows
how to install html files distributed with the plug-in. I don't
understand why you messed the template up so badly when all you had to
do was replacing "template" with the name of your plug-in and
providing a unique URL to identify the help domain registered by your
plug-in.

I will paste the gimp-help.xml from the gimp-plugin-template below and
explain once more what's going on:


The raw version:
----------------

<?xml version="1.0"?>
<gimp-help xmlns:template="http://developer.gimp.org/plug-in-template/help";>
  <help-item template:id="plug-in-template" ref="index.html" />
</gimp-help>


A commented version:
--------------------

<?xml version="1.0"?>

  The classic XML header, just keep it.

<gimp-help
  xmlns:template="http://developer.gimp.org/plug-in-template/help";>

  The toplevel element of each gimp-help.xml file is <gimp-help>.
  Here we define a namespace for the identifiers that we are going to
  register with the GIMP's help system. The namespace has the prefix
  "template", you should change this to the name of your plug-in,
  let's call it "foobar". The URI is _not_ pointing to any files on
  the world wide web. It's sole purpose is to provide a unique
  identifier. An identifier that is guaranteed not to be used by any
  other GIMP plug-in that registers help pages. The idea is that you
  use an address on your web-server, on your area of the web. You
  don't need to put any pages there, just make sure that it's a unique
  URI.

<help-item template:id="plug-in-template" ref="index.html" />

  Here we install a mapping from an ID to a HTML file. You will notice
  that id is defined in the "template" namespace defined above. So you
  will need to use "foobar:id" here instead. The identifier
  "plug-in-template" is mapped to the file "index.html". This filename
  is relative to the position of gimp-help.xml that we are reading
  right now.

  There could be more lines like the above if you want to install more
  help IDs.

</gimp-help>

  This closes the top-level element again.


An example
==========

So, assuming your plug-in is named "foobar", your gimp-help.xml would
look like this:

<?xml version="1.0"?>
<gimp-help xmlns:foobar="http://eos.ncsu.edu/plug-in-foobar/help";>
  <help-item foobar:id="plug-in-foobar" ref="index.html" />
</gimp-help>


I do hope this explanation clears things up. If you have further
questions, please ask them.

> In the good old days, users could install plug-ins in
> ~/.gimp-x.x/plug-ins.  Up until very recently, gimp-plugin-template
> (effectively) put plug-ins in ${prefix}/lib/gimp/2.0/plug-ins.  The
> latest CVS version doesn't. But if you say $(GIMP_LIBDIR) will put
> them in the right place then that's good enough for me!

The gimp-plugin-template Makefile installs the plug-in system-wide.
That's better then doing it for each user individually. But I will
look into adding a "user-install" make target that puts the plug-in
into the user's gimp directory. We need to make a 2.0.0 release of
gimp-plugin-template anyway. There are a few minor changes in CVS that
need to be released.


Sven

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux