On Wed, Oct 26, 2016 at 10:21 AM, Rob Beezer <[email protected]> wrote:
> Thanks very much, Harald.
>
> On 10/26/2016 09:40 AM, Harald Schilly wrote:
>>
>> Hello, do you mean normal anchor links? Usually, that makes no sense,
>> since in many codemirror based editors those parts of the document
>> aren't part of the webpage at all -- they only show the region where
>> you're currently in (performance, etc.)
>
>
> Yes, I'm trying to duplicate how a cross-reference would work in HTML from
> one page to another, when you want to land at a definite place.  I'm not
> surprised that this is not so easy, since CodeMirror does not have the whole
> file/page.
>
>> What I can offer is a way to reference a concrete line number in such
>> an editor. Here is the slightly dusted ticket:
>> https://github.com/sagemathinc/smc/issues/161
>>
>> I'm aware that this ticket doesn't solve what you want to accomplish.
>
>
> If I could predict the line numbers of the targets of the pages I'm building
> in advance, then this might work.  But at this moment I think that is way
> too complicated to predict, especially since the line count includes the
> rendered HTML.

Fortunately -- no, it doesn't.

The codemirror line numbers exactly match the lines numbers of the
sagews file you're generating.  The entire rendered output is always
single line.


> Is there any intermediate step on the CodeMirror side that
> would translate an identifier of some sort from the origin page to a line
> number of the target page?  The search/replace functionality or the
> bookmarks?  In other words, I can write *anything* into the
> link/cross-reference and I can write *anything* in the vicinity of the
> target, and these can share a unique identifier.  But I'm going to guess
> that to go from one to the other would take some non-trivial Javascript to
> work through the CodeMirror API to get a line number from the target page.

We could provide a full-text search ? feature, e.g.,

   ...filename?find='blah'

that jumps to the first instance of that search term.

>
>> My take is: we should strip away everything beginning from the
>> hash-sign to the end when opening a URL. That should be a small change
>> to avoid such a stupidity. Second, would you expect that such a file
>> is being created when you land on the page, or rather to be told that
>> the file doesn't exist?
>
>
> For SMC, a short-term fix would be to strip the post-# part for an
> internal/relative URL.  If the target page/worksheet does not exist, I'd
> expect to get back "... does not exist" rather than creating a new empty
> one.
>
> For my textbook project, the best thing to do now is to break the book into
> small units (subsubsections?) up to whatever granularity an author provides,
> and not even try to include a #-fragment in the URL.  Then the reader will
> need to scan/scroll the target page for what they expect to find.
>
> Many (all?) of these cross-references in HTML are implemented as knowls.
> I'm just assuming having knowls inside SMC is a big job best saved for later
> (or maybe always a bad idea within CodeMirror).  But as somebody who is
> knowledgeable about knowls, I'd be very interested in your opinion on the
> feasibility of that.
>
> Thanks again for the reply.
>
> Rob
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-cloud" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-cloud/MTAwMDAyOC5iZWV6ZXI.1477502477%40quikprotect.
>
> For more options, visit https://groups.google.com/d/optout.



-- 

Best Regards,
William Stein

CEO, SageMath, Inc.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-cloud" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-cloud/CA%2BjwZMivzYFj53X3rStEm8pn5oqbbVK7s7Ofy8WeSzoaPzwUAw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to