• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

World: r4wp

[Web] Anything related to the WWW

REBOL 2 is no use to me because it would never run on Syllable, and 
REBOL 3 still only has a GUI for Windows and Amiga, so it hasn't 
been useful for me to make a VID frontend
(from #Red) - Arnold, which version of Make Doc are you using? I've 
many iterations of MD that I've hacked away at over the years, perhaps 
I'll have something that will be easier to hack?  Most recent version 
I put together for the 'Notes For the Road' site, has some nice features 
- currently hacking at it again for a more ambitious QM project...
Chris, I am stil figuring this out. I want bold/italic/(underline)/(em) 
paragrapphs separated with a blank line (easier to understand and 
no need to delete a routinely typed 'return'-key) h1/h2/h3 img (inline/left 
right center aligned) and a-href, only 1 level of bullits, and I 
think I can come along without numbered sections. I was thinking 
about mark-up delimiters on the beginning of the line like === ==+ 
==- ==* ==#   I kind of liked \note and /note or /code but everybody 
will forget if the first one will be fore or backslashed so I guess 
the indented version to produce code. Plus I want the markup to be 
from a css file. No need to make this within the script because the 
template/and a script can take care of where and which to link to. 
That's about it.
Doesn't sound too onerous - I'd say most of the changes could be 
made to the parser, then tweak the emitter to get the output you 
want. Do you have a sample document? Is this the version you're using? 
- http://reb4.me/r/xhtml
(or tried?)
This is a new version to me. I was still busy figuring out most of 
the used parses.
I tried some today, not satisfactory results yet.
figured out the line write %mijndoc.html╩gen-doc read %mijndoc.txt
makedoc2 results on the other hand were nicer but that was not it 
The structure of MD since v2 is a separation of scanner and emitter. 
'scan-doc will break text into a block of [style content] pairs. 
'gen-doc will take that block and turn it into something, most commonly 

The features of your doc - using your ==+, ==#, etc. are in the spec 
of the parser. Loosely explained, the parser's rule 'resets' when 
it encounters a newline.  It defines a few paragraph types that copies 
chunks of text (including 'paragraph that consumes text AND single 
newlines).  The rest of the rule determines the paragraph style and 
expected paragraph type:

  "===" text-line (emit sect1 text)

Could just as easily be:

  "==+" paragraph (emit my-bold-paragraph para)

The way a document is presented is all in the emitter. Seems this 
is where you seem to be yearning for most control. My first motivation 
using MakeDoc was stripping it of any styles - I just wanted a minimum 
of HTML markup that could be embedded and properly moulded by CSS. 
In my script above, I iterate through the [style content] list and 
use 'switch to determine how to handle each, this should be sufficient 
for documents without any complexity. It's really then just a case 
of modifying the HTML that is emitted.

Example of script used in RSP (exposes [escape-html scan-doc gen-doc]):

  <link rel="stylesheet" href="http://ross-gill.com/styles/anywhere.css">
  <% do http://reb4.me/r/xhtml%>

  <pre><code><%= mold doc: scan-doc some-input-text %></code></pre>
  <%= gen-doc doc %>

How it looks depends on the stylesheet you use.
I really should update that script though - a succinct version of 
make-doc though it is, it could use a bit of a refresh.
Chris: I'm trying to use oauth with Salesforce, can you help me about 

I have consumer-key and consumer-secret, but where do I set login_url? 

I'm trying your Etsy with Salesforce. I thought that I at least should 
be able to login.
I get "** User Error: Handshake Response does not contain Login URL" 
when I try etsy/as "username"

Is this the API you're trying to access?  Looks as if it uses OAuth 
2.0 (Etsy and Twitter are 1.0) - I'm not fully aware what the differences 
are.  Note that even though Twitter and Etsy both use the same signing 
method (OAuth), they differ in how you get the user key - looks as 
if this one is different again...
Hmm, that came across as unreadable here : ) - here it is again:


Is this the API you're trying to access?  Looks as if it uses OAuth 
2.0 (Etsy and Twitter are 1.0) - I'm not fully aware what the differences 
are.  Note that even though Twitter and Etsy both use the same signing 
method (OAuth), they differ in how you get the user key - looks as 
if this one is different again...
They're quite different
Ok, in an effort to disentangle some of the OAuth code from specific 
implementations, here is an *experimental*, *largely untested* port 
scheme that does just that.
do http://reb4.me/r/oauth


probe-lowercase: func [str [string!]][
    lowercase copy str

read [
    scheme: 'oauth
    target: 'get
    url: test-site
    user-data: context [a: "Foo"] ; params
    key: make key [
        consumer-key: consumer-secret: "Your Keys Here"
    user: make user [token: secret: "Your User Keys Here"]
    awake: :probe-lowercase ; result processor, like :load-json
(obviously you'll need to change the test-site to your own test service)
I'm pretty sure this is a grevious abuse of R2's port system, but 
it does mean there is no new global words.
Yey! Works with Twitter!!
do http://reb4.me/r/oauth
do http://reb4.me/r/altjson

tm: read [
	scheme: 'oauth
	url: https://api.twitter.com/1/statuses/home_timeline.json
	target: 'get
	user-data: context [count: 10]
	key: make key [
		Consumer-Key: #consumer_key
		Consumer-Secret: #consumer_secret
	user: make user [
		token: #user_key
		secret: #user_secret
	awake: :load-json
Endo, I don't think this will help you with Salesforce, but breaking 
the OAuth part out should make it easier to adapt to OAuth 2.0.
Wow thanks a lot Chris! Thanks for separating OAuth port scheme, 
unfortunately I'm not familiar with OAuth but I'll try it with Salesforce. 
Thanks a lot!
I know, I already read it. But SF uses OAuth 2. :(
Is GET supported in read/custom ?
print read/custom http://localhost/test.rsp[get "a=b&c=d"]
Or should I use Graham's custom http?
Read is GET
I tried to change the method without changing the URL when switching 
POST and GET. Didn't work. Anyway, not a problem.
not sure why you want read/custom for unless you're altering the 
header contents
read http://localhost.rsp?a=b&c=d
read/custom http://localhost.rsp?a=b&c=d[ header [ Cookie: "authtoken=anotherfoo" 
There are different authentication methods on Salesforce, so I'm 
just testing.
I am new to Git. I'd like to use it (or something similar) to keep 
a distributed copy of a web app I am developing. I'd like copies 
on two local systems (laptop and desktop) with the possibility of 
sharing with another developer based far away and deploying the app 
on my web host.

I sort of get the concept (at least the part about commits, etc), 
but am not really sure how to keep everything in sync. Is it worth 
using a hosting service like GitHub or Bitbucket (I know that perhaps 
defeats the purpose) to assure availability or figuring out how to 
use the web host for this purpose?
You may want to try Fossil. It's much easier to run your own server
To "keep everything in sync" with Git, you have have to do pairwise 
syncs. Each pairwise sync can be initiated from either side, the 
respective commands being "fetch" (from remote to local) and "push" 
(from local to remote).

If you want to keep many separate sites in sync, mediating the sync 
via a central host makes sense (as it avoids the exponential explosion 
of pairwise syncs).

If you have SSH access to your web host, using your web host for 
a central Git repository is trivial (assuming you have - or can get 
- Git installed on the web host).
In this one case, the host has instructions to set up Git on a subdomain. 
I'd have to consider it as it doesn't appear to be private.
Thanks Kaj, will look it over...
I'm trying out BitBucket with Git for now, the control over who can 
update being for now the deciding factor.  I have the following setup 
in mind:


(sorry, bit of a crude sketch)

It's entirely probable that I'm using it naively and/or inefficiently, 
but so far I have the ME and BITBUCKET parts working just as I would 
have hoped. I'm pretty sure there's a million intricate parts to 
learn, but feel this is a good start. Am I overlooking anything obvious?
If I set up the link to the web host from the ME area, does that 
become available to the collaborator? (don't want it to)
Looks like a sensible setup.

No, if you link from ME to HOST, that doesn't become available to 
Apple's web animation compression :) https://docs.google.com/document/pub?id=1GWTMLjqQsQS45FWwqNG9ztQTdGF48hQYpjQHR_d1WsI
Does anyone know how I can pre-process an Apache2 configuration and 
store it in a single file?
No, but don't try to use any GPL licenced tools to do it ... (ba 
dump bump)
(or something like that)
Not sure exactly what you mean Robert. I've written tools to generate 
Apache configs, if that's along the lines of what you're doing.
Evgeniy Philippov
To start some new discussions, 1) I like Squeak/Pharo Smalltalk's 
AIDA/Seaside systems. Hope to to practice them in realworld soon 
(creating a community site)... 2) I'm coding a new Oberon system 
 which will be able to do one of the following at once: a) interpret 
oberon b) translate oberon to x86 machine code c) translate oberon 
to javascript. This is a very long-term project, but I get excellent 
support from the oberoncore.ru community, and am actually making 
good progress. Current oberon project status is c++ sourcecode-based 
ssystem interprets oberon, interpreter has many temporary stubs.
The license for oberon project is GPLv3 or later.