• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics in ~tildes with the tag "development". Back to normal view / Search all groups
    1. Resources and help for setting up a Tildes dev environment

      I've been trying to set up a dev enviornment for Tildes, mainly so that I can actually test my MR (!136), and I've been running into a few issues. However, since we also have a new influx of...

      I've been trying to set up a dev enviornment for Tildes, mainly so that I can actually test my MR (!136), and I've been running into a few issues.

      However, since we also have a new influx of people who might be interested in contributing to Tildes, it seems like a good time to collect resources on setting up the dev environment, as well as helping anyone running into issues.

      So, if you have issues or advice, post them here! I'll be adding my questions in a comment shortly.

      Relevant wiki pages:


      Edit: A more recent post on setting up the dev environment on Apple Silicon / M1 Macs

      36 votes
    2. Tildes fundraiser June 2023: Encourage an app developer (me) to work on a Tildes app faster, by donating to Tildes (not me)!

      Hey Tildes, with the renewed interest in the site, it got me thinking that we should hold a fundraiser for the not-for-profit company—which currently consists of just one person—that runs Tildes....

      Hey Tildes, with the renewed interest in the site, it got me thinking that we should hold a fundraiser for the not-for-profit company—which currently consists of just one person—that runs Tildes. It's overdue.

      Disclaimer: These are my words as a member of the community. I haven't run this message by the admin before posting. I may have gotten some details wrong.

      Where to donate

      History

      A bit of history: The site admin, @Deimos ran the first three years of the site working full-time on it, paid only by donations, plus a $5000 GitHub sponsor match one year, which I'm not even sure was fully achieved, or only just barely.

      For that time period 2018-2020, a lowball salary as a software engineer with his experience would have been $100,000 USD per year not including benefits.

      If he received $5000 in donations per year (almost certainly an overestimate for more recent years) plus the $5000 GitHub match for the first year—for the 5 years of Tildes' life, that's about $30,000.

      The remaining opportunity cost of $270,000 was essentially paid out of pocket by himself, as a donation to the community. Plus remember there are server expenses, legal incorporation expenses, etc. And, y'know, rent.

      In recent years he had to take a full-time job because the situation was, of course, unsustainable.

      App?

      I announced in April that a mobile app is under development. Originally, I was planning to take my time and release a first alpha by the end of 2023.

      How about if we struck a deal: get the donation numbers up and I will devote more time to the app, as opposed to splitting my time between it and contract work and other projects.

      What's the deal?

      • 150 active donors combined on GitHub Sponsors and Patreon—I'll release an alpha by November.
        GOAL REACHED
      • 300 active donors—I'll release an alpha by October.
        GOAL REACHED
      • 500 active donors—I'll release an alpha by September.

      The dollar amounts don't matter.

      As of writing, we are at 46 active donors.

      What's in it for you, though?

      Feeling like I did a good deed, I guess? I'm not looking for a "slice of the pie," to be clear. In some sense I'd be matching your donations with my time, aka opportunity cost.

      If I donate, can I bother the admin to work more on the site?

      No.

      Again, I haven't run this fundraiser by the admin. He will certainly keep his full-time employment for the foreseeable future, and will not magically have more hours in the day to devote to Tildes.

      With a sustainable budget, though, a lot can happen in the future. Contracting out work to others, for example.

      But the point of this fundraiser is more to make a small dent in the past debt we owe the admin, not making any promises whatsoever on the future of the site and how it's run.

      Let's go, my fellow Tilderinos!

      313 votes
    3. How to contribute a theme to Tildes

      Want to contribute a theme to Tildes but don't know where to start? Let's fix that. Before we start, get yourself a development environment setup and do a quick read through of the general...

      Want to contribute a theme to Tildes but don't know where to start? Let's fix that.

      Before we start, get yourself a development environment setup and do a quick read through of the general development info to get acquainted with how Tildes works (or at least the HTML and CSS section).

      For this walkthrough I'll be using tildexample as the example name for the theme, but if you decide to contribute a theme for real, make sure it uses the proper name of your theme. :P

      Step 1: Sassy _Sass

      Open the Tildes codebase using your text editor of choice and navigate to the themes directory at tildes/scss/themes. Then create a copy of _default.scss at _tildexample.scss. The default White theme is the canonical source of all colors used, so it's the best place to start from.

      Below is an annotated example of all the things you need to change in your new theme file.

      Annotated example theme
      // Add a small description of the theme here with maybe a link to its website.
      // Check the other themes for examples. https://example.org/tildexample
      
      // Change the theme variable to $theme-tildexample
      // ↓ ↓ ↓ ↓ ↓ ↓ 
      $default-theme: (
        // A whole bunch of color definitions, edit as your theme demands.
        // ...
      );
      
      // Append ".theme-tildexample" to the body selector.
      // ↓ ↙
      body {
        // Don't forget to update the theme variable here too.
        //                  ↓ ↓ ↓ ↓ ↓ ↓ ↓
        @include use-theme($default-theme);
      }
      
      @include theme-preview-block(
        // Change the text to tildexample.
        // ↓ ↓
        "white",
        // And again update the theme variable here.
        //       ↓ ↓ ↓ ↓ ↓ ↓ ↓
        map-get($default-theme, "foreground-primary"),
        map-get($default-theme, "background-primary")
        //       ↑ ↑ ↑ ↑ ↑ ↑ ↑
      );
      

      Once that's done, head to tildes/scss/styles.scss and at the bottom of the file add your theme import:

      @import "themes/tildexample";
      

      Step 2: Hardcoding a TheMe coLor

      Boy that title is a stretch just to say, we need to add 2 lines to the HTML base template.

      Inside the tildes/tildes/templates/base.jinja2 file is a section of if/elif/elif/elif/... statements to set the theme color meta element. Add yourself an elif block and add your theme color.

      For this you probably want to use the background-primary color you used in your theme definition. I've used #ff00dd below because it spells food. I'm such a jokester.

      {% elif request.current_theme == "tildexample" %}
      <meta name="theme-color" content="#ff00dd">
      {% endif %}
      

      Step 3: Snakey Wakey

      Finally the last step is to grab your trusty pungi and give it a blow.

      Head to tildes/tildes/views/settings.py and find the THEME_OPTIONS constant. Here you want to add the theme class you used in body.theme-<this part> and a proper name that will be shown in the theme dropdown.

      THEME_OPTIONS = {
          "white": "White",
          # Many other themes...
          "tildexample": "Tildes Theme Example",
      }
      

      Once that's all been done, check it out in your development site and see if it works.

      Now git!

      Commit. Push. Merge request. Have some water. Deimos reviews, merges and deploys your theme. Job's done.

      26 votes
    4. Where to ask Tildes dev questions?

      If I have a quick Tildes dev question, where should I ask it? For an example that is not actually just an example, but the actual question which drove me to post, where can I found logging output?...

      If I have a quick Tildes dev question, where should I ask it?

      For an example that is not actually just an example, but the actual question which drove me to post, where can I found logging output? Specifically, if I want to print out something every time a request comes in, how should I do so?
      18 votes
    5. Tildes dev environment on Apple Silicon // Apple M1

      I'm having some trouble getting the local developer environment set up on Apple hardware, specifically it seems because Virtualbox, which is used as the provider, is not properly functioning on...

      I'm having some trouble getting the local developer environment set up on Apple hardware, specifically it seems because Virtualbox, which is used as the provider, is not properly functioning on Apple hardware.

      Is there anyone here who has managed to get it up and running?

      29 votes
    6. Tildes is still in alpha-testing. It’s an unfinished product. Set your expectations accordingly.

      Someone mentioned elsewhere that they signed up for Tildes “years ago during the beta”. That reminded me: Tildes hasn’t reached beta-testing yet. Officially, Tildes is still in alpha-testing...

      Someone mentioned elsewhere that they signed up for Tildes “years ago during the beta”. That reminded me: Tildes hasn’t reached beta-testing yet.

      Officially, Tildes is still in alpha-testing phase.

      The login page says “Tildes is currently in invite-only alpha...” And the Contact page says “To request an invite to the Tildes alpha...”

      We’re still in alpha-testing. Alpha-testing of software usually happens on an incomplete product before it is released to the customer.

      This is a very important point. Tildes is not feature-complete yet: there are literally hundreds of feature requests yet to work on before Tildes will be what people want it to be – and even that list is far from complete. In Agile software development terms, Tildes is a minimum viable product, or, in other words, “a version of a product with just enough features to be usable by early customers who can then provide feedback for future product development”.

      Tildes works as it is, but it’s a bare-bones forum: you can post, and comment… and that’s about it. It’s a proof of concept. There are a few minor tweaks here and there, which give the impression that Tildes is more complex than it is, but they’re misleading. There are plans to make Tildes a more complex website but, right now, most of that complexity of Tildes exists only in people’s imaginations (and there have been some very imaginative people contributing to that list of future features!).

      Most questions about “Why doesn’t Tildes do X?” or “Can Tildes do X?” can be answered simply by saying “Tildes is incomplete and X hasn’t been built yet.” There are some questions about missing features which can be answered by saying “Tildes was never intended to do X”, but those are far and away in the minority. Most flaws, drawbacks, and problems with Tildes exist because Tildes is still a proof of concept, rather than a finished product.

      It’s also worth noting that Tildes’ current feature set is absolutely not up to the task if the user base and site activity increase too quickly. There’s too much manual tinkering required at the moment to make things work properly: for one thing, there are no significant moderation tools on Tildes (that’s almost all done manually at the moment). There are still a lot of features yet to be built - and we don’t even know what some of those features are yet!

      To pre-empt the people who will rightly point out that Tildes is 5 years old: Tildes’ feature set was intended to grow gradually over time, in line with a gradual growth in users, activity, and the need for those features to exist. However, Tildes has not undergone much growth over the past few years, so the existing features were sufficient to manage the existing activity. Basically, the site didn’t need a lot of fancy features to handle the low traffic here.

      This sudden surge of new users might change that. But it will take time to build more features. That was always the intention, and it hasn’t changed now.

      Until then: Tildes is still in alpha-testing. It’s an unfinished product. Set your expectations accordingly.


      EDIT:

      If you're one of the many people who seem to be replying to this topic, saying "it's okay, I like this simple bare-bones site as it is"... then you're probably not part of my original intended audience for this topic. This topic was aimed at all the people who are arriving here, being taken aback at how simple Tildes is, and wondering where the advanced features are.

      However, we can still take the "set your expectations accordingly" message and apply it to you: "Tildes is an unfinished product, so you can expect it to change in the future. It won't be like this forever."

      Either way, "set your expectations accordingly" is the message here, whether you're expecting more features and not finding them, or whether you're expecting simplicity and enjoying what you see. Either way, you should know that things will change around here. Maybe slowly. Maybe quickly. Maybe they'll get better from your point of view. Maybe they'll get worse from your point of view. But, change they will.

      151 votes
    7. My thoughts and ideas for Tildes

      I have lots of thoughts about Tildes that I end up forgetting. This post is my attempt to put them to good use. Some of those were already stated elsewhere. Introduction Just to make it very...

      I have lots of thoughts about Tildes that I end up forgetting. This post is my attempt to put them to good use. Some of those were already stated elsewhere.

      Introduction

      Just to make it very clear: I am extremely happy with the way things are going on Tildes. If that was not the case, instead of drawing criticism I would simply not be here. So, please, let's be civil and avoid taking things personally ;)

      I'm also a regular user, so please be gentle with my ignorance regarding the technical reasons why some things are either impossible or unpractical.

      1. An Answer To A Common Objection

      Some of these suggestions may encounter the following answer: "this should be an extension, not a core feature". To which I might respond:

      1. Extensions impact performance and it's good practice to keep them at a minimum
      2. Not everyone uses the same browser.
      3. Features implemented by the actual developers will probably be of a better quality

      2. Golden Rule

      Unless explicit or clearly unpractical, all suggestions should be interpreted as to be as optional (and preferably opt-in) as possible for the user. I'll also make frequent use of the imperative mood: please understand that those are still suggestions. The imperative mood is just more practical. Also, notice that this is not my first language.

      3. Suggestions

      3.1 Keyboard Shortcuts

      The majority of Tildes users would probably welcome a good set of keyboard shortcuts. I apologize if such keyboard shortcuts already exist: if they do, there should be a page listing them all.

      3.1.1 Vim-like and Emacs-like keybindings

      There should be Vim-like and Emacs-like (you could choose which one!) keys all around. Even with things like Vimium, not everyone uses them, and a well-thought-out set of keybindings would be extremely beneficial.

      This also applies to text fields.

      4. Open Calls For Moderators

      Right now, I'm not sure what criteria are being used to give someone moderator powers. I think being a developer or contributor is the main criterion, which makes a lot of sense. But other participants might be up to the task, and giving them a chance could be beneficial.

      5. Moderation Action Should Always Present Reason

      This may seem obvious and even unfair, but I think when a moderator is in no condition to dedicate the time to justify their moderation action (such as locking threads, removing contents or banning users), then the moderator should wait until this condition is met in order to take action.

      6. Heated Discussions Should Be Allowed in More Circumstances

      I understand Tildes is, and should always be, a place for politeness, even affectionate discussion, but sometimes heated language, including irony and sarcasm, are necessary to stress a point and take the discussion forward. I understand that's a fine line, and that is usually better err on the side of caution, but I also feel the need to caution my fellow Tilders and Tildes administration against excessive moderation, which could stifle the discussion of sensitive subjects

      7. There Should Be a Page Explaining How to Collaborate

      This page should be short and to the point, with lots of links. I, for instance, wanna collaborate in the documentation, but the information telling how to do so was in a comment I cannot find anymore.

      8. Table of Contents

      Tildes markdown should support the automated creation of a simple table of contents, which would be very useful for longer posts. Preferably, there should be a limited set of options, such as:

      • title of the table of contents ("TOC", "Table of Contents", "Contents" etc)
      • numbered vs unnumbered
      • depth of the numbering

      9. Search own content

      I find very hard to search my own content. Sometimes I must reference something I said earlier, or adapt a previous response to a question I already answered. On these occasions, I have to manually Ctrl+f page after page of my user page, which is tedious and inefficient.

      10. Sort my own content

      I wish I could sort my own content in the same manner I can with other pages. This would help with item 9, and also help answer faster to comments that were recently made.

      11. Notifications

      I wish it was possible to op-in desktop notifications for Tildes to show me whenever I get an answer to a thread, a comment or a private message.

      Correction: I'm not referring to Email notifications, but desktop notifications. The ones that appear occasionally on your browser or screen.

      12. There Should Be Space for Comedy

      I'm not saying Tildes should become a place for lazy memes and endless puns, but comedy is valuable content and I don't like the idea of Tildes being a more conversational version of Stack Overflow. I fully agree with @deimos vision for a website for meaningful interactions with a focus on privacy. I just don't think comedy is necessarily a menace to this and all the other Tildes' stated goals. Right now, we're a very serious bunch of folks. There should be a place for humor in Tildes. How would that work? IDK. I leave this open for discussion.

      13. Link to Excerpt

      It would be awesome being able to link not just to a particular comment, but to a selection of that particular comment. After linking to the excerpt, I would go to the full comment, but the excerpt would be highlighted.

      Conclusion

      This is more of a collection of thoughts than an article, therefore I cannot offer a proper conclusion. But I'd like to kindly ask my fellow Tilders to give some considerations to my ideas. And please understand that they are not complaints. It's just may to contribute to this great community.

      Cheers ;)

      18 votes
    8. Why is Tildes not on Github?

      Let me make a possibly unpleasant question: why is Tildes only on Gitlab? Do you self-host? Is it because of Microsoft? Or idealistic reasons (that I would totally 100% respect)? Github and...

      Let me make a possibly unpleasant question: why is Tildes only on Gitlab? Do you self-host? Is it because of Microsoft? Or idealistic reasons (that I would totally 100% respect)?

      Github and Microsoft may be "evil", but that's where everybody is. I'm 99% more prone to post an issue on Github than on Gitlab. I know it's "wrong", but that's also true and not just for me. Couldn't Tildes have at least some presence on Github? Is it possible for a mirror to get issues? (I really don't know, honest question). And why not just move to Github, mirror to Gitlab and have some super-reliable backup?

      This would give Tildes more exposure (maybe Tildes doesn't want more exposure right now. That's entirely understandable). But Github is where things happen, and I really want Tildes to happen. And, even if Github ever turns evil (or already is), couldn't we just fork/transfer/whatever to someplace else? Or just use the backup? What's the downside?

      9 votes
    9. Feature request: Use "/t/" in alternative to "~" in the url of a tilde.

      My title sucks, couldn't word it better. So, I hate having to use the tilde char. Doing tildes.net~tildes is much harder for me than tildes.net/t/tildes. It would be cool if tildes also supported...

      My title sucks, couldn't word it better.

      So, I hate having to use the tilde char. Doing tildes.net~tildes is much harder for me than tildes.net/t/tildes. It would be cool if tildes also supported using "/t/". I am not suggesting to remove the "~", but make one redirect to the other.

      22 votes
    10. Tildes Docker Image

      Looking at the development setup page, the suggested setup is to use vagrant to create and provision a VM. Out of curiosity, is there a reason for this preference over setting up a Tildes Docker...

      Looking at the development setup page, the suggested setup is to use vagrant to create and provision a VM. Out of curiosity, is there a reason for this preference over setting up a Tildes Docker image inside the repo? Tildes seems like a pretty simple and straightforward web app, it shouldn't be difficult to create. Is it just a developer preference of Deimos/Tildes devs? Or is there a logistical reason?

      9 votes
    11. Tildes mobile app

      I wasn’t able to find a discussion on this, though I’m sure there has been, and for that, I apologize. Is there any kind of timeframe on the release of a mobile app for tildes? I would guess that...

      I wasn’t able to find a discussion on this, though I’m sure there has been, and for that, I apologize.

      Is there any kind of timeframe on the release of a mobile app for tildes?

      I would guess that on Reddit most of their traffic comes from people accessing the site on their phones at this point, but I could be wrong. In any case, it certainly is a large portion of the users that access the site in this way.

      With that in mind, it would be nice to be able to access tildes from a mobile app to do away with the clunkiness that comes with using the site through a mobile browser. I don’t mean to sound like it’s terrible. The site functions well enough through a mobile browser, but it would certainly have me using tildes a lot more if the convenience of a mobile app was available.

      I’m sure the developers are very busy, and I don’t want to sound demanding, I’m just curious.

      And once again, I apologize if this has been discussed recently.

      21 votes