Annotation of wikisrc/projects/project/apropos.mdwn, revision 1.1

1.1     ! jmmv        1: [[!template id=project
        !             2: 
        !             3: title="Apropos replacement based on mandoc and SQLite's FTS"
        !             4: 
        !             5: contact="""
        !             6: [tech-userlevel](mailto:tech-userlevel@NetBSD.org)
        !             7: """
        !             8: 
        !             9: mentors="""
        !            10: [Jörg Sonnenberger](mailto:joerg@NetBSD.org)
        !            11: """
        !            12: 
        !            13: duration="3 months"
        !            14: 
        !            15: description="""
        !            16: NetBSD ships a lot of useful documentation in the form of manual pages.
        !            17: Finding the right manual page can be difficult though.
        !            18: If you look for a library function, it will sometimes fail, because it is part of a larger manual page and doesn't have a MLINKS entry.
        !            19: If you look for a program, but don't know the exact name, it can be hard to find as well.
        !            20: 
        !            21: Historically, the content of the NAME section of each manual page has been extracted and put into a special file.
        !            22: The apropos command has been used to search this file based on keywords.
        !            23: This brings severe limitations as it restricts the list of potential matches significantly and requires very good descriptions of the content of a manual page in typically one line.
        !            24: 
        !            25: The goal of this project is to provide a modern replacement based on the [Full Text Search of SqLite](http://sqlite.org/fts3.html).
        !            26: The most basic version of the new apropos builds an index from the text output of [mandoc](http://mdocml.bsd.lv/mandoc.1.html) and queries it using appropriate SQL syntax.
        !            27: Some basic form of position indications should be provided as well (e.g. line number).
        !            28: 
        !            29: A more advanced version could use the mandoc parser directly too.
        !            30: This would easily allow relatively precise position marks for the HTML version of manual pages.
        !            31: It would also allow weighting the context of a word.
        !            32: Consider Google's preference of URLs that contain the keywords or documents containing them in the head lines as an example.
        !            33: 
        !            34: Another idea is to use the index for directly handling manual page aliases.
        !            35: This could replace the symbolic links currently used via the MLINKS mechanism.
        !            36: The aliases can be derived automatically from the .Nm macros in the manual page.
        !            37: """
        !            38: ]]
        !            39: 
        !            40: [[!tag gsoc]]
        !            41: [[!tag easy]]
        !            42: [[!tag userland]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb