Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-11

Please test this page

51 messages · 11 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Vincent Snijders
to Anthony Walter

2015-11-17 2:47 GMT+01:00 Anthony Walter :

Show quoted text 6 lines
Can I get a some people to test this Lazarus/Free Pascal documentation portal I've re-imagined? http://docs.getlazarus.org/

On first visit, the page doesn't show any documenation until you actually have used the drop down box in the right top.

Vincent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/04d42de3/attachment.html>

Reply by email

Anthony Walter
to Vincent Snijders

Right.

You can either select a package to peruse from the drop down on the right, or search for something using the search box in the top middle. I am working on a default page which will display help. That is, properties, methods, events link to the sidebar, search using the search box, select a package from the combo box, use the tabs to navigate a unit and so on.

The search box can be used find most stuff in the rtl, fcl, and lcl, but you need to type a partial identifier and submit using enter to see possible matches. Each time someone picks an item from a search its rank is increased and it moves further to the top of the list.

Regarding the normal help (
http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/tbitmap.html), AFAIK the it doesn't have a search index feature. For the creative search method is google search -> "identifier site:lazarus-ccr.sourceforge.net", and then it only searches the lcl package. To search rtl you need to use "identifier site:freepascal.org", and then you run into the problem that it isn't isolating the rtl documentation, it's searching the entire fpc site. Sure the IDE has F1, but that required you to be using the IDE and it only goes to a completed identifier, not a search able list of partial ones. -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/d5334e65/attachment.html>

Reply by email

Anthony Walter
to Anthony Walter

A few small improvements.

1) Search is now incremental. Whenever you type in the search area, after a short delay possible matches results will be displayed automatically. If you type some more, again after a short delay the matches will be updated.

2) The search box and results were moved 150px to the left, centering them a bit more given the size of the package combo box to the far right.

I'm adding a main page when no page is loaded, and am up for any suggestions to improve the layout and spacing of items. -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/3b55d895/attachment.html>

Reply by email

Ondrej Pokorny
to Anthony Walter: Can I get a some people to test this Lazarus/Free Pascal documentation portal I've…

The portal is very nice. I like the search especially.

What docs version are you using?

E.g.
http://docs.getlazarus.org/#lcl+comctrls+ttreenode.selectedindex#sidebar#empty does not reflect the docs in the trunk (I changed this page some days ago).

If you use trunk - maybe create a cron job to update the docs every midnight (?).
if you don't use trunk - maybe create the same portal for trunk?

Ondrej

Reply by email

Anthony Walter
to Ondrej Pokorny

Ondrej, I wrote a program to download the pages from the following urls:

procedure TDocumentationForm.ExecuteThread(Thread: TSimpleThread);
begin
  if not Thread.Terminated then
    DocLoadUrl(Thread, 'http://www.freepascal.org/docs-html/rtl/index.html'
, 'rtl');
  if not Thread.Terminated then
    DocLoadUrl(Thread, 'http://www.freepascal.org/docs-html/fcl/index.html'
, 'fcl');
  if not Thread.Terminated then
    DocLoadUrl(Thread, '
http://lazarus-ccr.sourceforge.net/docs/lcl/index.html' , 'lcl');
end;
And what this does is request the each of those three pages, then it
follows every possible link in each of those pages recursively. So to
answer your question, I am using the documentation at:

http://www.freepascal.org/docs-html/rtl
http://www.freepascal.org/docs-html/fcl
http://lazarus-ccr.sourceforge.net/docs/lcl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/c17de75a/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter: A few small improvements. 1) Search is now incremental. Whenever you type in the search…
Anthony Walter wrote 11 lines
A few small improvements. 1) Search is now incremental. Whenever you type in the search area, after a short delay possible matches results will be displayed automatically. If you type some more, again after a short delay the matches will be updated. 2) The search box and results were moved 150px to the left, centering them a bit more given the size of the package combo box to the far right. I'm adding a main page when no page is loaded, and am up for any suggestions to improve the layout and spacing of items.

At the very least, selecting a package from the dropdown should show the index page from that package. It doesn't work well in rekonq and Konqueror, but that was to be expected.

Other than that, very impressive. Nice styling, I like the frame-based approach.

Is the search technology available somewhere ? Am I correct in supposing it only searches identifiers ?

Michael.

Reply by email

Anthony Walter
to Michael Van Canneyt

Michael, regarding the Konqueror rendering, I posted this on the Lazaurs forums:

`I can only do so much given the source material of "table tbody tr td td td p span code &nbsp span p td td td tr tr td td td &nbsp p ... "`So yeah, table layout is bad but I'll deal with it the best I can.

Regarding the search, I have my own framework for websites that's been in github for a while. It's C# but I think it's really great. In a nutshell ...

http://pastebin.com/sjFCNpxb

Everything is pretty much optional, you can have:

[DefaultPage("home.html")] class HomePage : PageHandler {}

And that loads home.html. You can add programability with methods:

[MethodPage("hello")] public void Hello() { Write("Hello World"); }

And if you load http://yoursite.com/?method=hello, then the result is "Hello World". In reality you would use MethodPage for ajax calls, or stuff invoked dynamically on your webpage from javascript.

In this case I have a codesearch method, or in javascript ajax with jquery ... $.ajax('/?method=codesearch'). See
http://docs.getlazarus.org/scripts/home.js, in particular execute() and searchExecute().

Then there are templates, which look like this:

http://pastebin.com/vy1eKWbu

The magic there is the anonymous type built from SQL result rows and columns. Because it's an actual type, it can be used with my template system:

SearchItems = TemplateString.FormatObject(searchItems);

Where template string is simply:

<a class="searchResult" href="{Source}" target="main" onclick="searchSelect('{Path}')">
<span class="resultPath">{Bolden}</span>
<span class="resultKind">{Kind}</span>
<span class="resultDescription">{Description}</span> </a>

And you can nest templates (causes the above inserted as a child):

<div id="searchResults">{SearchItems}</div>

Further, you can add format specifiers in my template engine. i.e. {Bolden:10} to pad with spaces. You can use any type and any format specifiers, as long as they work with the actual type in C# (you can add your own format specifiers to C#).

Soon I'll post the whole project online and if anyone want to make improvements they can next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/51da0322/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote 6 lines
Michael, regarding the Konqueror rendering, I posted this on the Lazaurs forums: `I can only do so much given the source material of "table tbody tr td td td p span code &nbsp span p td td td tr tr td td td &nbsp p ... "`So yeah, table layout is bad but I'll deal with it the best I can.

The doc pages themselves render fine. It's the search box mechanism that does not work.

Regarding the search, I have my own framework for websites that's been in github for a while. It's C# but I think it's really great. In a nutshell ...

Just wanted to know if it would be usable for the docs on the FPC website. But C# is not an option. Thanks for the info !

Michael.

Reply by email

Anthony Walter
to Michael Van Canneyt

Michael, thanks for testing. I am running mono on Linux here, but I use my own hardware, so I have the option to do/user whatever I like.

If Konqueror is pooping on my stuff you can probably check the console and see if there is a javascript error. Perhaps I can fix it.

Oh and yes, I do restrict the "phrase" to an identifier. In the template code I pasted in my last message, at line #15

if (!phrase.IsIdentifier())
  return;

Reasoning, there is no page which isn't an identifier, so if I can eliminate a search before it hits the database, then I save unnecessary processor utilization.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/c4c44095/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote
Michael, thanks for testing. I am running mono on Linux here, but I use my own hardware, so I have the option to do/user whatever I like.

Your server responds IIS as the server in the headers. So you are running an IIS server on linux ? Interesting choice.

I can install whatever I want on the FPC server, but mono is not something I want to install.

It seems also strange to me that if you are going to code something yourself, that you decide to use C# in a project to promote Lazarus. FPC has a fair stack of web components, I use them professionally myself. Why not use that ?

Seeing you are running IIS:
if you are tempted, BTW, I have since years on my todo list: support for fcl-web as an ISAPI module.
I can't seem to get around to it.

In each case: many thanks for your efforts and the contributions to the community. It's a pleasure to see it!

Michael.

Reply by email

Anthony Walter
to Michael Van Canneyt: Your server responds IIS as the server in the headers. So you are running an IIS server…

Michael, I am running Linux for development, and the app runs locally on Apache and is does not connect to my server PC. When I deploy it goes to my server which is a Mac Mini re-purposed with Windows Server Core (it has no desktop, just a powershell window). So to be accurate, yes the site runs off Windows IIS, but in reality everything it's capable of running on Linux just fine, because that's where I develop.

Tangentially, the reason I use Windows/IIS in production is because I have a few asp classic sites I want to keep up and running, and a few sites where I need MS SQL.

Now regarding Lazarus on the web, oh no no no no. I mean I am sure it can do web development, but IMO it's completely the wrong tool for it. I love me some Desktop Lazarus, but it in no way can even come close to even asp classic, let alone php, ruby, or c#. Sorry.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/c4214225/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote 15 lines
Michael, I am running Linux for development, and the app runs locally on Apache and is does not connect to my server PC. When I deploy it goes to my server which is a Mac Mini re-purposed with Windows Server Core (it has no desktop, just a powershell window). So to be accurate, yes the site runs off Windows IIS, but in reality everything it's capable of running on Linux just fine, because that's where I develop. Tangentially, the reason I use Windows/IIS in production is because I have a few asp classic sites I want to keep up and running, and a few sites where I need MS SQL. Now regarding Lazarus on the web, oh no no no no. I mean I am sure it can do web development, but IMO it's completely the wrong tool for it. I love me some Desktop Lazarus, but it in no way can even come close to even asp classic, let alone php, ruby, or c#. Sorry.

What is missing, in your opinion ?

Michael.

Reply by email

Anthony Walter
to Michael Van Canneyt

Linux csharp:

http://cache.getlazarus.org/images/linux-csharp.png

What's missing? From my example ...

Scripting. There is something to be said for uncompiled deployment on the web. You just drop text in a folder and it goes. If you have an error, no problem no rebuild no worries. Just edit the text and save (everyone has a text editor). Ruby, php, classic asp, even C# all do it and it's great. Score 1 check

Language features like closures and anonymous types are especially advantageous in web development. Anonymous types makes binding to Sql results a lot easier, and closures are great for deferment of execution, allowing requests to be more efficiently handled by the server ( http://howtonode.org/why-use-closure).
Score 2 check

Better reflection leads and true single object for all types (even int and string and everything else), leads to a better templating system. Score 3 check

Attribute flags allow user defined meta data which can then make life easier. e.g. I flag [Template, Logged] on a page and the system knows to track statistics on that page and run it through a template evaluation before the page is returned.
Score 4 check

Stack traces. When something goes wrong, like an error in formatting a template, or an error in Sql, I know exactly where the problem occurred. This is because all errors print a clearly defined stack trace, with line numbers, file names, assemblies, and error messages. Plus it doesn't stop my executable/page. The error is displayed for 1 user and the site doesn't stop. I know you can use try/except in Pascal, but it's really ppor compared to other tools stack traces.
Score 5 check

I could go on all night and into the morning. It's not a knock on Lazarus/Free Pascal. Lazarus/Free Pascal excel on the desktop and even the server. But webpages, we gotta pick our battles and with webdev, Lazarus/Free Pascal will never stack up against those other tools. Move on. -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/8b11979a/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote 11 lines
Linux csharp: http://cache.getlazarus.org/images/linux-csharp.png What's missing? From my example ... Scripting. There is something to be said for uncompiled deployment on the web. You just drop text in a folder and it goes. If you have an error, no problem no rebuild no worries. Just edit the text and save (everyone has a text editor). Ruby, php, classic asp, even C# all do it and it's great. Score 1 check

This is in fact the only argument in my eyes.
All your other arguments can be equally applied to desktop or server apps. Why you think they apply for web only is a bit mysterious to me.

The stack trace argument is also somewhat weird, since I have a nice stack trace in my webpages if something goes wrong.

Well, no doubt you have your reasons.

OK. I thought you considered the web stack not good. No worries then :-)

Michael.

Reply by email

Mattias Gaertner
to Anthony Walter: Linux csharp: http://cache.getlazarus.org/images/linux-csharp.png What's missing? From my…
Show quoted text 11 lines
Linux csharp: http://cache.getlazarus.org/images/linux-csharp.png What's missing? From my example ... Scripting. There is something to be said for uncompiled deployment on the web. You just drop text in a folder and it goes. If you have an error, no problem no rebuild no worries. Just edit the text and save (everyone has a text editor). Ruby, php, classic asp, even C# all do it and it's great. Score 1 check

I use instantfpc to use FPC scripts in Apache.
Only downside is that it needs unique script names, so you need one cache directory per namespace. Not a big problem.

See here
http://wiki.freepascal.org/InstantFPC#Using_in_Apache

Mattias

Reply by email

Michael Van Canneyt
to Mattias Gaertner
Mattias Gaertner wrote 21 lines
On Tue, 17 Nov 2015 05:39:27 -0500 Anthony Walter wrote: > Linux csharp: > > http://cache.getlazarus.org/images/linux-csharp.png > > What's missing? From my example ... > > Scripting. There is something to be said for uncompiled deployment on the > web. You just drop text in a folder and it goes. If you have an error, no > problem no rebuild no worries. Just edit the text and save (everyone has a > text editor). Ruby, php, classic asp, even C# all do it and it's great. > Score 1 check I use instantfpc to use FPC scripts in Apache. Only downside is that it needs unique script names, so you need one cache directory per namespace. Not a big problem. See here http://wiki.freepascal.org/InstantFPC#Using_in_Apache

True. I had totally forgotten about this one :/

Michael.

Reply by email

Marco van de Voort
to Anthony Walter: Can I get a some people to test this Lazarus/Free Pascal documentation portal I've…
Anthony Walter wrote
Can I get a some people to test this Lazarus/Free Pascal documentation portal I've re-imagined? http://docs.getlazarus.org/

1 nothing shown default (as mentioned by Vincent)
2 (related to 1 It seems the page keeps some state too, selecting "RTL" won't do anything if it was the last (or default) choice. 3 if you select an unit there is no way to get back to the unitlist of the package.
4 the left pane is only used for classes docs. Either fold it away for procedural help or make use of it.
5 the left pane is not filled when first selecting a class. 6 (already reported on the web) the whole of it is too wide for my monitor (1080x1920 full-hdportrait) This means that the right content is wrapped by default. Declarations should never wrap, since that kills the whole overview.

Reply by email

Marco van de Voort
to Anthony Walter: Linux csharp: http://cache.getlazarus.org/images/linux-csharp.png What's missing? From my…
Anthony Walter wrote 5 lines
Scripting. There is something to be said for uncompiled deployment on the web. You just drop text in a folder and it goes. If you have an error, no problem no rebuild no worries. Just edit the text and save (everyone has a text editor). Ruby, php, classic asp, even C# all do it and it's great. Score 1 check

Any website that is not readonly will first deploy to an internal testserver. Most companies do not authorize direct editing of webcontent.

Moreover, in this case the content is wholly generated, so manual editing (except to search modules code, but usually those are external) is not needed anyway.

C# does not. It requires a compiling daemon in the background (ASP.NET, integrated with IIS), and there is no reason why you could do this with FPC.

With coming packages support that would be even more modular. And most Delphi based web packages already integrate some form of templating, often with basic scripting, so usually changes to non business code do not require compile +restart. (though in most cases that will be limited to emergency minor css and textual changes to improve appearance)

I'm not saying that Delphi is ideal for webdevelopment, but just because the web stuff is not default, and people only see some minor cgi tooling, that doesn't mean it doesn't exist. In reality the difference in practice is a lot smaller.

And the usual deployment limits also apply to third party csharp packages, so that is not a benefit either. (most affordable hosting is not MS based)

Show quoted text 6 lines
Language features like closures and anonymous types are especially advantageous in web development. Anonymous types makes binding to Sql results a lot easier, and closures are great for deferment of execution, allowing requests to be more efficiently handled by the server ( http://howtonode.org/why-use-closure). Score 2 check

If you manually connect with SQL, but most frameworks already handle that.

Better reflection leads and true single object for all types (even int and string and everything else), leads to a better templating system. Score 3 check

Modern delphi has full introspection. Usually that is enough, and reflection (as in modifying RTTI) is not that good a feature IMHO.

I never used it though because I did webdevelopment in D6. Not that I missed it, the framework just provided everything you needed, and the objects were abstractly defined and appropriate code was generated (including introspection, and reflection if you would have liked it). Library based instead of language based, but for the benefit of writing business code it was the same.

Stack traces. When something goes wrong, like an error in formatting a template, or an error in Sql, I know exactly where the problem occurred.

Same in any sane Delphi webframework. Anything not fatal didn't kill it either, and fatal ones were really rare.

I could go on all night and into the morning. It's not a knock on Lazarus/Free Pascal. Lazarus/Free Pascal excel on the desktop and even the server. But webpages, we gotta pick our battles and with webdev, Lazarus/Free Pascal will never stack up against those other tools. Move on.

Maybe you should actually that I wouldn't use FPC/Delphi for webdevelopment now either, but that is more a management decision, not technical, as nearly all your reasons are false for the most.

The only exception is for relative minor webdevelopment integrating with a major Delphi service. There would be no point in making it a multi language project.

Reply by email

Anthony Walter
to Marco van de Voort: 1 nothing shown default (as mentioned by Vincent) 2 (related to 1 It seems the page keeps…

Okay I fixed issue 2 & 3. Now clicking on the package box again reloads the package reference. Regarding going back to an item, the browser back button can be used, so that's an option as well as clicking the package box again.

What do you think about adding a close button to the sidebar and only displaying it again when a types pme navigation items are click? -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/c82f19f1/attachment.html>

Reply by email

Ondrej Pokorny
to Anthony Walter: Ondrej, I wrote a program to download the pages from the following urls: procedure…

I don't know about RTL and FCL but the LCL docs in http://lazarus-ccr.sourceforge.net/docs/lcl/index.html are terribly outdated.

For example see the page:
http://lazarus-ccr.sourceforge.net/docs/lcl/controls/twincontrol.canfocus.html It has definitely not been updated since revision 36803 (April 16th, 2012)!!!

Dou you think you could generate the HTML docs directly from the sources? Maybe one portal from the latest stable release and one portal from the trunk?

Otherwise your documentation portal is as useless as http://lazarus-ccr.sourceforge.net/docs/lcl/index.html :(

Ondrej

Reply by email

Marco van de Voort
to Anthony Walter: Okay I fixed issue 2 & 3. Now clicking on the package box again reloads the package…
Anthony Walter wrote
Okay I fixed issue 2 & 3. Now clicking on the package box again reloads the package reference. Regarding going back to an item, the browser back button can be used, so that's an option as well as clicking the package box again.

Back is only an option if you just looked. You might be 16-level deep, and then it is a nuisance.

Yes, you can get back via package, but IMHO this is not really elegant.

What do you think about adding a close button to the sidebar and only displaying it again when a types pme navigation items are click?

Yes. In general it should be adaptable depending on width and what to display.

Note that I think this is all academical, since a csharp backend is simply not acceptable for a project with *nix servers and ditto admin skills. a
The trend is towards less external tools and suites (and thus needed management skills), not more.

Reply by email

Marco van de Voort
to Ondrej Pokorny: I don't know about RTL and FCL but the LCL docs in…
Ondrej Pokorny wrote
I don't know about RTL and FCL but the LCL docs in http://lazarus-ccr.sourceforge.net/docs/lcl/index.html are terribly outdated.

Is that the case for the current release cycle? Keep in mind that the online docs reflect release, not trunk status.

Dou you think you could generate the HTML docs directly from the sources? Maybe one portal from the latest stable release and one portal from the trunk?

This already happens, though the sites need to be updated manually (but that is like tar xvf somearchive after the release)

Otherwise your documentation portal is as useless as http://lazarus-ccr.sourceforge.net/docs/lcl/index.html :(

I do think the absense of any version or date is annoying, and a webdevelopment faux pas.

Reply by email

Ondrej Pokorny
to Marco van de Voort
Marco van de Voort wrote
Is that the case for the current release cycle? Keep in mind that the online docs reflect release, not trunk status.

Yes. I gave you the example of
http://lazarus-ccr.sourceforge.net/docs/lcl/controls/twincontrol.canfocus.html
- it hasn't been updated since (at least) April 16th, 2012. You can check the revision 36803 in Lazarus trunk - the changes are not reflected in the web page.

I do think the absense of any version or date is annoying, and a webdevelopment faux pas.

+ 1

Ondrej

Reply by email

Marco van de Voort
to Ondrej Pokorny
Ondrej Pokorny wrote 9 lines
On 17.11.2015 17:39, Marco van de Voort wrote: > Is that the case for the current release cycle? Keep in mind that the > online docs reflect release, not trunk status. Yes. I gave you the example of http://lazarus-ccr.sourceforge.net/docs/lcl/controls/twincontrol.canfocus.html - it hasn't been updated since (at least) April 16th, 2012. You can check the revision 36803 in Lazarus trunk - the changes are not reflected in the web page.

Ah, ok I was looking at the signature, not the text.

The text that I have in the CHMs is

"A control can get the focus only when
all of its Parents except the form are Visible and Enabled. While CanFocus checks all control parents it does not check whether a form control is placed on can have focus."

Those are from last january, my guess is that they are of trunk.

As said, the documentation tool generates latex (->PDF), html and chm and some other lesser used formats. But you do need to upload the html to the webpage once per release.

Reply by email

Ondrej Pokorny
to Marco van de Voort
Marco van de Voort wrote
Those are from last january, my guess is that they are of trunk.

Either me or you look wrongly. When I show the log for docs/xml/lcl/controls.xml I don't see any modification from last January.

I see this:

The text was changed in revision 36803:

Index: controls.xml
=================================================================== --- controls.xml (revision 36802)
+++ controls.xml (revision 36803)
@@ -11143,9 +11143,8 @@
<!-- function Visibility: public -->
<element name="TWinControl.CanFocus">
<short>Is this control allowed to receive the focus?</short>
- <descr>A control can get the focus only when all of its Parents
- are Visible and Enabled.
- </descr>
+ <descr>A control can get the focus only when all of its Parents except the form are Visible and Enabled.
+While CanFocus checks all control parents it does not check whether a form control is placed on can have focus.</descr>
<errors/>
<seealso/>
</element>

See more information in the assigned bug report:
http://mantis.freepascal.org/view.php?id=0021708

Ondrej

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/b1e9c6fb/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: hghfbbjh.png
Type: image/png
Size: 34880 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/b1e9c6fb/attachment-0001.png>

Reply by email

Anthony Walter
to Ondrej Pokorny

Updates

http://cache.getlazarus.org/video/pasdoc-keyboard.mp4

Changes:

Now you can use keyboard navigation in the search field exclusively The up/down keys changes the selected row
The enter key selects an item or redisplays the results The escape key clears the search

Sidebar is now off by default
Clicking an type's property/method/event items brings up the sidebar Sidebar now has a close button
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151117/f4ca3f11/attachment.html>

Reply by email

Anthony Walter
to Anthony Walter

More Updates

A default main page has been added
Code type faces now use the Inconsolata web font
Incremental search latency reduced by 50%
Properties, methods, and events in the side bar without an anchor element are now suppressed
Other minor color, font, and size layout changes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151118/cefefe20/attachment.html>

Reply by email

ListMember
to Anthony Walter: Can I get a some people to test this Lazarus/Free Pascal documentation portal I've…
Anthony Walter wrote 5 lines
Can I get a some people to test this Lazarus/Free Pascal documentation portal I've re-imagined? http://docs.getlazarus.org/

I have tried this link with Firefox, PaleMoon, Chrome and IE under Win10 x64

http://docs.getlazarus.org/rtl/index-8.html

Scrollbars (vertical and horizontal, both) are gone. MouseWheel does not work either.

The only means to read past the first page is using PgUp/PgDn.

BTW, this is not the only page that exhibits this behavior. It seems to be a design issue.

Could you please look into it.

Thank you.

Reply by email

Anthony Walter
to ListMember: I have tried this link with Firefox, PaleMoon, Chrome and IE under Win10 x64…

You are viewing the page directly, bypassing the iframes. The correct page is:

http://docs.getlazarus.org/#rtl+index-8

The issue is you either right clicked a link and said open in new window, you typed the wrong url in the browser, or you followed a link someone posted which bypasses the iframe.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151118/1721b176/attachment.html>

Reply by email

ListMember
to Anthony Walter
Anthony Walter wrote
Okay, just FYI I fixed it so that if you directly link to the page, the browser will be able to handle it anyways.

I hadn't gone to a direct link. IIRC, I had clicked on 'Index' after selecting a class (which was TPersist [sic])

Anyway, it works now --albeit in a quirky way: It doesn't show scrollbars at first, then it refreshes/resets the page and then scrollbars show up.

Weird, but it works.

One more thing: Shouldn't it update the search text once I have selected the one from the auto-complete listbox?

Reply by email

Anthony Walter
to ListMember

ListMember, does it do that quirk with every page you select? If so then there is a bug where each link is trying to load on the top window instead of the frame. If that's the case try a different brwoser and tell me if it's still happens.

With regards to updating the text input with the selected item, I decided against doing that in that you're not trying to complete the text, rather search for something. That is, you can stay in the input, press enter, and pick various different item matching your original criteria leading you to refine search yourself instead of ending the search with an arbitrary match you may have wrongly picked.

Thanks for the feedback.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151118/b702807e/attachment.html>

Reply by email

Unknown author
to Anthony Walter: You are viewing the page directly, bypassing the iframes. The correct page is:…
Anthony Walter wrote 7 lines
You are viewing the page directly, bypassing the iframes. The correct page is: http://docs.getlazarus.org/#rtl+index-8 The issue is you either right clicked a link and said open in new window, you typed the wrong url in the browser, or you followed a link someone posted which bypasses the iframe.

FWIW: the protections i use explicitly block/filter iframes... iframes are really bad juju as they can easily lead to infestations with no clue as to their origination...

NOTE: No off-list assistance is given without prior approval. *Please keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

Anthony Walter
to Unknown author

I am still getting

Writing 17978 pages...
Exception at 00000000004BEEEC: EDOMError:
EDOMError in DOMDocument.CreateElement.

When attempting to create the lcl docs from trunk. Either using fpdoc on the command line or with build_lcl_docs.

Using fpdoc with rtl and fcl worked fine.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151118/31098ab5/attachment-0001.html>

Reply by email

ListMember
to Anthony Walter: ListMember, does it do that quirk with every page you select? If so then there is a bug…
Anthony Walter wrote
ListMember, does it do that quirk with every page you select? If so then there is a bug where each link is trying to load on the top window instead of the frame. If that's the case try a different brwoser and tell me if it's still happens.

These are the steps I have performed with each browser. ==========================================

1) Got to http://docs.getlazarus.org/
2) Write 'TPersist' and select from the dropdown list
3) Click 'Overview', 'Classes', 'Types' etc. on the orange bar at the top.

Here is what happens with each browser
==========================================

-- Chromium 16.0.877.0 (Developer Build 100581 Windows)
1) Works
2) Shows nothing below the line with text "Base class for streaming system and persistent properties."
3) None of these are available for click. All grayed/disabled.

-- IE 11 11.0.25
1) Works
2) Works.
3) Shows blank page (except for 'Search' bar at the top) so test wasn't performed.

-- PaleMoon 25.8.0 (x64)
1) Works
2) Works
3) Works but does a self-refresh to show scrollbars.

-- Waterfox 40.1.0 (x64)
1) Works
2) Works
3) Works but does a self-refresh to show scrollbars.

-- Firefox 42.0
1) Works
2) Works
3) Works but does a self-refresh to show scrollbars.

Show quoted text 6 lines
With regards to updating the text input with the selected item, I decided against doing that in that you're not trying to complete the text, rather search for something. That is, you can stay in the input, press enter, and pick various different item matching your original criteria leading you to refine search yourself instead of ending the search with an arbitrary match you may have wrongly picked.

If I type something in the text input and pressed Enter (without selecting an item from the suggested list), I'd --of course-- expect it to not update the text input with anything.

But, if I have selected an item from the list, I'd expect it to update the text item.

Obviously, this is not a deal breaker, but it is, IME, industry practice.

Reply by email

Anthony Walter
to ListMember

Update

I rebuilt rtl, fcl, and lcl the documentation to using the most current sources. I'll follow up with some statistics shortly.

An interesting observation, there are now class trees for fcl, and lcl packages. Also class trees now display display hyperlinks. The layout could be improved, I notice TObject, TPersistent, and TComponent repeated over and over again, classes from other packages aren't linked, and it would be nice if you could expand/collapse the hierarchy nodes.

Class hierarchy:

http://docs.getlazarus.org/#lcl+index-9#

ListMember, thank you for the extensive testing. I'm not sure why you're having these problems. I'l test on a few more computers here and get back to you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151118/5a25ecdb/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote 10 lines
Update I rebuilt rtl, fcl, and lcl the documentation to using the most current sources. I'll follow up with some statistics shortly. An interesting observation, there are now class trees for fcl, and lcl packages. Also class trees now display display hyperlinks. The layout could be improved, I notice TObject, TPersistent, and TComponent repeated over and over again, classes from other packages aren't linked, and it would be nice if you could expand/collapse the hierarchy nodes.

The bug with TObject, TPersistent, and TComponent is already fixed.

Collapse/expand: normally this should function, see the following code in index-9.html

<title>Class hierarchy</title>
<script>function expandorcollapse (o) {

   o.className = (o.className=="toggletreeclose") ? "toggletreeopen" : "toggletreeclose";
   o.parentNode.className = (o.className=="toggletreeclose") ? "classtree" : "classtreeclosed";
   return false;

}</script>
<link rel="stylesheet" href="fpdoc.css" type="text/css">

that means that
a) the used style names must be preserved
b) they should be in the fpdoc.css file you use.

Michael.

Reply by email

Michael Van Canneyt
to Anthony Walter
Anthony Walter wrote
None of the css files I have (I checked out from trunk Today) have any of on those class names. This is all they have: http://pastebin.com/8arCt9gn

the file fpdoc.cst in docs has it.

You need this:

span.toggletreeclose {
     background: url(minus.png) center left no-repeat;
     padding-left: 20px;
}
span.toggletreeopen {
     background: url(plus.png) center left no-repeat;
     padding-left: 20px;
}

ul.classtreelist li { padding-left: 0px; }

ul.classtreelist { list-style-type:none; }

li.classtree ul { display: block; }

li.classtreeclosed ul { display: none; }

But I just noticed that the file in utils/fpdoc does not have it. I added it. Revision 32360.

Also, where is the Object, TPersistent, and TComponent thing fixed? Again I am using trunk sources.

It should be fixed in trunk. There was even a bugreport about it by Graeme Geldenhuys.

Michael.

Reply by email

Anthony Walter
to Michael Van Canneyt

Thanks Michael. I was able to discern and add the CSS before you responded. Can you confirm for me the svn repository url we are talking about?

On Thu, Nov 19, 2015 at 3:54 AM, Michael Van Canneyt <

Show quoted text 53 lines
wrote: On Thu, 19 Nov 2015, Anthony Walter wrote: None of the css files I have (I checked out from trunk Today) have any of > on those class names. This is all they have: > > http://pastebin.com/8arCt9gn > the file fpdoc.cst in docs has it. You need this: span.toggletreeclose { background: url(minus.png) center left no-repeat; padding-left: 20px; } span.toggletreeopen { background: url(plus.png) center left no-repeat; padding-left: 20px; } ul.classtreelist li { padding-left: 0px; } ul.classtreelist { list-style-type:none; } li.classtree ul { display: block; } li.classtreeclosed ul { display: none; } But I just noticed that the file in utils/fpdoc does not have it. I added it. Revision 32360. Also, where is the Object, TPersistent, and TComponent thing fixed? Again I > am using trunk sources. > > It should be fixed in trunk. There was even a bugreport about it by Graeme Geldenhuys. Michael. -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151119/dc24364f/attachment.html>

Reply by email

Frederic Da Vitoria
to ListMember: These are the steps I have performed with each browser.…

2015-11-19 2:38 GMT+01:00 ListMember :

Show quoted text 37 lines
These are the steps I have performed with each browser. ========================================== 1) Got to http://docs.getlazarus.org/ 2) Write 'TPersist' and select from the dropdown list 3) Click 'Overview', 'Classes', 'Types' etc. on the orange bar at the top. Here is what happens with each browser ========================================== -- Chromium 16.0.877.0 (Developer Build 100581 Windows) 1) Works 2) Shows nothing below the line with text "Base class for streaming system and persistent properties." 3) None of these are available for click. All grayed/disabled. -- IE 11 11.0.25 1) Works 2) Works. 3) Shows blank page (except for 'Search' bar at the top) so test wasn't performed. -- PaleMoon 25.8.0 (x64) 1) Works 2) Works 3) Works but does a self-refresh to show scrollbars. -- Waterfox 40.1.0 (x64) 1) Works 2) Works 3) Works but does a self-refresh to show scrollbars. -- Firefox 42.0 1) Works 2) Works 3) Works but does a self-refresh to show scrollbars.

FWIW, I tested on my Windows 7 64 bits

-- Chromium Portable 43.0.2357.18 64-bit
3) No self-refresh.

-- IE 11 11.0.9600.18059
3) Clicking on any menu item clears the menu and gives a blank page.

-- Firefox 42.0
3) No self-refresh.

Frederic Da Vitoria (davitof) Membre de l'April - ? promouvoir et d?fendre le logiciel libre ? - http://www.april.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151119/e2296a80/attachment.html>

Reply by email

Michael Van Canneyt
to Anthony Walter: Thanks Michael. I was able to discern and add the CSS before you responded. Can you…
Anthony Walter wrote
Thanks Michael. I was able to discern and add the CSS before you responded. Can you confirm for me the svn repository url we are talking about?

http://svn.freepascal.org/svn/fpc/trunk/utils/fpdoc

and

http://svn.freepascal.org/svn/fpcdocs/trunk/

Michael.

Show quoted text 56 lines
On Thu, Nov 19, 2015 at 3:54 AM, Michael Van Canneyt < > wrote: > > > On Thu, 19 Nov 2015, Anthony Walter wrote: > > None of the css files I have (I checked out from trunk Today) have any of >> on those class names. This is all they have: >> >> http://pastebin.com/8arCt9gn >> > > the file fpdoc.cst in docs has it. > > You need this: > > span.toggletreeclose { > background: url(minus.png) center left no-repeat; > padding-left: 20px; > } > span.toggletreeopen { > background: url(plus.png) center left no-repeat; > padding-left: 20px; > } > > ul.classtreelist li { padding-left: 0px; } > > ul.classtreelist { list-style-type:none; } > > li.classtree ul { display: block; } > > li.classtreeclosed ul { display: none; } > > But I just noticed that the file in utils/fpdoc does not have it. I added > it. > Revision 32360. > > Also, where is the Object, TPersistent, and TComponent thing fixed? Again I >> am using trunk sources. >> >> > It should be fixed in trunk. There was even a bugreport about it by Graeme > Geldenhuys. > > > Michael. > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus >

Reply by email

Frederic Da Vitoria
to Anthony Walter

2015-11-19 12:13 GMT+01:00 Anthony Walter :

Frederic, I made a minor correction. Can you try on IE11 again?

Minor correction but big results :-) It works now. So that I can now tell that I don't see any refresh in IE either, not even on "Index".

Frederic Da Vitoria (davitof) Membre de l'April - ? promouvoir et d?fendre le logiciel libre ? - http://www.april.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151119/298e0237/attachment.html>

Reply by email

Anthony Walter
to Frederic Da Vitoria

I was just a minor change to the javascript.

Frederic Da Vitoria wrote 22 lines
2015-11-19 12:13 GMT+01:00 Anthony Walter : > Frederic, I made a minor correction. Can you try on IE11 again? > Minor correction but big results :-) It works now. So that I can now tell that I don't see any refresh in IE either, not even on "Index". -- Frederic Da Vitoria (davitof) Membre de l'April - ? promouvoir et d?fendre le logiciel libre ? - http://www.april.org -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151119/0769482a/attachment.html>

Reply by email