swiki source suited to recent Squeaks

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

swiki source suited to recent Squeaks

timrowledge
I swear I've asked this before but a quick google didn't find anything, so forgive any duplication.

Do we have a swiki package suited to recent (preferably current ) Squeak? The only trace I see evidence of is a very, very, old package in squeakmap, intended for 3.6 with KomService & KommHTTPServer. Surely there is something newer than 2005 out there?


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Littergators resolve disputes about rubbish



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Edgar J. De Cleene-3
The short aswer is Chis modified old code for swiki and now runs in newer as
3.6.
The question is:
What you wish ?
If you wish run your own swiki I could made a 5.2 64 bit version of
squearos.org , which is my living playground where I daily synch with real
swiki and and all my stuff.
Is VERY customizable with external html5,js,css and now with wasm.

User of squearos.org is visita without pass

The box wich serves squeakros.org is a old Pentium IV with Ubuntu Mate 16
some shrinked.


Edgar
@morplenauta





Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
Hi Edgar,

> On 2019-07-18, at 3:01 AM, Edgar J. De Cleene <[hidden email]> wrote:
>
> The short aswer is Chis modified old code for swiki and now runs in newer as
> 3.6.
> The question is:
> What you wish ?

I'd like to have a local swiki; nothing more complex than that.

Ideally we would have one that could run off the WebServer already in-image, but one based on Seaside would be fine too.

> If you wish run your own swiki I could made a 5.2 64 bit version of
> squearos.org , which is my living playground where I daily synch with real
> swiki and and all my stuff.
> Is VERY customizable with external html5,js,css and now with wasm.
>
> User of squearos.org is visita without pass

Sounds interesting


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
"My name is Inigo Montoya. You killed my parent process. Prepare to vi!"



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
In reply to this post by Edgar J. De Cleene-3
Just for future reference - Edgar was referring to www.squeakros.org, not www.squearos.org ....

> On 2019-07-18, at 3:01 AM, Edgar J. De Cleene <[hidden email]> wrote:
>
> The short aswer is Chis modified old code for swiki and now runs in newer as
> 3.6.
> The question is:
> What you wish ?
> If you wish run your own swiki I could made a 5.2 64 bit version of
> squearos.org , which is my living playground where I daily synch with real
> swiki and and all my stuff.
> Is VERY customizable with external html5,js,css and now with wasm.
>
> User of squearos.org is visita without pass
>
> The box wich serves squeakros.org is a old Pentium IV with Ubuntu Mate 16
> some shrinked.
>
>
> Edgar
> @morplenauta
>
>
>
>
>
>


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Hypnotized as a child and couldn't be woken.



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Edgar J. De Cleene-3
In reply to this post by timrowledge



On 18/07/2019, 14:04, "tim Rowledge" <[hidden email]> wrote:

> Hi Edgar,

> On 2019-07-18, at 3:01 AM, Edgar J. De Cleene
> <[hidden email]> wrote:
>
> The short aswer is Chis modified old code
> for swiki and now runs in newer as
> 3.6.
> The question is:
> What you wish
> ?

I'd like to have a local swiki; nothing more complex than that.

Ideally
> we would have one that could run off the WebServer already in-image, but one
> based on Seaside would be fine too.

> If you wish run your own swiki I could
> made a 5.2 64 bit version of
> squearos.org , which is my living playground
> where I daily synch with real
> swiki and and all my stuff.
> Is VERY
> customizable with external html5,js,css and now with wasm.
>
> User of
> squearos.org is visita without pass

Sounds interesting


tim
--
tim Rowledge;
> [hidden email]; http://www.rowledge.org/tim
"My name is Inigo Montoya. You
> killed my parent process. Prepare to vi!"




I remove some of current .image running http://www.squeakros.org for only
related to squeak , no s8 no my stuff and no wasm

Some notes here
http://190.193.252.204:9090/renderMe:Friendly%20Swiki

I limit the sycnh to 1 January 2018
Some picts
http://squeakros.org/Screen%20Shot%202019-07-19%20at%2009.41.51.jpg
http://squeakros.org/Screen%20Shot%202019-07-19%20at%2009.43.22.jpg

"app" Mac directory was zipped and transfer to Linux box
Some tweaks and run well


Edgar
@morplenauta



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.

I found Ramon Leon's old tutorial based (I think) on Seaside 2 and managed to update the code to make a very (very) basic swiki page. All I really need on top of this is a parser for some variety of simple markup-to-html; I don't care much whether it is 'traditional' swiki or MarkDown etc.

Does anyone have a pointer to something suitable? Surely the code for the main swiki is actually out there somewhere?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: PMT: Punch Magnetic Tape



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge


> On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>
> So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
[snip]
Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
(Installer ss3)
        project: 'SqueakServices';
        install: 'Swiki'.
... but it isn't there any more and I couldn't find anything that looked like it.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Chris Cunnington-4
SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator). 

Chris 

[1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki

On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:



On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:

So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
[snip]
Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
(Installer ss3)
project: 'SqueakServices';
install: 'Swiki'.
... but it isn't there any more and I couldn't find anything that looked like it.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.






Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Levente Uzonyi
Actually, the SmaCC runtime (SmaCC package) still loads. It's just that
the dev tools package (SmaCCDev) needs some changes to be up-to-date.
So, if you have an existing SmaCC-based parser, it probably still works.

The Xtreams-Parsing package has PEGWikiGenerator, which converts some wiki
syntax to xhtml. It uses monty's XML parser, which is a highly extended
version of XML-Parser, but it's not backwards compatible with Squeak's
version. It loads cleanly into the image, and its 5000+ tests all pass.
If you don't use the XML-Parser package, loading Xtreams with Metacello
will cause no problems for you.

Another option, as you wrote, is to create a Squeak-compatible PEGActor
to generate the html. It should be fairly easy using the PEGWikiGenerator
class.

Levente

On Sun, 4 Aug 2019, Chris Cunnington wrote:

> SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator). 
> Chris 
>
> [1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki
>
>       On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:
>
>
>
>       On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>
>       So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
>
> [snip]
> Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
> (Installer ss3)
> project: 'SqueakServices';
> install: 'Swiki'.
> ... but it isn't there any more and I couldn't find anything that looked like it.
>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
Well after trying to look into the sources delivered from the code.google page with no luck I found the SqueakSource repository version. That seems to have loaded ok but references a class XMLString that I have had no success in finding and is of course Undeclared. Anyone know where it can be found?

> On 2019-08-04, at 7:48 PM, Levente Uzonyi <[hidden email]> wrote:
>
> Actually, the SmaCC runtime (SmaCC package) still loads. It's just that the dev tools package (SmaCCDev) needs some changes to be up-to-date.
> So, if you have an existing SmaCC-based parser, it probably still works.
>
> The Xtreams-Parsing package has PEGWikiGenerator, which converts some wiki syntax to xhtml. It uses monty's XML parser, which is a highly extended version of XML-Parser, but it's not backwards compatible with Squeak's version. It loads cleanly into the image, and its 5000+ tests all pass.
> If you don't use the XML-Parser package, loading Xtreams with Metacello will cause no problems for you.
>
> Another option, as you wrote, is to create a Squeak-compatible PEGActor to generate the html. It should be fairly easy using the PEGWikiGenerator class.
>
> Levente
>
> On Sun, 4 Aug 2019, Chris Cunnington wrote:
>
>> SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator).
>> Chris
>> [1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki
>>
>>      On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:
>>
>>      On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>>
>>      So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
>> [snip]
>> Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
>> (Installer ss3)
>> project: 'SqueakServices';
>> install: 'Swiki'.
>> ... but it isn't there any more and I couldn't find anything that looked like it.
>> tim
>> --
>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>> Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.
>


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Do files get embarrassed when they get unzipped?



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Levente Uzonyi
On Mon, 5 Aug 2019, tim Rowledge wrote:

> Well after trying to look into the sources delivered from the code.google page with no luck I found the SqueakSource repository version. That seems to have loaded ok but references a class XMLString that I have had no success in finding and is of course Undeclared. Anyone know where it can be found?

That's why Xtreams should be loaded via Metacello, so that all
dependencies are loaded along with it.
Metacello will load monty's version of XML-Parser, which contains the
XMLString class (which is still not backwards compatible, so if you
need XML for anything else, then you'll have to write a new actor to
generate html, but the parser will still be fine as-is).
Here's how to do that:

1. Install Metacello from the Docking Bar's Tools menu's Metacello entry
2. Evaluate (Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load

Levente

P.S.: The actual problem is that people had started to make projects Pharo
compatible on squeaksource, often by breaking Squeak compatibility (e.g.
SmaCC, and partially Xtreams), and later moved on to smalltalkhub/github,
leaving the broken (from both Squeak's and Pharo's POV) code rot on
squeaksource.

>
>> On 2019-08-04, at 7:48 PM, Levente Uzonyi <[hidden email]> wrote:
>>
>> Actually, the SmaCC runtime (SmaCC package) still loads. It's just that the dev tools package (SmaCCDev) needs some changes to be up-to-date.
>> So, if you have an existing SmaCC-based parser, it probably still works.
>>
>> The Xtreams-Parsing package has PEGWikiGenerator, which converts some wiki syntax to xhtml. It uses monty's XML parser, which is a highly extended version of XML-Parser, but it's not backwards compatible with Squeak's version. It loads cleanly into the image, and its 5000+ tests all pass.
>> If you don't use the XML-Parser package, loading Xtreams with Metacello will cause no problems for you.
>>
>> Another option, as you wrote, is to create a Squeak-compatible PEGActor to generate the html. It should be fairly easy using the PEGWikiGenerator class.
>>
>> Levente
>>
>> On Sun, 4 Aug 2019, Chris Cunnington wrote:
>>
>>> SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator).
>>> Chris
>>> [1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki
>>>
>>>      On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:
>>>
>>>      On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>>>
>>>      So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
>>> [snip]
>>> Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
>>> (Installer ss3)
>>> project: 'SqueakServices';
>>> install: 'Swiki'.
>>> ... but it isn't there any more and I couldn't find anything that looked like it.
>>> tim
>>> --
>>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>>> Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.
>>
>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Do files get embarrassed when they get unzipped?

Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Chris Cunnington-4


> On Aug 5, 2019, at 10:37 PM, Levente Uzonyi <[hidden email]> wrote:
>
> On Mon, 5 Aug 2019, tim Rowledge wrote:
>
>> Well after trying to look into the sources delivered from the code.google page with no luck I found the SqueakSource repository version. That seems to have loaded ok but references a class XMLString that I have had no success in finding and is of course Undeclared. Anyone know where it can be found?
>
> That's why Xtreams should be loaded via Metacello, so that all dependencies are loaded along with it.
> Metacello will load monty's version of XML-Parser, which contains the XMLString class (which is still not backwards compatible, so if you need XML for anything else, then you'll have to write a new actor to generate html, but the parser will still be fine as-is).
> Here's how to do that:
>
> 1. Install Metacello from the Docking Bar's Tools menu's Metacello entry

At the risk of being a petty, corrector kind of guy, and because I just tried this out, it’s the Do menu and Installer ensureRecentMetacello. I think I recall a some what long debate about adding this. It’s clearly quite valuable.

Evaluate this first:

Installer ss
       project: 'MetacelloRepository';
       install: 'ConfigurationOfXtreams’.

And then this:

> 2. Evaluate (Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load

Or it will complain it has no knowledge of a ConfigurationOfXtreams.

I’m pleased to see that PEGWikiGenerator. Sean did a great thing there, because it’s a nice concrete example without having to fish around in VW. There are two other actor subclasses but the are sort of recursive and trippy. Parsers making parsers making parsers and so on.

Chris

Anthrax - Got The Time
https://www.youtube.com/watch?v=be7iNHw8QoQ


> Levente
>
> P.S.: The actual problem is that people had started to make projects Pharo compatible on squeaksource, often by breaking Squeak compatibility (e.g. SmaCC, and partially Xtreams), and later moved on to smalltalkhub/github, leaving the broken (from both Squeak's and Pharo's POV) code rot on squeaksource.
>
>>
>>> On 2019-08-04, at 7:48 PM, Levente Uzonyi <[hidden email]> wrote:
>>> Actually, the SmaCC runtime (SmaCC package) still loads. It's just that the dev tools package (SmaCCDev) needs some changes to be up-to-date.
>>> So, if you have an existing SmaCC-based parser, it probably still works.
>>> The Xtreams-Parsing package has PEGWikiGenerator, which converts some wiki syntax to xhtml. It uses monty's XML parser, which is a highly extended version of XML-Parser, but it's not backwards compatible with Squeak's version. It loads cleanly into the image, and its 5000+ tests all pass.
>>> If you don't use the XML-Parser package, loading Xtreams with Metacello will cause no problems for you.
>>> Another option, as you wrote, is to create a Squeak-compatible PEGActor to generate the html. It should be fairly easy using the PEGWikiGenerator class.
>>> Levente
>>> On Sun, 4 Aug 2019, Chris Cunnington wrote:
>>>> SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator). Chris [1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki
>>>>
>>>>     On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:
>>>>
>>>>     On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>>>>
>>>>     So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
>>>> [snip]
>>>> Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
>>>> (Installer ss3)
>>>> project: 'SqueakServices';
>>>> install: 'Swiki'.
>>>> ... but it isn't there any more and I couldn't find anything that looked like it.
>>>> tim
>>>> --
>>>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>>>> Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.
>>
>>
>> tim
>> --
>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>> Do files get embarrassed when they get unzipped?
>


Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
OK, so allowing metacello to do its thing loaded up a boatload of stuff including FFI (wtf?) that really isn't going to be of any use for this problem, but whatever.

(And, as an aside, does anyone else get a bit irritated by the plethora of ways stuff gets loaded? So far in my recent quest I have had to use metacello #configuration:/#load, #baseline:/#repository/#load, install #project:/#addPackage:/#install, installer #merge:/MaInstaller #merge:, SqueakMap and plain MC loading. Wheee!)

But still no XMLString. The metacello configurations all seem to use 'Xtreams-Parsing-Martin Kobetic.2' in the only reference to any package with a name including 'pars'. The problem with googling for 'XMLString' is the commonality of the dratted word. Once one finds the right key it always seems so obvious... hindsight being so very clear.

I finally found a version of 'monty's xml-parser' on squeakmap which
a) took ages to install
b) overwrites an XML-Parser category we already have in Squeak 5.2, so who knows what gets mixed up
c) does actually, finally, include a class named XMLString. I wonder if it will be friendly?
d) adds *11* new entries to Undeclared! Good grief.

What a mess we've let ourselves get into.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Any nitwit can understand computers.  Many do.



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Chris Cunnington-4
Copy this code into a Workspace and DoIt.

Installer ss
       project: 'MetacelloRepository';
       install: 'ConfigurationOfXMLParser'.
(Smalltalk at: #ConfigurationOfXMLParser) project bleedingEdge load

        wikiGrammar := PEGParser grammarWiki reading.
        wikiParser := PEGParser parserPEG parse: 'Grammar' stream: wikiGrammar actor: PEGParserParser new.
         input := 'Single paragraph with *bold* and _italic_ text and a [link]' reading.
        wikiParser parse: 'Page' stream: input actor: PEGWikiGenerator new

And  you’ll get this.

 <div><p>Single paragraph with <span style="font-weight: bold">bold</span> and <span style="font-style: italic">italic</span> text and a <a href="link.html">an OrderedCollection($l $i $n $k)</a></p></div>

And, yes, that OrderedCollection is an error meaning it didn’t work entirely. To get insight into that, execute this. You will see the process in medias re. The actor has been changed to nil. What this provides is what you need the Actor subclass for.

        wikiGrammar := PEGParser grammarWiki reading.
        wikiParser := PEGParser parserPEG parse: 'Grammar' stream: wikiGrammar actor: PEGParserParser new.
        input := 'Single paragraph with *bold* and _italic_ text and a [link]' reading.
        wikiParser parse: 'Page' stream: input actor: nil

Chris

Judas Priest - Living After Midnight
https://www.youtube.com/watch?v=_gopyByrAtY


> On Aug 6, 2019, at 12:28 AM, tim Rowledge <[hidden email]> wrote:
>
> OK, so allowing metacello to do its thing loaded up a boatload of stuff including FFI (wtf?) that really isn't going to be of any use for this problem, but whatever.
>
> (And, as an aside, does anyone else get a bit irritated by the plethora of ways stuff gets loaded? So far in my recent quest I have had to use metacello #configuration:/#load, #baseline:/#repository/#load, install #project:/#addPackage:/#install, installer #merge:/MaInstaller #merge:, SqueakMap and plain MC loading. Wheee!)
>
> But still no XMLString. The metacello configurations all seem to use 'Xtreams-Parsing-Martin Kobetic.2' in the only reference to any package with a name including 'pars'. The problem with googling for 'XMLString' is the commonality of the dratted word. Once one finds the right key it always seems so obvious... hindsight being so very clear.
>
> I finally found a version of 'monty's xml-parser' on squeakmap which
> a) took ages to install
> b) overwrites an XML-Parser category we already have in Squeak 5.2, so who knows what gets mixed up
> c) does actually, finally, include a class named XMLString. I wonder if it will be friendly?
> d) adds *11* new entries to Undeclared! Good grief.
>
> What a mess we've let ourselves get into.
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Any nitwit can understand computers.  Many do.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Levente Uzonyi
In reply to this post by Chris Cunnington-4
On Mon, 5 Aug 2019, Chris Cunnington wrote:

>
>
>> On Aug 5, 2019, at 10:37 PM, Levente Uzonyi <[hidden email]> wrote:
>>
>> On Mon, 5 Aug 2019, tim Rowledge wrote:
>>
>>> Well after trying to look into the sources delivered from the code.google page with no luck I found the SqueakSource repository version. That seems to have loaded ok but references a class XMLString that I have had no success in finding and is of course Undeclared. Anyone know where it can be found?
>>
>> That's why Xtreams should be loaded via Metacello, so that all dependencies are loaded along with it.
>> Metacello will load monty's version of XML-Parser, which contains the XMLString class (which is still not backwards compatible, so if you need XML for anything else, then you'll have to write a new actor to generate html, but the parser will still be fine as-is).
>> Here's how to do that:
>>
>> 1. Install Metacello from the Docking Bar's Tools menu's Metacello entry
>
> At the risk of being a petty, corrector kind of guy, and because I just tried this out, it’s the Do menu and Installer ensureRecentMetacello. I think I recall a some what long debate about adding this. It’s clearly quite valuable.
It was there a few months ago, but since then it's been moved to
Tools.

>
> Evaluate this first:
>
> Installer ss
>       project: 'MetacelloRepository';
>       install: 'ConfigurationOfXtreams’.

Right, I that step was missing.

>
> And then this:
>
>> 2. Evaluate (Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load
>
> Or it will complain it has no knowledge of a ConfigurationOfXtreams.
>
> I’m pleased to see that PEGWikiGenerator. Sean did a great thing there, because it’s a nice concrete example without having to fish around in VW. There are two other actor subclasses but the are sort of recursive and trippy. Parsers making parsers making parsers and so on.

It's indeed a nice example. Too bad it needs external packages.

Levente

>
> Chris
>
> Anthrax - Got The Time
> https://www.youtube.com/watch?v=be7iNHw8QoQ
>
>
>> Levente
>>
>> P.S.: The actual problem is that people had started to make projects Pharo compatible on squeaksource, often by breaking Squeak compatibility (e.g. SmaCC, and partially Xtreams), and later moved on to smalltalkhub/github, leaving the broken (from both Squeak's and Pharo's POV) code rot on squeaksource.
>>
>>>
>>>> On 2019-08-04, at 7:48 PM, Levente Uzonyi <[hidden email]> wrote:
>>>> Actually, the SmaCC runtime (SmaCC package) still loads. It's just that the dev tools package (SmaCCDev) needs some changes to be up-to-date.
>>>> So, if you have an existing SmaCC-based parser, it probably still works.
>>>> The Xtreams-Parsing package has PEGWikiGenerator, which converts some wiki syntax to xhtml. It uses monty's XML parser, which is a highly extended version of XML-Parser, but it's not backwards compatible with Squeak's version. It loads cleanly into the image, and its 5000+ tests all pass.
>>>> If you don't use the XML-Parser package, loading Xtreams with Metacello will cause no problems for you.
>>>> Another option, as you wrote, is to create a Squeak-compatible PEGActor to generate the html. It should be fairly easy using the PEGWikiGenerator class.
>>>> Levente
>>>> On Sun, 4 Aug 2019, Chris Cunnington wrote:
>>>>> SmaCC doesn’t load into Squeak anymore. As Levente’s post a few back said, the parser to have is in Xtreams. It has a PEG parser with a wiki grammar. You need to  write an Actor subclass for it. [1] The VW package comes with Actor subclass examples (i.e. PEG.WikiGenerator). Chris [1] https://code.google.com/archive/p/xtreams/wikis/Parsing.wiki
>>>>>
>>>>>     On Aug 4, 2019, at 8:33 PM, tim Rowledge <[hidden email]> wrote:
>>>>>
>>>>>     On 2019-08-04, at 5:30 PM, tim Rowledge <[hidden email]> wrote:
>>>>>
>>>>>     So far I've found a lot of big projects that need huge looking piles of infrastructure and mostly Pharo. I'd like something a bit lighter.
>>>>> [snip]
>>>>> Oh, foo; forgot to mention having found an old pointer in ss3 (from 5 years ago!)-
>>>>> (Installer ss3)
>>>>> project: 'SqueakServices';
>>>>> install: 'Swiki'.
>>>>> ... but it isn't there any more and I couldn't find anything that looked like it.
>>>>> tim
>>>>> --
>>>>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>>>>> Useful random insult:- If he were any more stupid, he'd have to be watered twice a week.
>>>
>>>
>>> tim
>>> --
>>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>>> Do files get embarrassed when they get unzipped?
>>

Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge


> On 2019-08-06, at 5:34 AM, Levente Uzonyi <[hidden email]> wrote:
>
> On Mon, 5 Aug 2019, Chris Cunnington wrote:
>
>>> Here's how to do that:
>>> 1. Install Metacello from the Docking Bar's Tools menu's Metacello entry
>>
>> At the risk of being a petty, corrector kind of guy, and because I just tried this out, it’s the Do menu and Installer ensureRecentMetacello. I think I recall a some what long debate about adding this. It’s clearly quite valuable.
>
> It was there a few months ago, but since then it's been moved to Tools.

In my 5.3-18694 image it actually gets listed in the Tools menu as just 'Metacello'. Now, if it were the case that the first time you used it the metacello stuff were installed and thereafter some tool opened, that would be ok. But that isn't what seems to happen; choosse that option again and you get to install metacello again. That seems a poor choice to have in a menu that is basically for opening tools.

>>
>>
>>> 2. Evaluate (Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load
>>
>> Or it will complain it has no knowledge of a ConfigurationOfXtreams.
>> I’m pleased to see that PEGWikiGenerator. Sean did a great thing there, because it’s a nice concrete example without having to fish around in VW. There are two other actor subclasses but the are sort of recursive and trippy. Parsers making parsers making parsers and so on.
>
> It's indeed a nice example. Too bad it needs external packages.

Yeah. Especially one that doesn't load properly from SM despite that being the only load-path I was able to google. There has to be a better way of finding stuff, surely.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Ignorant, and proud of it.



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
In reply to this post by Chris Cunnington-4


> On 2019-08-05, at 10:50 PM, Chris Cunnington <[hidden email]> wrote:
>
> Copy this code into a Workspace and DoIt.
>
> Installer ss
>       project: 'MetacelloRepository';
>       install: 'ConfigurationOfXMLParser'.
> (Smalltalk at: #ConfigurationOfXMLParser) project bleedingEdge load


OK, so yet another "I couldn't spot this with google" moment. What fun.

It does at least load. And then of course I had to load the XTreams stuff because I foolishly thought trying a cleaner image might be smart after all the 'fun' of previous attempts.

>
> wikiGrammar := PEGParser grammarWiki reading.
> wikiParser := PEGParser parserPEG parse: 'Grammar' stream: wikiGrammar actor: PEGParserParser new.
> input := 'Single paragraph with *bold* and _italic_ text and a [link]' reading.
> wikiParser parse: 'Page' stream: input actor: PEGWikiGenerator new
>
> And  you’ll get this.
>
> <div><p>Single paragraph with <span style="font-weight: bold">bold</span> and <span style="font-style: italic">italic</span> text and a <a href="link.html">an OrderedCollection($l $i $n $k)</a></p></div>

Just for fun I did try that in the earlier-dirty image and it failed because somewher it decided that 'link' was an orderedcollection of symbols instead of a string. Made for an amusing crash within XMLWriter>>#write:escapedWith:

In a start-from-clean image it did actually do what your show. Thank you for that. I really think a simpler solution would be nice here. Adding 4Mb to an image for a simple swiki markup parser seems a bit much.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: RDL: Rotate Disk Left



Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Levente Uzonyi
On Tue, 6 Aug 2019, tim Rowledge wrote:

>
>
>> On 2019-08-05, at 10:50 PM, Chris Cunnington <[hidden email]> wrote:
>>
>> Copy this code into a Workspace and DoIt.
>>
>> Installer ss
>>       project: 'MetacelloRepository';
>>       install: 'ConfigurationOfXMLParser'.
>> (Smalltalk at: #ConfigurationOfXMLParser) project bleedingEdge load
>
>
> OK, so yet another "I couldn't spot this with google" moment. What fun.
>
> It does at least load. And then of course I had to load the XTreams stuff because I foolishly thought trying a cleaner image might be smart after all the 'fun' of previous attempts.
Right. I also failed to notice it was for XMLParser instead of Xtreams.
The following should load Xtreams and its dependencies, including monty's
XMLParser into a fresh image:

Installer ensureRecentMetacello.
Installer ss
  project: 'MetacelloRepository';
  install: 'ConfigurationOfXtreams'.
(Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load

>
>>
>> wikiGrammar := PEGParser grammarWiki reading.
>> wikiParser := PEGParser parserPEG parse: 'Grammar' stream: wikiGrammar actor: PEGParserParser new.
>> input := 'Single paragraph with *bold* and _italic_ text and a [link]' reading.
>> wikiParser parse: 'Page' stream: input actor: PEGWikiGenerator new
>>
>> And  you’ll get this.
>>
>> <div><p>Single paragraph with <span style="font-weight: bold">bold</span> and <span style="font-style: italic">italic</span> text and a <a href="link.html">an OrderedCollection($l $i $n $k)</a></p></div>
>
> Just for fun I did try that in the earlier-dirty image and it failed because somewher it decided that 'link' was an orderedcollection of symbols instead of a string. Made for an amusing crash within XMLWriter>>#write:escapedWith:
>
> In a start-from-clean image it did actually do what your show. Thank you for that. I really think a simpler solution would be nice here. Adding 4Mb to an image for a simple swiki markup parser seems a bit much.
I wrote and attached a different actor, which builds a simple dom tree,
which can be turned into a string:

  GoogleWikiCompiler example asString

should give

  '<div><p>Single paragraph with <strong>bold</strong> and <em>italic</em> text and a <a href="link.html">link</a></p></div>'

It has no external dependencies but Xtreams-Parsing, so it doesn't need
monty's XMLParser to be loaded.

Levente

>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: RDL: Rotate Disk Left


GoogleWikiCompiler.st (15K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

Chris Cunnington-4


> On Aug 10, 2019, at 6:04 PM, Levente Uzonyi <[hidden email]> wrote:
>
> On Tue, 6 Aug 2019, tim Rowledge wrote:
>
>>
>>
>>> On 2019-08-05, at 10:50 PM, Chris Cunnington <[hidden email]> wrote:
>>> Copy this code into a Workspace and DoIt.
>>> Installer ss
>>>      project: 'MetacelloRepository';
>>>      install: 'ConfigurationOfXMLParser'.
>>> (Smalltalk at: #ConfigurationOfXMLParser) project bleedingEdge load
>>
>>
>> OK, so yet another "I couldn't spot this with google" moment. What fun.
>>
>> It does at least load. And then of course I had to load the XTreams stuff because I foolishly thought trying a cleaner image might be smart after all the 'fun' of previous attempts.
>
> Right. I also failed to notice it was for XMLParser instead of Xtreams.
> The following should load Xtreams and its dependencies, including monty's XMLParser into a fresh image:
>
> Installer ensureRecentMetacello.
> Installer ss
> project: 'MetacelloRepository';
> install: 'ConfigurationOfXtreams'.
> (Smalltalk at: #ConfigurationOfXtreams) project bleedingEdge load

+1

>
>>
>>>
>>> wikiGrammar := PEGParser grammarWiki reading.
>>> wikiParser := PEGParser parserPEG parse: 'Grammar' stream: wikiGrammar actor: PEGParserParser new.
>>> input := 'Single paragraph with *bold* and _italic_ text and a [link]' reading.
>>> wikiParser parse: 'Page' stream: input actor: PEGWikiGenerator new
>>> And  you’ll get this. <div><p>Single paragraph with <span style="font-weight: bold">bold</span> and <span style="font-style: italic">italic</span> text and a <a href="link.html">an OrderedCollection($l $i $n $k)</a></p></div>
>>
>> Just for fun I did try that in the earlier-dirty image and it failed because somewher it decided that 'link' was an orderedcollection of symbols instead of a string. Made for an amusing crash within XMLWriter>>#write:escapedWith:
>>
>> In a start-from-clean image it did actually do what your show. Thank you for that. I really think a simpler solution would be nice here. Adding 4Mb to an image for a simple swiki markup parser seems a bit much.
>
> I wrote and attached a different actor, which builds a simple dom tree, which can be turned into a string:
>
> GoogleWikiCompiler example asString
>
> should give
>
> '<div><p>Single paragraph with <strong>bold</strong> and <em>italic</em> text and a <a href="link.html">link</a></p></div>'
>
> It has no external dependencies but Xtreams-Parsing, so it doesn't need monty's XMLParser to be loaded.
>

+1

Chris
> Levente
>
>>
>> tim
>> --
>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>> Strange OpCodes: RDL: Rotate Disk Left
> <GoogleWikiCompiler.st>


Reply | Threaded
Open this post in threaded view
|

Re: swiki source suited to recent Squeaks

timrowledge
In reply to this post by Levente Uzonyi


> On 2019-08-10, at 3:04 PM, Levente Uzonyi <[hidden email]> wrote:
>
> I wrote and attached a different actor, which builds a simple dom tree, which can be turned into a string:
>
> GoogleWikiCompiler example asString
>
> should give
>
> '<div><p>Single paragraph with <strong>bold</strong> and <em>italic</em> text and a <a href="link.html">link</a></p></div>'
>
> It has no external dependencies but Xtreams-Parsing, so it doesn't need monty's XMLParser to be loaded.
>

Excellent. That would simplify life a bit.

I spent some fun time trying to work out how on earth the parserparserparserparser (did I go deep enough yet?) works; it's very clever. The problem is that it is edging into the cleverness danger zone - remember that it takes roughly twice as much 'clever' to debug something as it does to write it, and so writing something with all your clever means that you won't be able to debug it.

Eventually I got the hang of enough to spot where the link problem was having trouble. Basically, the Sequence rule ends up making [link] into '[' and #( $l $i $n $k) and ']'. By what I suspect is mostly good luck the xml printing that gets used to convert it into the content of the html anchor tag wants a collection of characters to iterate over rather than just a String to print, so that bit works. The #newText: method wants an actual String; as a hack fix I made that convert the address parameter to an actual String. Now that's all very well and might even be the right solution but it could also be a bug in the source grammar for all I know. It's not like the package is exactly overloaded with helpful comments.

I'll take a look at your googlewiki later; got scaffolding to dismantle and reconfigure for some high altitude painting.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: RC: Rewind Core



12