• [deleted]

Just circling back with an update - the forums at https://forum.phenomlab.com/ are now taking shape on their own - mostly thanks to two new scripts I have written that use the Flarum API. The first one ingests email, breaks each message apart, then creates a post out of it.

This is handy if you're out and about, and are feeling creative. You compile the email, send it to a secured address (one that is not easily guessed or crawled), and let the script work it's magic.

The second is an RSS parser. Phenomlab.com takes a number of technology news feeds and creates posts out of a standard RSS feed. We always provide attribution by including a link to the original article. The real difference here is that we actually discuss the topics rather than just be "force-fed" news.

Of course, I'm keen to get the discussion juices flowing, so please feel free to sign up 🙂 I certainly have a lot to talk about when it comes to technology and security, and you never know, you may just enjoy it as much as I do !

If anyone is interested in my scripts, do let me know, and I'll provide them here with instructions.

    • [deleted]

    • Edited

    [deleted] I am really interested in the rss script 🙂 And i think lots of other people are also

      • [deleted]

      [deleted] great. That's the point of this post. I've been honing this for a while and whilst it's simple, it's also powerful in terms of what you can do with it.

      It's important to know that seeing as RSS feeds vary in terms of update frequency, we need to keep a track of what has been processed and what hasn't. We achieve this with a simple database that sits outside of flarum. As each new item is processed, it's added to the database so that on subsequent runs, we do not process again hence avoiding duplicates. Each RSS item is then parsed, and if there is a URL match, it's skipped.

      Obviously, if you process multiple feeds, you can still land up with some duplicates if you pull similar stories from multiple sources.

        • [deleted]

        [deleted] Alright that sounds interesting.

        12 days later
        • [deleted]

        Another update !

        We've got some great new topics and no longer just limited to security. Come over and take a look !

          • [deleted]

          • Edited

          SezginYILDIRIM Yes, a small enhancement. Do you need the CSS ?

          It's here

          @media (min-width: 992px) {
          .sideNav, .sideNav>ul {
              width: 190px;
              position: sticky;
              top: 80px;
          }
          .sideNav>ul {
              margin-top: 30px;
          }
          }

          Bear in mind that you will likely need to change this to suit your environment - particularly the top and margin-top variables as this has been adapted for the various changes I made to my forum.

            • [deleted]

            SezginYILDIRIM Can you provide the URL of your site ? Additionally, you may need to add !important to the end of the values in the classes, as they may be overridden elsewhere.

              • [deleted]

              • Edited

              SezginYILDIRIM Yeah, I see it. It's because you have overflow:hidden defined, meaning any child DIV cannot work out where the sticky position should start and end.

              Try this

              @media (min-width: 992px) {
              .sideNav, .sideNav>ul {
                  width: 190px;
                  position: sticky;
                  top: 80px;
              }
              .App {
                  overflow-x: visible;
              }
              }
                21 days later

                Im Wondering you did you add the separator in between the tags on the side navigation ?

                  • [deleted]

                  HuseyinKogo By targeting the tag ID's and adding a bottom border - see below for an example

                  li.item-tag23 {
                      border-bottom: 1px solid #313131;
                      margin-bottom: 10px;
                      padding-bottom: 10px;
                  }

                  Hope this helps